1 简介
本文根据2017年《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》翻译总结的。
CTR :Click-Through-Rate (点击通过比率),CTR=实际点击次数/展示量。
DeepFM有3个优点:
1)它不需要预训练;
2)它同时学习高阶和低阶特征组合(feature interactions,如两种特征的组合),DeepFM集成了FM和deep neural networks (DNN),其中FM学习低阶特征组合,DNN学习高阶特征组合;
3)它在feature embedding层共享,可以减少特征工程。
2 DeepFM方法
样本数:n个(X,y)。y范围为{0,1},其中y=1表示用户点击了该item,y=0表示没有点击。X是含m个特征(field)的记录,X可能包含类别特征、连续变量特征。每种类别特征用one-hot向量表示,X中每个样本x可以表示为:
一般情况下,x是高维且稀疏的。。
DeepFM包含两部分,FM和deep neural networks (DNN),他们共享相同的输入。所以,y表示如下:
2.1 FM Component
FM部分是因子分解机(factorization machine)。FM除了处理一阶(order-1)的特征组合(如上图的Addition部分),还处理二阶(order-2)特征组合,采用内积方式,如上图的Inner Product部分。当数据集是稀疏时,它更能捕捉二阶特征组合。整体公式如下,包含Addition和Inner Product的求和:
2.2 Deep Component
deep component 是 feed-forward neural network, 用来学习高阶( high-order)特征组合( feature interactions)。
FM和deep component共享相同的feature embedding,它带来两个好处,1)可以同时从原始的特征中学习低阶和高阶特征组合;2)不需要对输入的特征进行更多的专有特征工程。
2.3 DeepFM
如下图所示,DeepFM包括两部分,FM和deep component。
2.4 DeepFM和其他类似网络比较
DeepFM正如本文开始说的,有3个优点,不需要pre-training、不需要feature engineering,同时捕捉low- and high-order feature interactions.。如下表。
3 实验结果
计算时间短,如下图:
实验效果也很好,如下表:
4 超参数研究
激活函数:比较了relu和tanh,发现relu更时候深度模型。
网络形状,取总共3个隐藏层,共有600个神经单元,比较了四种形状,constant (200-200-200), increasing (100-200-300), decreasing (300-200-100), and diamond (150-300- 150).实验发现constant效果最好,这与[Larochelle et al., 2009]《Exploring strategies for training deep neural networks》之前的研究一样。