天天看點

【每周一文】Field-aware Factorization Machine(2014)概述FFM模型總結

概述

FFM 近年來在各類比賽取得不俗的成績,該文介紹了FFM的算法思路和求解過程。

FFM模型

線性模型由于其簡單好優化在工業界廣泛使用,特别是LR、SVM等表達能力比較強的線性模型。這些模型一個共同的問題是需要人工進行特征組合進行模型優化,沿着這個思路出現了幾個模型。

線性模型

基礎模型,表示為:

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

線性模型對特征進行線性權重去表達目标,表達能力較弱。

2階多項式模型

為了考慮二維特征組合,考慮如下模型

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

加入一個二次項,将特征進行兩兩組合。此時能夠自動進行特征組合,但是模型計算複雜度和本身複雜度都較大。

FM模型

多項式模型相當于得到一個權重的矩陣,并且非常稀疏,可以采用降維的思路将權重表示成一個向量,由此得到FM模型

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

這樣可以解決樣本不足導緻過拟合的問題,但是FM模型本身也比較容易過拟合,并且向量長度不好選擇,過長不容易優化,過短效果不好。

FFM模型

FM模型的改進,将特征進行按照域劃分,在每一個次元上都學到一個向量表示,此時選擇較小的向量長度就可以得到較好的效果,目标如下:

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

(FFM提出者直接将常數項和一次項去掉)

FFM-LR

基于FFM的LR模型的損失函數表示為

min∑i=1L(log(1+exp(−yiϕ(w,x)))+λ2||w||2)

求解思路

直接采用SGD進行求解。具體可以參考

總結

目前FFM模型在公司CTR、CVR預估上廣泛使用,由于該類預測問題會很自然的将特征劃分為使用者特征、廣告特征和上下文特征等,采用FM模型交叉太多而且模型也非常大。采用FFM能夠進行特定域下的交叉,友善也很直覺。

繼續閱讀