一文看懂 FM ( Factorization Machine ) 模型的各种变式

栏目: 数据库 · 发布时间: 5年前

内容简介:文章作者:杨镒铭 滴滴出行

一文看懂 FM ( Factorization Machine ) 模型的各种变式

文章作者:杨镒铭 滴滴出行

内容来源: 记录广告、推荐等方面的模型积累@知乎专栏

出品社区:DataFun

注:欢迎转载,转载请注明出处

FM 模型最早由 Steffen Rendle 在2010年提出,解决了稀疏数据场景下的特征组合问题,在广告、推荐等领域被广泛使用。FM 模型简单而且效果好,可以作为业务初期快速取得收益,为后续持续迭代提供一个较强的 baseline 。FM 模型从首次提出到现在已经过去七八年时间,这期间的研究进展如何呢?比如:

  • FM 类模型有哪些改进?

  • 哪些模型或者应用引入了 FM 思想?

  • 近期的顶会针对 FM 有哪些改进工作?

  • 工业界大规模数据场景下如何分布式训练 FM 模型?

这一连串的问题代表了学术界和工业界对 FM 模型关于如何优化和实际应用的深入思考。带着这些问题,下文中笔者根据自己的理解将从不同方面对 FM 模型的演进进行介绍。文中涉及到的公式进行统一表示来方便读者理解,并为读者提供了参考文献的链接。

一、区别特征交互作用

这部分模型的演进思路就是根据假设来增加参数量 ( 即模型复杂度 ) 来提高模型表达能力。FFM 模型参数量太大,一则容易过拟合,二则不利于线上大规模部署 ( 内存压力 ) 。 笔者更倾向于 Field-weighted FM,简单有效,在效果和实际应用上做了很好的 tradeoff 。

1.1 FM

Factorization Machines

https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf

一文看懂 FM ( Factorization Machine ) 模型的各种变式

1.2 Field-aware FM

Field-aware Factorization Machines

https://www.csie.ntu.edu.tw/~r01922136/slides/ffm.pdf

一文看懂 FM ( Factorization Machine ) 模型的各种变式

FM 中一个特征只对应一个向量,而在实际场景中特征和不同 field 的特征交互时应该使用不同的向量,这就是 Field-aware FM ( FFM ) 的提出动机。FFM 最早由阮毓钦提出,最早在 kaggle 上大放异彩,现在在业界也有一定使用。

1.3 Attentional FM

Attentional Factorization Machines : Learning the Weight of Feature Interactions via Attention Networks

https://arxiv.org/abs/1708.04617v1

一文看懂 FM ( Factorization Machine ) 模型的各种变式

这篇文章发表在 IJCAI 2017 。区分不同特征相互作用的方式不再像 ffm 那么笨重,而且用一个神经网络学习得到参数 ,总体参数量增加不明显。

1.4 Field-weighted FM

Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising

https://arxiv.org/abs/1806.03514

一文看懂 FM ( Factorization Machine ) 模型的各种变式

这篇文章发表在 WWW 2018 。区分不同特征相互作用非常简单直接。具体方法是针对每两个特征增加一个参数,这样相对 FM 模型只增加  一文看懂 FM ( Factorization Machine ) 模型的各种变式 个参数 ( k 是 field 数目 ) 。

二、和深度学习结合

这部分模型的思路,特别是 DeepFM,已经被工业界快速跟进和借鉴到推荐、搜索等业务场景。

2.1 DeepFM

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

https://arxiv.org/abs/1703.04247

这篇发表在 IJCAI 2017 。DeepFM 主要是基于 Wide&Deep 框架改进,将其中 wide 部分换成 fm 进行二阶交叉。

2.2 NFM

Neural Factorization Machines for Sparse Predictive Analytics

https://arxiv.org/abs/1708.05027v1

这篇发表在 SIGIR 2017 。FM 最终二阶交叉相加后得到 k 维的向量,NFM 是将该 k 维的向量输入给全连接,而不是像 FM 直接加起来作为最终结果。可以认为 FM 模型是 NFM 的一个子集。

三、和Learning to Rank结合

这部分和工业界中的 排序 场景联系紧密,可做参考。

3.1 Pairwise FM

Exploiting ranking factorization machines for microblog retrieval

https://dl.acm.org/citation.cfm?id=2505648

这篇文章发表在 CIKM 2013 。LTR 中的 pairwise 是挑选一个正负样本对作为一个新的样本,具体就是  。如果  一文看懂 FM ( Factorization Machine ) 模型的各种变式 ,则就是 PairWise FM 。那如果  一文看懂 FM ( Factorization Machine ) 模型的各种变式 则就是很有名的 RANKSVM 。

3.2 Lambda FM

https://dl.acm.org/citation.cfm?id=2983758

这篇文章发表在 CIKM 2016 。主要贡献是将 LambdaRank 的思想加入到 Pairwise FM 中。github 上有个开源实现 CastellanZhang/lambdaFM ( https://github.com/CastellanZhang/lambdaFM ),支持 FTRL 优化,支持单机多线程。

四、分布式训练

在实际应用中,一旦训练数据量上升到大几百 G 或者 1T 以上的级别,即使采用单机多线程训练,也会严重阻碍模型调研的速度。所以说在工业界做模型的分布式训练是有真实的业务需求驱动,相信大厂都有成熟的基于 ps 的 FM 轮子。对于大规模分布式机器学习感兴趣的读者建议细读下面两篇文章。

4.1 DiFacto

DiFacto — Distributed Factorization Machines

https://www.cs.cmu.edu/~muli/file/difacto.pdf

这篇发表在 WSDM 2016 。主要针对 FM 算法,基于 Parameter Server 进行梯度的异步更新。在 github 上也有开源,但是后面不怎么维护了。

4.2 F2M

http://net.pku.edu.cn/vc/papers/f2m.pdf

这篇发表在 NIPS 2016 。这篇文章主要是提出了基于 Ps 架构的 FFM 算法。

五、更高阶特征交叉

High-Order FM

Higher-Order Factorization Machines

https://arxiv.org/abs/1607.07195

这篇文章发表在 NIPS 2016 。传统意义上讲 FM 都是二阶交叉,计算复杂度可通过数学变换将时间复杂度改进到线性时间,在实际应用中一般也只用到二阶交叉。这篇文章解决了三阶甚至更高阶的特征交叉问题。

六、其他变种

6.1 Robust FM

Robust Factorization Machines for User Response Prediction

https://dl.acm.org/citation.cfm?id=3186148

一文看懂 FM ( Factorization Machine ) 模型的各种变式

这篇发表在 WWW 2018 。文章引入了 robust optimization 的思想,增加  一文看懂 FM ( Factorization Machine ) 模型的各种变式 和   一文看懂 FM ( Factorization Machine ) 模型的各种变式 分别在一次项和二次项的时候表示噪声。

6.2 Discrete FM

Discrete Factorization Machines for Fast Feature-based Recommendation

https://arxiv.org/abs/1805.02232

一文看懂 FM ( Factorization Machine ) 模型的各种变式

这篇发表在 IJCAI 2018 。这篇文章主要解决 FM 在一些特殊场景下模型容量和计算耗时偏大的问题。FM 中隐向量  一文看懂 FM ( Factorization Machine ) 模型的各种变式 ,每个元素是实数值,而在 Discrete FM 中,隐向量  一文看懂 FM ( Factorization Machine ) 模型的各种变式 。最终模型效果相对 FM 有下降,但是效率大大提升。

6.3 SFTRL FM

Sketched Follow-The-Regularized-Leader for Online Factorization Machine

https://www.kdd.org/kdd2018/accepted-papers/view/sketched-follow-the-regularized-leader-for-online-factorization-machine

这篇发表在 KDD 2018 。针对 FM 算法如何在线学习,提出了 Sketched Follow-The-Regularizer-Leader 的优化算法,并和 OGD、OCG 和 FTRL 算法进行了对比。

作者介绍:

杨镒铭,滴滴出行高级算法工程师,硕士毕业于中国科学技术大学,知乎「 记录广告、推荐等方面的模型积累 」专栏作者。

对作者感兴趣的小伙伴,欢迎点击文末阅读原文,与作者交流。

——END——

文章推荐:

应用AlphaGo Zero思路优化搜索排序

详解Embeddings at Alibaba (KDD 2018)

基于深度强化学习的新闻推荐模型DRN

关于 DataFun:

DataFun 定位于最实用的数据智能平台,主要形式为线下的深度沙龙、线上的内容整理。希望将工业界专家在各自场景下的实践经验,通过 DataFun 的平台传播和扩散,对即将或已经开始相关尝试的同学有启发和借鉴。

DataFun 的愿景是:为大数据、人工智能从业者和爱好者打造一个分享、交流、学习、成长的平台,让数据科学领域的知识和经验更好的传播和落地产生价值。

DataFun 成立至今,已经成功在全国范围内举办数十场线下技术沙龙,有超过三百位的业内专家参与分享,聚集了数万大数据、算法相关领域从业者。

一文看懂 FM ( Factorization Machine ) 模型的各种变式

点点「在看」,让更多的人知道。:point_down:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

Computational Geometry

Computational Geometry

Mark de Berg、Otfried Cheong、Marc van Kreveld、Mark Overmars / Springer / 2008-4-16 / USD 49.95

This well-accepted introduction to computational geometry is a textbook for high-level undergraduate and low-level graduate courses. The focus is on algorithms and hence the book is well suited for st......一起来看看 《Computational Geometry》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

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

HTML 编码/解码