FM又又又升级了?
點擊率模型大家都很熟悉了,特別是FM模型, 從最FM->FFM->...->FwFM->最后本篇的FmFM,全稱為 Field-matrixed Factorization Machines,該模型不僅可以做交叉特征的篩選,同時提出了一個高效的方式最小化維度的同時保證模型效果。
先回顧下最簡單的LR,交叉特征需要人工挖掘,最后直接線性加權,然后配上log loss:
然后是Poly2,在LR的基礎上增加特征交叉,每個特征之間都有wi,j要學習,但是數據很稀疏,效果提升一般。
考慮到Poly2對交叉特征處理過于“暴力”,FM因此誕生,使得wi,j=<vi, vj>,這樣參數數量遠遠降低,同時也解決了數據稀疏的問題。
FFM則認為wi,j=<vi, vj>是錯的,沒有考慮到某些特征是屬于同一個field的,因此認為wi,j=<vi, F(j), vj, F(i)>,取得了比FM更好的效果,如下所示:
FwFM被提出,顯示的指明交互特征的權重,因為有些交互特征會給模型帶來負向效果:
FmFM提出用一個矩陣MF(i),F(j)描述不同field之間的交互,如下式所示:
FmFM可以看作FwFM的擴展,這里用一個矩陣代替標量r來描述field之間的交互,該矩陣把特征i的embedding空間映射到特征j的embedding空間,論文給了一個范例解釋了如何計算特征i和j,特征i和k之間的交互特征:
論文接下來對FM家族的統一框架進行了闡述,對于FM而言,我們只需將MF(i),F(j)變成單位矩陣,FmFM就變成FM了。對于FwFM而言,我們容易得到:
所以對于FwFM而言,就是讓MF(i),F(j) = rF(i),F(j)*I。同理,FmFM與FvFM也是有著緊密的聯系,如下式所示:
所以FmFM可以算是一個統一FM/FwFM/FvFM的框架,同時FmFM和OPNN同樣關系緊密。
以下是各個模型的復雜度對比:
看到這里,想問FmFM就這?FmFM其實還有個獨一無二的特性。以往無論什么FM模型,都要求所有特征的維度是統一的,都是K的大小。在FmFM就沒必要統一維度,比如特征i,j,k維度都不同,我們依然可以計算他們之間的特征交叉,如下圖所示:
因為不同field的特征數量不同,需要的維度其實是不同的,比如性別特征,就男/女兩種,沒必要用統一的128維度去表達。然后論文又提出了一個特別好的方法去降低各個特征的維度,一共分為兩步,第一步先統一設定為維度K,然后訓練一個模型,訓練完后對每個特征跑PCA降維,實驗證明保留95%原始方差的降維效果最好,第二步就是降維后重train該模型,兩個模型最終對比效果并沒有下降。
FmFM在不同數據集的表現均不亞于其他FM模型。
在維度優化后,效果依然不遜色。
論文還有很多其他細節,感興趣參考原文。
1、FM2: Field-matrixed Factorization Machines for Recommender Systems
FM"又又又"升級了?更多干貨,請關注公眾號:煉丹筆記總結
- 上一篇: AAAI21最佳论文Informer:效
- 下一篇: 炼丹侠必知的9大池化操作汇总