DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

DeepFM

DeepFM是一个集成了FM和DNN的神经网络框架,思路和Google的Wide&Deep相似,都包括wide和deep两部分。W&D模型的wide部分是广义线性模型,DeepFM的wide部分则是FM模型,两者的deep部分都是深度神经网络。DeepFM神经网络部分,隐含层的激活函数用ReLu和tanh做信号非线性映射,sigmoid函数做CTR预估的输出函数。

FM部分是一层线性模型(作用于raw feature)串联一层product layer(作用于embedding)。需要训练的参数即是FM的两个权重矩阵。
当数据尤其稀疏的时候(如在ctr场景下),二阶的ineraction feature能更有效的利用信息。

FM

深度部分

Deep Component

两个主要的特点,一个是每个field的embedding保持相同的size,第二个是FM中的隐向量v被用作embedding 权重压缩数据,如下图。


FM initialization

对比:
FNN:embedding参数被FM影响;pre-training阶段效率低;FNN只捕获high-order特征组合(low-order特征对ctr很重要,DeepFM中的low-order特征由FM部分负责)

PNN:引入product层来捕获high-order特征组合,根据不同的product操作有三种变体IPNN(inner product)、OPNN(outer product)、PNN*(inner & outer)。缺陷:PNN和FNN一样忽视low-order特征组合。

W&D:对于Wide部分需要人工特征工程。

FNN,PNN,W&D

评估:

Evaluation

总结:
采用了general的wide&deep框架,在wide部分采用fm提取low-order特征,deep部分共享embedding权重(相当于分享了interaction feature),提取high-order的特征。总的来说,算是融合了当前几个比较流行的ctr框架。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我妈经常牙痛,捂着腮帮子躺在沙发上一躺就哎哟哎哟的叫唤一整晚。幼时不懂,只知道看着我妈早上刷牙会吐出一口口的鲜血,...
    谷谷阅读 556评论 2 0
  • 笔记: 首先打开Terminal,输入 vim ~/.lldbinit 创建一个名为.lldbinit的文件,然后...
    minjing_lin阅读 543评论 0 5
  • 读“乔布斯魔力演讲”有感 ——刘凤敏 看过乔布斯演讲的人应该都知道:乔布斯有种强大的气场,他讲话的声音、手势、肢体...
    向着光明的太阳花阅读 195评论 0 0