Field-aware Factorization Machines for CTR Prediction

论文链接:
https://www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf

主要内容

Field-aware Factorization Machines(FFM)场感知分解机是FM的变种,FM的变体称为成对相互作用张量因子化(PITF)被提出用于个性化标签推荐。在2012年KDD杯中,PITF被称为“因子模型”的概括由Team Opera提出。因为这个术语太笼统,很容易与分解机器混淆,我们称之为“现场感知分解机器”(FFM)PITF和FFM之间的区别在于PITF考虑了三个特殊字段,包括“用户”,“项目”和“标记”,而FFM则更为通用。

VS Poly2&FM

Poly2:
ϕ P o l y 2 ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n w h ( j 1 , j 2 ) x j 1 x j 2 \phi_{\mathrm{Poly} 2}(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n} \sum_{j_{2}=j_{1}+1}^{n} w_{h\left(j_{1}, j_{2}\right)} x_{j_{1}} x_{j_{2}} ϕPoly2(w,x)=j1=1nj2=j1+1nwh(j1,j2)xj1xj2
FM:
ϕ F M ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 ⋅ w j 2 ) x j 1 x j 2 \phi_{\mathrm{FM}}(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n} \sum_{j_{2}=j_{1}+1}^{n}\left(\boldsymbol{w}_{j_{1}} \cdot \boldsymbol{w}_{j_{2}}\right) x_{j_{1}} x_{j 2} ϕFM(w,x)=j1=1nj2=j1+1n(wj1wj2)xj1xj2
在稀疏数据集上,FMs模型要比poly2模型好一些,比如对于上述例子中,对于pair(ESPN,Adidas)只有一个唯一的负样本,通过poly2模型会学习到一个大的负向权重对于这个pair,然而对于FMs来说,因为它是学习ESPN和Adidas的隐向量表示,所有包含ESPN的样本和所有Adidas的样本都会被分别用来学习这2个隐向量,所以它的预测会更准确一些。

FFM模型

原文挺清楚的,这边排版不好的话推荐看原文

In our example, φFFM(w,x) is wESPN,A · wNike,P + wESPN,G · wMale,P + wNike,G · wMale,A. We see that to learn the latent effect of (ESPN, NIKE),wESPN,A is used because Nike belongs to the field Adver- tiser, and wNike,P is used because ESPN belongs to the field Publisher. Again, to learn the latent effect of (EPSN, Male), wESPN,G is used because Male belongs to the field Gender, and wMale,P is used because ESPN belongs to the field Pub- lisher. Mathematically,
ϕ F F M ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 , f 2 ⋅ w j 2 , f 1 ) x j 1 x j 2 \phi_{\mathrm{FFM}}(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n} \sum_{j_{2}=j_{1}+1}^{n}\left(\boldsymbol{w}_{j_{1}, f_{2}} \cdot \boldsymbol{w}_{j_{2}, f_{1}}\right) x_{j_{1}} x_{j_{2}} ϕFFM(w,x)=j1=1nj2=j1+1n(wj1,f2wj2,f1)xj1xj2
f2表示j2的field,f1表示j1的field。

具体代码实现见:
https://github.com/DrWelles/CTR_Prediction

结论

FFM还支持并行化处理,所以速度比较快。FFM在稀疏数据的处理上比LM,poly2,FM效果要好很多,它把field的概念融入了FM中,很值得学习。实际在运用的时候要根据具体的问题来调参才会达到比较好的效果。

参考:
https://www.zuanbi8.com/talk/16476.html
https://blog.csdn.net/john_xyz/article/details/78933253

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值