ijcai2017|CTR经典模型DeepFM,FNN,PNN,W&D,LR,FM对比(哈工大诺亚方舟提出CTR模型)
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, Xiuqiang He
Harbin Institute of Technology, Noah’s Ark Research Lab
https://www.ijcai.org/proceedings/2017/0239.pdf
IJCAI 2017
在推荐系统中,为了最大化CTR, 将用户行为背后的特征如何交互探究清楚至关重要。
尽管先前的一些方法取得了不错的成果,但是,它们要么偏向于低阶的特征交互,要么偏向于高阶的特征交互,要么要求专家设计的特征工程。
这篇文章提出一种端到端的学习模型,该模型不仅可以学习低阶特征交互,而且可以学习高阶的特征交互。本文所提出的模型DeepFM, 结合了分解机在推荐系统中的优势和深度学习在特征学习中的优势,提出了一种新的神经网络结构。
相对谷歌提出的Wide & Deep 模型,DeepFM的wide和deep部分的输入是共享的,除了原始特征不需要特征工程。
在标准数据集和商业数据上的实验表明,DeepFM相对之前的模型在ctr预估中,不仅效果更好,而且速度更快。
wide & deep model表明,同时考虑低阶和高阶特征交互相对只考虑低阶或高阶特征交互效果要好。
线性模型缺乏学习交互特征的能力,可以手动添加来解决这个问题,但是手动添加二阶特征泛化能力有限,而且在训练数据中也不一定能够观察到。
虽然FM模型考虑了高阶特征交互,但是,实际中由于复杂度较高,只考虑二阶特征交互。
几种相关方法的特点及局限性如下
本文主要贡献如下
网络结构图示如下
一些符号约定如下
部分参数及最终预测函数如下
其中FM的结构如下
FM的优势在于不要求两个特征同时出现在同一个样本中
FM的数学表示如下
深层神经网络的结构图示如下
嵌入层的结构图示如下
深层网络的一些关键步骤及公式示例如下
几种网络的结构示意图对比如下
其中跟FNN的主要区别在于是否需要预训练,FNN只能学习高阶特征,而DeepFM不仅可以学习低阶特征,而且可以学习高阶特征。
PNN可以分为三种,内积,外积,内积和外积,这三种PNN都不考虑低阶特征交互。
跟W&D的区别在于,deepFM不需要特征工程。
上述区别可以总结为下表
数据集及特征情况描述如下
这篇文章所用的评价指标如下
模型参数设置如下,其中包含dropout, 网络结构,优化算法,**函数等。
在算法效率层面,本文有以下结论
图示如下
在算法效果层面,本文具有下面结论
对应的图表如下
t-检验表明了本文所提出的方法显著优于其他算法
不同的**函数所带来的效果不同,作者们的实验表明relu效果基本上全部优于tanh的效果。
另外,结果表明,dropout设置在0.6到0.9之间效果较好
实验结果表明,隐含层单元数在200-400之间效果较好
结果表明,层数并不是越多越好,过多了容易过拟合
此外,网络形状对模型效果也有一定的影响,常数结构基本是最好的
代码地址
https://github.com/shenweichen/DeepCTR
https://github.com/ChenglongChen/tensorflow-DeepFM
我是分割线
您可能感兴趣