【推荐算法论文】FM算法

论文背景

Factorization Machines
  2010 IEEE International Conference on Data Mining
  Steffen Rendle
  Department of Reasoning for Intelligence
  The Institute of Scientific and Industrial Research Osaka University, Japan
谷歌学术被引用次数1396(截至2020年12月14日)
  论文关键词:factorization machine; sparse data; tensor factorization; support vector machine
  PDF

Introduction 引言

FM优点:
 1. FM能在很稀疏的数据上进行参数估计,但SVM不行。
 2. FM是线性复杂度,不需要类似于SVM中的支持向量。
 3. FM是通用预测方法,适用于任何特征向量。其它的因子分解方法都受限于特定的输入。(对比biased MF, SVD++, PITF和FPMC)

Prediction under sparsity 稀疏情况下的预测

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uTccgECp-1634386915378)(\images\Paper-FM-feature_x.png)]

Factorization machines(FM) 因子分解机

Factorization machine model 因子分解机模型

degree d = 2
y ^ ( x ) : = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n ∑ j = i + 1 n < v i , v j > x i x j \hat{y}(x):=w_0 + \sum_{i=1}^nw_ix_i + \sum_{i=1}^n\sum_{j=i+1}^n<v_i,v_j>x_ix_j y^(x):=w0+i=1nwixi+i=1nj=i+1n<vi,vj>xixj
  其中 w 0 ∈ R w_0∈R w0R w ∈ R n w∈R^n wRn, V ∈ R n × k V∈R^{n×k} VRn×k,<·,·>表示点乘。
< v i , v j > : = ∑ f = 1 k v i , f ⋅ v j , f <v_i,v_j>:=\sum_{f=1}^kv_{i,f}·v_{j,f} <vi,vj>:=f=1kvi,fvj,f
  V中的 v i v_i vi描述k个因素中的第i个变量。 K s ∈ N 0 + Ks∈N_0^+ KsN0+是定义因子分解的维度的超参数。
  2-way FM捕捉所有变量的单个和成对交互:
   w 0 w_0 w0是全局偏置, w i w_i wi模拟了第i个变量的程度。
   w ^ i , j : = < v i , v j > \hat{w}_{i,j}:=<v_i, v_j> w^i,j:=<vi,vj>模拟了第i和第j个变量间的交互。这个在高阶交互时(d > 2)高质量估计的关键。
  时间复杂度O( k n 2 kn^2 kn2),因为所有的交互对都要被计算。但可以变形使之化为O(kn)。

Factorization machines as predictors FM作为预测器

可用于回归、二分类和排序问题。

Learning factorization machines FM学习策略

使用随机梯度下降(SGD)来学习。

d-way factorization machine 多维FM

同时2-way FM可以拓展为d-way。

Summary 总结

FM优点:
  1. 在高稀疏下可估计特征交互,尤其是不可观测的交互。
  2. 预测和学习的时间复杂度是线性的。使SGD优化可行,并允许多种损失函数优化。

FMs vs. SVMs 因子分解机对比支持向量机

SVM model 支持向量机模型

SVM等式 y ^ ( x ) = < Φ ( x ) , w > \hat{y}(x) = <\Phi(x), w> y^(x)=<Φ(x),w>
  其中 Φ \Phi Φ是从空间 R n R^n Rn到F的映射。 Φ \Phi Φ和下式的核相关:
K : R n × R n → R , K ( x , z ) = < Φ ( x ) , Φ ( z ) > K:R^n × R^n → R, K(x, z) = <\Phi(x), \Phi(z)> K:Rn×RnR,K(x,z)=<Φ(x),Φ(z)>

  1. 线性核
       K l ( x , z ) = 1 + < x , z > K_l(x, z) = 1 + <x, z> Kl(x,z)=1+<x,z>,对应 Φ ( x ) : = ( 1 , x 1 , . . . , x n ) \Phi(x) := (1, x_1, ... , x_n) Φ(x):=(1,x1,...,xn)
      SVM等式为
    y ^ ( x ) = w 0 + ∑ i = 1 n w i x i , w 0 ∈ R , w ∈ R n \hat{y}(x) = w_0 + \sum^n_{i=1}w_ix_i, w_0∈R, w∈R^n y^(x)=w0+i=1nwixi,w0R,wRn
      这等价于FM中d = 1的情况。

  2. 多项式核
      多项式核使SVM能模拟变量间的高阶交互。
    K ( x , z ) : = ( < x , z > + 1 ) d K(x, z) := (<x, z> + 1)^d K(x,z):=(<x,z>+1)d,对于d = 2有
    Φ ( x ) : = ( 1 , 2 x 1 , . . . , 2 x n , x 1 2 , . . . , x n 2 , 2 x 1 x 2 , . . . , 2 x 1 x n , 2 x 2 x 3 , . . . , 2 x n − 1 x n \Phi(x) := (1, \sqrt{2}x_1, ... , \sqrt{2}x_n, x_1^2, ... , x_n^2, \sqrt{2} x_1x_2, ... , \sqrt{2}x_1x_n, \sqrt{2}x_2x_3, ... , \sqrt{2}x_{n-1}x_n Φ(x):=(1,2 x1,...,2 xn,x12,...,xn2,2 x1x2,...,2 x1xn,2 x2x3,...,2 xn1xn
      SVM等式为
    y ^ ( x ) = w 0 + 2 ∑ i = 1 n w i x i + ∑ i = 1 n w i , i ( 2 ) x i 2 + 2 ∑ i = 1 n ∑ j = i + 1 n w i , j ( 2 ) x i x j \hat{y}(x) = w_0 + \sqrt{2}\sum^n_{i=1}w_ix_i + \sum^n_{i = 1}w_{i,i}^{(2)}x_i^2 + \sqrt{2}\sum^n_{i=1}\sum^n_{j=i+1}w_{i,j}^{(2)}x_ix_j y^(x)=w0+2 i=1nwixi+i=1nwi,i(2)xi2+2 i=1nj=i+1nwi,j(2)xixj
      其中 w 0 ∈ R , w ∈ R n , w ( 2 ) ∈ R n × n w_0∈R, w∈R^n, w^(2)∈R^{n×n} w0R,wRn,w(2)Rn×n
      d = 2时,FM和SVM的区别在于SVM中 w i , j w_{i,j} wi,j是完全独立的,而FM中参数是因子分解的,所以 < v i , v j > <v_i, v_j> <vi,vj>依赖于彼此。

Parameter Estimation Under Sparsity 在稀疏情况下的参数估计

举例:使用协同过滤(上图中蓝色和红色部分数据)。

  1. 线性SVM
    y ^ ( x ) = w 0 + w u + w i \hat{y}(x) = w_0 + w_u + w_i y^(x)=w0+wu+wi
      只有j = u 或 j = i时 x j x_j xj = 1,即只有用户和物品偏好被选中时才有用。由于模型简单,在稀疏情况也能进不错的参数估计,但预测质量低。
  2. 多项式SVM
    y ^ ( x ) = w 0 + 2 ( w u + w i ) + w u , u ( 2 ) + w i , i ( 2 ) + 2 w u , i ( 2 ) \hat{y}(x) = w_0 + \sqrt{2}(w_u + w_i) + w_{u,u}^{(2)} + w_{i,i}^{(2)} + \sqrt{2}w_{u,i}^{(2)} y^(x)=w0+2 (wu+wi)+wu,u(2)+wi,i(2)+2 wu,i(2)
       w u w_u wu w u , u ( 2 ) w_{u,u}^{(2)} wu,u(2)是一样的。该等式除了一个额外的 w u , i w_{u,i} wu,i,等价于线性SVM。在训练集中,对于每一个 w u , i w_{u,i} wu,i最多只有一条记录,在测试集中通常没有。因此,2-way的SVM效果也不比线性SVM好。

Summary 总结

  1. SVM需要直接观测交互数据,但稀疏数据集经常没有。FM参数可以在系数情况下进行不错的参数估计。
  2. FM可以一开始就直接学习,但非线性SVM需要成对学习。
  3. FM是独立于训练集的,SVM的预测是基于部分训练数据的。

FMs VS. Other Factorization Models 其它因子分解方法对比

改写FM公式形式,分别与Matrix and Tensor Factorization矩阵和张量分解、SVD++、PITF for Tag Recommendation、Factorized Personalized Markov Chains(FPMC)方法对比,FM改写后性能与这些方法实现效果类似。

Summary 总结

  1. 标准因子分解模型(比如PARAFAC或者MF)不像FM一样是通用预测模型。
  2. 修改特征提取部分,FM可以模拟在特定任务下的成功模型(比如MF,PARAFAC,SVD++,PITF,FPMC)。

Conclusion and Future Work 总结和展望

与SVM对比,

  1. 在数据稀疏情况下,FM可以进行参数估计。
  2. 模型时间复杂度是线性的,并且只依赖于模型参数。
  3. 从最开始就能直接优化。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值