深入理解FFM(一)

本文深入探讨FFM(Field-Aware Factorization Machines),一种在CTR预测中表现优异的模型。文章从二阶多项式模型(POLY2)和因子分解机(FM)出发,解释了FFM如何结合两者的优势,特别是在处理海量稀疏数据时的有效性。通过算法描述和数学推导,展示了FFM如何学习特征交互项的系数,并提供了训练FFM模型的SGD迭代过程。
摘要由CSDN通过智能技术生成

0. 导言

最近在参加IJCAI18的pCVR预估比赛,比赛到了复赛也是真正比拼模型和算法的时候了。初赛90%的时间都在做一个勤劳的”挖掘机”,但是到了复赛,光挖特征已经无法做到很好的提升了,这时候就是拼模型了。做CTR模型的人,FFM一定是绕不过去的,因此借此机会,在这里按照论文[1]仔细的推敲(翻译:p)下FFM背后的数学原理。

field-aware factorization machines(FFM)是基于FM和二阶多项式模型的扩展。在大量的CTR预估比赛中大放异彩。FFM在处理海量稀疏数据的分类问题时十分有效。
我们定义数据集为 (yi,xi),i=1,...,n ( y i , x i ) , i = 1 , . . . , n ,其中 xi x i p p 维特征向量。我们知道带 l 2 正则的Logistic regression可以表示为这样的一个优化问题:

maxwλ2w22+i=1nlog(1+exp(yiϕLM(w,xi))) max w λ 2 ‖ w ‖ 2 2 + ∑ i = 1 n l o g ( 1 + e x p ( − y i ϕ L M ( w , x i ) ) )
其中 ϕLM(w,xi)=wxi ϕ L M ( w , x i ) = w ⋅ x i

然而在CTR预估任务中,特征之间的相互作用是绝不能忽视的,甚至能表达出单个特征无法表达出的信息(见论文中Table 1的例子)。为了学习到特征交互项之前的系数,我们可以用两种方法。第一个方法就是将原始的线性部分 ϕLM ϕ L M 进行二阶多项式 (Poly2) ( P o l y 2 ) 转换,而第二个方法就是用FM模型。如果我们将两个模型做一些适当的结合,当当当~就出来了我们的FFM。接下来我们将详细介绍下这两个方法和他们是如何结合的具体细节。

1. POLY2

多项式模型(二阶)其实我们中学就学过,现在我们用更专业的语言定义一下
ϕPoly2(w,x)=j1=1pj2=j1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值