「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 论文摘要

DeepFM#

由 FM component 和 Deep component 组成

  1. FM 提取低阶组合特征,Deep 提取高阶组合特征。不需要进行预训练以及人工特征工程。
  2. 共享 feature embedding。FM 和 Deep 共享输入和 feature embedding。不但使得训练更快,而且使得训练更加准确。

优点:#

  1. 不需要预训练 FM 得到隐向量
  2. 不需要人工特征工程
  3. 能同时学习低阶和高阶的组合特征
  4. FM 模块和 Deep 模块共享 feature embedding

数据#

原始数据 = 种类特征 (eg. gender, location) + 连续特征 (eg. age) + label

  • 种类特征进行 one-hot 编码
  • 连续特征可直接使用,或者先进行离散化在进行 one-hot 编码
  • 特征按照 field 分组

综上:原始数据 -> (x, label)
x = [xfield1,xfield2,xfield3,…,xfieldm]

DeepFM 结构图:#

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 论文摘要

计算公式:

y = sigmoid( yFM+ yDNN)

其中 yFM 为 FM component 的输出,yDNN 为 DNN component 的输出。y∈{0,1} ,为 CTR 预测概率。

FM component#

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 论文摘要

y^=sigmoid(yFM+yDNN)\hat{y} = sigmoid(y_{FM} + y_{DNN})

FM component 包含了加法单元和内积单元。

加法单元:提取一阶特征,直接从原始特征提取。

内积单元:原始特征先进行 embedding,然后由 embedding 后的输出经过内积单元提取二阶组合特征。

最终维度:fieldsize + embedding_size
embedding_size 对应的是:

i=1dj=i+1dVi,Vjxixj\sum_{i = 1}^{d}\sum_{j=i+1}^{d} \left \langle V_{i},V^{j} \right \rangle x_{i} \cdot x_{j}

FM component 总结:

  1. 实现了对一阶和二阶组合特征的建模
  2. 没有使用预训练
  3. 没有人工特征工程

Deep component#

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 论文摘要

用来提取高阶组合特征。
原始特征首先经过 embedding 层降维后,然后经过多个全连接隐藏层输出,即 yDNN

DeepFM:一阶特征 (FM)+ 二阶特征 (FM)+ 高阶特征 (DNN)

在 DeepFM 之前有其他几个模型:

FNN 与 PNN 的不足之处:
仅能提取高阶组合特征,低阶组合特征无法获取。

Wide&Deep 的不足之处:
在 Wide 部分还需要进行人工特征工程。

本作品采用《CC 协议》,转载必须注明作者和本文链接
文章!!首发于我的博客 Stray_Camel (^U^) ノ~YO