首页 > 技术文章 > fm家族

marklong 2021-05-17 17:54 原文

参考链接:
https://zhuanlan.zhihu.com/p/357328156
http://litowang.top/2018/07/29/factorization-machine/#more
https://www.cnblogs.com/zhangchaoyang/articles/8157893.html?utm_source=wechat_session&utm_medium=social&utm_oi=659730706637393920

提出FwFM的升级版FmFM,并把FM, FwFM, FvFM统一到FmFM框架下。
提出的FmFM对比FM, FwFM, FvFM, FFM等主流浅层CTR模型取得了更优的效果(浅层是相对使用了DNN的Wide&Deep, Deepfm, xDeepFM等深层模型而言)。
通过降维操作,FmFM可以使得每个Field的特征具有不同的embedding dimensions,从而减小模型的参数量和避免over-fitting问题。

1.研究意义及背景

研究背景:点击率预估(CTR)在推荐系统和计算广告中扮演着重要的作用。CTR问题中的数据通常是一个multi-field的形式。CTR中的特征有以下两个特点:首先,所有的特征都是类别型(categorical)的,并且非常稀疏,因为它们中的许多是标识符(identifiers,比如adid, userid)。因此,特征的总数可以很容易地达到数百万到数十亿。其次,每个特征(feature)都属于且仅属于一个域(field),可以有几十到数百个域。

CTR预估模型可粗糙的分为浅层模型和深层模型。一些代表包括:

浅层模型:LR, Degree-2 Polynomial, FM, FFM, FwFM以及本文的FvFM和FmFM

深层模型:FNN、PNN、Wide&Deep, DeepFM, xDeepFM, AutoInt等

2.浅层模型发展史

本节描述浅层模型:LR, Degree-2 Polynomial, FM, FFM, FwFM

Logistic Regression (LR): 使用线性权重组合每个单一的特征

其中m表示特征数量

优点:LR模型简单,计算快。

缺点:LR不具备特征交互的能力(交叉特征可能比单一特征具有更重要的影响)。

Degree-2 Polynomial (Poly2):为每一个特征对学习一个权重

优点:Poly2可以捕获特征交互。

缺点:Poly2的参数量为O(m*m),在CTR这样的稀疏场景下仅有少量的特征对会同时出现,因此Poly2的权重稀疏无法得到有效的学习

Factorization Machines (FM):对Poly2中的权重矩阵W做矩阵分解,为每个特征学一个k为的向量表示。两个向量的内积表示特征对的重要性。

优点:FM可以捕获特征交互,同时可以在稀疏场景下有效的学习。
其中:<vi,vj>表示的是向量vi 和向量 vj 的内积,
如果我们直接第式子中的第三项部分进行计算,复杂度是O(kn2),简单的对式子进行化简,我们可以得到复杂度更低的计算式O(kn):

我们再用一个简单的例子回顾下FM模型,假设我们有三个特征:gender(性别)、weekday(星期几)、city(城市),那么FM模型如下:

注意,此处省略了xi,因为在one-hot编码中,激活的xi就是1,未激活的为0。

取一条训练数据例子如下:

参数V Male的梯度为:

因此性别特征参数的更新,会在城市和星期两个方向进行,这是在假设年龄和星期之间不独立,存在一定相关性,但是如果性别和星期之间是相互独立的,那么我们希望对于性别特征参数的更新应该与星期正交,FM的这一假设降低了模型的空间,使得特征权重的更新相互耦合(后续我们可以看到,FFM则可以解决这个问题)
缺点:FM忽略了这样一个事实: 当一个特性与来自其他域(Field)的特性交互时,它的行为可能会有所不同。

在FFM(Field-aware Factorization Machines )中每一维特征(feature)都归属于一个特定的field,field和feature是一对多的关系。比如

  1. 对于连续特征,一个特征就对应一个Field。或者对连续特征离散化,一个分箱成为一个特征。比如
  2. 对于离散特征,采用one-hot编码,同一种属性的归到一个Field

不论是连续特征还是离散特征,它们都有一个共同点:同一个field下只有一个feature的值不是0,其他feature的值都是0。

FFM模型认为

推荐阅读