DeepCTR专题:DeepFM论文学习和实现及感悟
论文地址:https://arxiv.org/pdf/1703.04247.pdf
CTR预估我们知道在比较多的应用场景下都有使用。如:搜索排序、推荐系统等都有广泛的应用。并且CTR具有极其重要的 地位,特别相对广告推荐领域来说更加如此,竞价广告需要通过ctr给出相应的价格,并由此获得广告曝光的机会。而ctr的大小决定了出价的高低,直接会影响到该广告是否能得到曝光机会。这里涉及到计算广告相关的知识,暂时就不展开讲了。这里主要介绍一下DeepFM该算法的基本原理和网络框架。
论文总体来看还是相对比较容易的,主要分为三个部分:
第一部分:算法的主要背景
第二部分:DeepFM的基本网络框架和原理
第三部分:实验(papers必须有的部分)
下面分别从我个人理解的角度来说说每个部分吧:
1、DeepFM算法的背景
(1)首先我们同样要回顾一下FM算法的基本原理,FM主要是在LR的基础上增加了二阶交叉项的概念,从而可以获得一些轿车特征。但是算法每个特征两两交叉的话,算法复杂度是O(n平方),
所以,为了优化FM算法,将矩阵分解应用其中。
FM的缺点是:
1)仅仅两两之间的交叉特征
2)只能获得二阶交叉的特征,对于高阶特征并没有涉及
(2)从16年wide-deep算法中,或多或少的作者受到了一些启发,于是想到可以对FM算法利用深度学习进行优化,预计就提出了DeepFM算法。
2、DeepFM算法的基本原理(个人觉得还是比较简单的)
(1)总体网络结构

网络结构中,主要包含Deep部分和FM部分,网络结构类似Wide-Deep结构。
(2)算法的原理
首先网络最终输出是:
其中,FM部分如下所示:

Deep部分如下所示:

网络就是这么简单,就是讲这两部分的输出进行求和并输出。
3、实验。实验部分可以学习别人调节参数的经验。
(1)Dropout设置:

从作者的实验来看,dropout设置为0.9效果最佳
(2)隐藏层数设定

从上图来看,作者实验数据表明,隐层数量=3效果最佳
(3)隐藏层神经元个数
神经元个数的变化: constant (200-200-200), increasing (100-200-300),decreasing (300-200-100), and diamond (150-300-150)

DeepCTR专题:DeepFM论文学习和实现及感悟的更多相关文章
- DeepCTR专题:Neural Factorization Machines 论文学习和实现及感悟
papers地址:https://arxiv.org/pdf/1708.05027.pdf 借用论文开头,目前很多的算法任务都是需要使用category feature,而一般对于category f ...
- Objective-C专题,是学习iOS开发的前奏(转)
第一个OC的类 来源:http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的 ...
- Faster RCNN论文学习
Faster R-CNN在Fast R-CNN的基础上的改进就是不再使用选择性搜索方法来提取框,效率慢,而是使用RPN网络来取代选择性搜索方法,不仅提高了速度,精确度也更高了 Faster R-CNN ...
- 《Explaining and harnessing adversarial examples》 论文学习报告
<Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新 赖妍菱 周子玉 2020-03-27 1 背景 Sz ...
- 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集
A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...
- Apache Calcite 论文学习笔记
特别声明:本文来源于掘金,"预留"发表的[Apache Calcite 论文学习笔记](https://juejin.im/post/5d2ed6a96fb9a07eea32a6f ...
- GoogleNet:inceptionV3论文学习
Rethinking the Inception Architecture for Computer Vision 论文地址:https://arxiv.org/abs/1512.00567 Abst ...
- IEEE Trans 2008 Gradient Pursuits论文学习
之前所学习的论文中求解稀疏解的时候一般采用的都是最小二乘方法进行计算,为了降低计算复杂度和减少内存,这篇论文梯度追踪,属于贪婪算法中一种.主要为三种:梯度(gradient).共轭梯度(conjuga ...
- Raft论文学习笔记
先附上论文链接 https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 最近在自学MIT的6.824分布式课程,找到两个比较好的githu ...
随机推荐
- 网站性能测试工具 webbench 的安装和使用
1.webbench的下载和安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz sudo tar xvf we ...
- Js浮点运算存在精度问题
记得在某一次项目中,运用js进行一系列算数运算,计算中会存在浮点类型,就单纯的进行了计算,最后在测试过程中,主管在核对数据的时候发现计算的结果是有问题的,于是就很纳闷,在网上搜索找到了答案 ,htt ...
- Cocos Creator学习六:加载/释放图片资源
1.目的:学习加载图片资源.使用图片资源创建对象以及释放图片资源. 2.注意事项以及主要函数: ①注意事项:使用loadRes函数,资源必须放置在assets下的resources文件夹下(默认没有r ...
- 键盘坏了几个键位之后,linux上的remap方法
Use xev command to find the keycode xmodmap -pke |more To Change keymapping for this Laptop: 我是日文键盘, ...
- 记一次linux上的ftp搭建过程
最近公司测试环境需要搭建ftp,正好自己稍微有点空且这方面确实不会,就自告奋勇说让我先试试,玩炸了你们再帮忙重装系统重新搭吧(手动滑稽),虽然最终是完成了,但是中间磕磕碰碰遇到一些小问题,到处查百度, ...
- jacoco覆盖率工具测试及性能分析
ant版本:https://ant.apache.org/bindownload.cgi jdk版本 注: ant 1.10 ---> jdk1.8 ant 1.9 ---& ...
- linux下用户操作
在linux中添加ftp用,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test. 2.建用户:在root用户下: useradd ...
- JS内置对象有哪些?
JS内置对象分为数据封装类对象和其他对象 数据封装类对象:String,Boolean,Number,Array,和Object; 其他对象:Function,Arguments,Math,Date, ...
- 开源HUSTOJ
hustoj -- 请一定认真看完本页再动手安装,以免无谓的折腾!====== 根据你选择的发行版不同,从下面三个脚本里选一个来用. <b>不要相信百度来的长篇大论的所谓教程,那些都是好几 ...
- java 8 Lambda
警告: 初学者随笔, 请关闭此网页, 以免浪费你的时间