FM、FFM

作者: 衣介书生 | 来源:发表于2019-05-16 23:54 被阅读0次

FM(Factorization Machines)

FM主要目标是:解决数据稀疏的情况下,特征怎样组合的问题。

FM一共有3个优点:

  • 可以在非常稀疏的数据中进行合理的参数估计
  • FM模型的时间复杂度是线性的
  • FM是一个通用模型,它可以用于任何特征为实值的情况

在一般的线性模型中,各个特征相互独立,不考虑特征与特征之间的相互关系。但实际上,大量的特征之间是有关联的。 一般的线性模型为:

y = w_0 + \Sigma_{i=1}^{n}w_{i} x_{i}

为了表述特征间的相关性,可以采用多项式模型。在多项式模型中,特征x_ix_j的组合用x_{i} x_{j}表示。为了简单起见,我们讨论二阶多项式模型。

y = w_0 + \Sigma_{i=1}^{n}w_{i} x_{i} + \Sigma_{i=1}^{n}\Sigma_{j=i+1}^{n}w_{ij}x_{i}x_{j}

该多项是模型与线性模型相比,多了特征组合的部分,特征组合部分的参数有\frac{n(n-1)}{2}个。如果特征非常稀疏且维度很高的话,时间复杂度将大大增加。

对每一个特征,引入辅助向量lantent vector V_{i}=[v_{i1},v_{i2},...,v_{ik}]^T, 模型修改如下:

y = w_0 + \Sigma_{i=1}^{n}w_{i} x_{i} + \Sigma_{i=1}^{n}\Sigma_{j=i+1}^{n}<V_i, V_j>x_{i}x_{j}

其中k是超参数,即lantent vector的维度,一般取30或40,也可以取其他数,具体情况具体分析。使用<V_i, V_j>取代w_{ij}能够更好的学习到特征之间的相关性,并且能够减少模型中的参数数量,FM的二次项参数数量为nk。计算上式的时间复杂度为O(kn^2),但是可以通过化简将时间复杂度降为O(kn)

FFM(Field-aware Factorization Machines)

FFM是FM的升级版模型,引入了field的概念。FFM把相同性质的特征归于同一个field。在FFM中,每一维特征x_i,针对每一种field f_j,都会学习到一个隐向量V_{i,f_j},因此,隐向量不仅与特征相关,也与field相关。

设样本一共=有n个特征, f 个field,那么FFM的二次项有nf个隐向量。而在FM模型中,每一维特征的隐向量只有一个。FM可以看做FFM的特例,即把所有特征都归属到同一个field中。

y = w_0 + \Sigma_{i=1}^{n}w_{i} x_{i} + \Sigma_{i=1}^{n}\Sigma_{j=i+1}^{n}<V_{i,f_{j}}, V_{j,f_{i}}>x_{i}x_{j}

如果隐向量的长度为k,那么FFM的二次项参数数量为nfk,远多于FM模型。此外由于隐向量与field相关,FFM二次项并不能够化简,时间复杂度为O(kn^2)。需要注意的是由于FFM中的latent vector只需要学习特定的field,所以通常K_{FFM} << K_{FM}

参考

相关文章

  • FM、FFM

    FM(Factorization Machines) FM主要目标是:解决数据稀疏的情况下,特征怎样组合的问题。 ...

  • FFM的原理介绍及实现

    一.FFM原理介绍 FFM(Field-aware Factorization Machine)是对FM的改进,我...

  • FM与FFM

    FM算法旨在解决稀疏数据下的特征组合问题。 多项式模型的特征组合要求两个特征都是非零的,但是在实际工程中的稀疏数据...

  • FM、FFM、DeepFM

    1. CTR预估综述 点击率(Click through rate)是点击特定链接的用户与查看页面,电子邮件或广告...

  • 推荐系统学习过程中看到的博客和文章

    FM、FFM与DeepFM https://www.hrwhisper.me/machine-learning-f...

  • FM&FFM

    参考:http://www.52caml.com/head_first_ml/ml-chapter9-factor...

  • 072 FM&FFM

    FM和SVM多项式核差异 SVM多项式核函数 上式中可以看出多项式核起到对特征交叉的作用,但是当样本中存在大量的稀...

  • 转《FM,FFM,DeepFM》

    本文仅为记录学习FM、FFM、DeepFM过程中的一些理解,并不会涉及太多公式细节推导,细节方面可以参考 深入FF...

  • FFM在CTR任务中的应用

    序 FFM是FM的一个变种算法,通过引入field的概念,FFM把相同性质的特征归于同一个field。不同fiel...

  • R&S | 深度讨论FM和FFM:不仅是推荐

    我看到很多人都已经写过有关FM(Factorization Machine)和FFM(Field-aware Fa...

网友评论

      本文标题:FM、FFM

      本文链接:https://www.haomeiwen.com/subject/sjvpaqtx.html