Factorization Machines ---- FM模型论文阅读笔记及相关推导

Introduction

在类似协同过滤的场景下,SVM的作用不如一些如PARAFA等直接进行矩阵因子分解的模型。

Why:
因为在含有大量稀疏数据的场景下,SVM不能从复杂的核空间中学到可靠的超平面。

FM的优点:

  1. 能在高维稀疏数据的场景下进行参数估计(SVM并不擅长)。
  2. 能关联变量间的相互作用。
  3. 线性的计算时间,线性的参数量
  4. 可以使用任意实数域的特征向量进行预测(其他因子分解模型对输入数据非常严格)

Prediction under sparsity

最普遍的CTR场景是通过训练集
D = { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , . . . } D=\{(x^{(1)} ,y^{(1)}),(x^{(2)} ,y^{(2)}),...\} D={ (x(1),y(1)),(x(2),y(2)),...}

估计一个函数:
y : R n → T y:R^n \to T y:RnT

x ∈ R n x \in R^n xRn特征向量映射到目标域 T T T

Factorization Machine Model

定义

y ^ ( x ) : = w 0 + ∑ i = 1 n w i x i + w ^ i , j x i x j \hat{y}(\boldsymbol x) := w_0 + \sum_{i=1}^{n}w_ix_i+\hat w_{i,j}x_ix_j y^(x):=w0+i=1nwixi+w^i,jxixj
可转化为:
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}(\boldsymbol x) := w_0 + \sum_{i=1}^{n}w_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
其中:

(1)
w 0 ∈ R , w ∈ R n , V ∈ R n × k w_0 \in \mathbb{R} ,\boldsymbol w \in \mathbb{R}^n,\boldsymbol V \in \mathbb{R}^{n \times k} w0R,wRn,VRn×k
(2)<·,·> 为两个K维向量的点乘(K为超参数)
< v i , v j > : = ∑ f = 1 k v i , j ⋅ v j , f <v_i,v_j> := \sum_{f=1}^{k}v_{i,j}·v_{j,f} <vi,vj>:=f=1kvi,jvj,f
因为实践中通常没有足够数据去预估 W ^ \hat W W^因此K值选择数值较小的值。

(3)
w ^ i , j : = < v i , v j > \hat \boldsymbol w_{i,j} := <v_i,v_j> w^i,j:=<vi,vj>
代表第i个变量和第j个变量的相互关系(interaction),因为任意正定矩阵存在一个矩阵 V \boldsymbol V V W = V ⋅ V T \boldsymbol W = \boldsymbol V · \boldsymbol V^\mathrm{T} W=VVT,因此使用因子分解后的 V V V进行转化。

推导

在数据非常稀疏的场景下,由于大部分特征 x i , x j x_{i},x_{j} xi,xj的值为0,因此很难直接求解出 W ^ \hat W W^,因此通过引入辅助变量 V i = ( v i 1 , v i 2 , . . . , v i k ) V_{i}=(v_{i1},v_{i2},...,v_{ik}) Vi=(vi1,vi2,...,vik)
V = ( v 11 v 12 . . . v 1 k v 21 v 22 . . . v 2 k ⋮ ⋮ ⋮ v n 1 v n 2 . .

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值