1. 前言
DeepFM[1]是既WDL(wide and deep model)[2]之后在17年提出的。它将FM[3]和WDL融合在一起,将WDL的wide替换为了FM。DeepFM的目的就是完全舍弃繁琐的特征工程工作,并且使模型同时学习出点击率的低阶和高阶特征。
2. 模型
DeepFM包含两部分:FM部分和Deep部分。两部分共享使用特征的embedding向量。两部分的输出最终进入一个sigmoid输出节点,得到结果。可见DeepFM和WDL一样,两部分一起进行学习,是一个端到端的深度模型。DeepFM预测模型可表示成:
$$
\hat{y}=sigmoid(y_{FM}+y_{DNN})
$$
2.1. FM部分
FM部分为一个因子分解机,学习一阶特征和特征之间的二阶交互特征。原始特征带上权重累加得到一阶部分;特征的embedding向量之间内积作为二阶部分的权重。图1中1权连接的意思是embedding向量之间等权相乘。FM能将稀疏的、出现频率低的特征都学习进来,这是以前工作中难以实现的。个人认为FM部分是论文最大的创新点。
$$
y_{FM}=\left\langle{w,x}\right\rangle+\sum_{j_1=1}^d\sum_{j_2=j_1+1}^d\left\langle{V_{j_1},V_{j_2}}\right\rangle{x_{j_1}\cdot{x_{j_2}}}
$$
2.2. Deep部分
Deep部分是一个DNN模型。与FM部分共享特征的embedding向量,也就是说Deep部分的输入是所有特征的embedding向量。Deep部分学习的是高阶不等阶的交互特征。DNN这里就不再赘述结构。
References
[1] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
[2] Wide & Deep Learning for Recommender Systems
[3] Factorization Machines