据说有RNN和CNN结合的xDeepFM

栏目: R语言 · 发布时间: 7年前

内容简介:也是一篇在CTR预估中堆Deep层数的轮子文,先来了解一下:不过xDeepFM所提出的点是结合RNN和CNN的特性完成多阶特征的抽取,并且最终和和DNN以及Linear整合到一起完成显性特征的使用。这儿

介绍

也是一篇在CTR预估中堆Deep层数的轮子文,先来了解一下:

  1. DeepFM:使用 FM 的特征组合能力灌给DNN进行joint-train
  2. Deep⨯:根据首层和次层的依赖可以解决多阶特征组合的问题

不过xDeepFM所提出的点是结合RNN和CNN的特性完成多阶特征的抽取,并且最终和和DNN以及Linear整合到一起完成显性特征的使用。

CIN

据说有RNN和CNN结合的xDeepFM中最重要的核心元素是 CIN (Compressed Interaction Network)

一个图来解释 CIN :

据说有RNN和CNN结合的xDeepFM

这里:

  1. 我们输入的是一个m个特征的D维Embedding数据,简称$X^0 \in R^{m \times D}$,这个作为第一层
  2. 然后CIN有设计一种计算下一层的式子:$$X_{h,*}^k = \sum_{i=1}^{H_{k-1}} \sum_{j=1}^m W_{i,j}^{k,h}(X_{i,*}^{k-1} \circ X_{j,*}^0)$$
    Deep⨯
    sum pooling
    

这儿 CIN 各种复杂度:

  1. 他的参数复杂度是:$\sum_{k=1}^T H_k \times (1+H_{k-1} \times m)$
    CIN
    
  2. 他的计算复杂度是:$O(mH^2DT)$
    • 他单层的$Z^{k+1}$的计算复杂度是$O(mHD)$
    • 并且额外的我们还需要将feature maps汇聚到$H$个隐藏节点

xDeepFM

最终的 xDeepFM 的大结构是参考了 Wide&Deep 的方式:

据说有RNN和CNN结合的xDeepFM
CIN
DNN

他和 DeepFM 的关系:如果将 CIN 这一层里面的层数改为1,他其实就是一个FM

实验结果

里面描述的实验结果中,

据说有RNN和CNN结合的xDeepFM

看起来 xDeepFM 还是有一些提升的,不过主要提升是在 DianPing 数据集上,另外两个数据集提升的还是很微弱,在这种复杂度下,计算性能和带来的效果回报的受益就比较低了。

总结

  1. 感觉 xDeepFM 主要引入了 Deep&Cross 里面的 Cross 机制,就是在做堆叠
  2. 另外其实看到堆叠和交叉还是能带来一定效果的,但是受益越来越不明显了,如果运行性能和算法性能的性价比, FM 无疑是最高,但是Deep模型可以说故事(chui)啊
  3. 作者开放了 源码 ,赞一个

文献

  1. Lian, Jianxun, et al. “xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems.” arXiv preprint arXiv:1803.05170 (2018).

以上所述就是小编给大家介绍的《据说有RNN和CNN结合的xDeepFM》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

逆向工程权威指南

逆向工程权威指南

Dennis Yurichev(丹尼斯) / 安天安全研究与应急处理中心 / 人民邮电出版社 / 2017-3-1 / 168

逆向工程是一种分析目标系统的过程,旨在于识别系统的各组件以及组件间关系,以便于通过其它形式、或在较高的抽象层次上,重建系统的表征。 本书专注于软件的逆向工程,是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要话题,详细解析了Oracle RDBMS、Itanium、软件狗、LD_PRELOAD、栈溢出、EL......一起来看看 《逆向工程权威指南》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码