【每周一文】Field-aware Factorization Machine(2014)

概述

FFM 近年来在各类比赛取得不俗的成绩,该文介绍了FFM的算法思路和求解过程。

FFM模型

线性模型由于其简单好优化在工业界广泛使用,特别是LR、SVM等表达能力比较强的线性模型。这些模型一个共同的问题是需要人工进行特征组合进行模型优化,沿着这个思路出现了几个模型。

线性模型

基础模型,表示为:

Φ(w,x)=w0+i=1nwixi

线性模型对特征进行线性加权去表达目标,表达能力较弱。

2阶多项式模型

为了考虑二维特征组合,考虑如下模型

Φ(w,x)=w0+i=1nwixi+i=1nj=i+1nwi,jxi,j

加入一个二次项,将特征进行两两组合。此时能够自动进行特征组合,但是模型计算复杂度和本身复杂度都较大。

FM模型

多项式模型相当于得到一个权重的矩阵,并且非常稀疏,可以采用降维的思路将权重表示成一个向量,由此得到FM模型

Φ(w,x)=w0+i=1nwixi+i=1nj=i+1n<vi,vj>xixj

这样可以解决样本不足导致过拟合的问题,但是FM模型本身也比较容易过拟合,并且向量长度不好选择,过长不容易优化,过短效果不好。

FFM模型

FM模型的改进,将特征进行按照域划分,在每一个维度上都学到一个向量表示,此时选择较小的向量长度就可以得到较好的效果,目标如下:

Φ(w,x)=w0+i=1nwixi+i=1nj=i+1n<vi,fj,vj,fi>xixj

(FFM提出者直接将常数项和一次项去掉)

FFM-LR

基于FFM的LR模型的损失函数表示为

mini=1L(log(1+exp(yiϕ(w,x)))+λ2||w||2)

求解思路

直接采用SGD进行求解。具体可以参考

总结

目前FFM模型在公司CTR、CVR预估上广泛使用,由于该类预测问题会很自然的将特征划分为用户特征、广告特征和上下文特征等,采用FM模型交叉太多而且模型也非常大。采用FFM能够进行特定域下的交叉,方便也很直观。

你可能感兴趣的:(ML,每周一文,CTR)