一文看懂 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:


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

查看所有标签

猜你喜欢:

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

Automate This

Automate This

Christopher Steiner / Portfolio / 2013-8-9 / USD 25.95

"The rousing story of the last gasp of human agency and how today's best and brightest minds are endeavoring to put an end to it." It used to be that to diagnose an illness, interpret legal docume......一起来看看 《Automate This》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

各进制数互转换器