1. 模型演進 LR -> POLY2 -> FM -> FFM
1.1 LR模型 - 融合多種特征的推薦模型
- 線性回歸模型數(shù)學表達式如下:
- 邏輯回歸數(shù)學表達式如下:
- 邏輯回歸模型的優(yōu)缺點:(1)相比協(xié)同過濾模型僅利用用戶與物品的相互行為信息進行推薦刚盈,邏輯回歸模型能夠綜合利用用戶、物品扯俱、上下文等多種不同的特征,生成較為全面的推薦結果纺涤;(2)邏輯回歸的另外一種表現(xiàn)形式的感知機作為神經網絡中最基礎的單一神經元狰闪,是深度學習的基礎性結構永淌;(3)可解釋性強:邏輯回歸的數(shù)學形式是各特征的加權合,再施以sigmoid函數(shù)见秤。邏輯回歸的簡單數(shù)學形式非常符合人類對預估過程的直觀認知砂竖。(4)邏輯回歸模型的局限性:表達能力不強,無法進行特征交叉鹃答;需要人工進行特征交叉乎澄。
邏輯回歸模型參數(shù)估計參考:http://www.reibang.com/p/f7b6cd2f8567
1.2 POLY2模型 - 特征交叉的開始
- 針對特征交叉問題,算法工程師經常采用先手動組合特征测摔,再通過各種分析手段帥選特征的方法置济,但該方法是比較低效率的解恰;因此采用POLY2模型進行特征的“暴力”組合成了可行的選擇。
- 從上述公式可以看到浙于,POLY2(多項式核SVM)對所有特征進行了兩兩交叉(
)护盈,并對所有的特征組合賦予權重
[標量]。POLY2通過暴力組合特征的方式羞酗,在一定程度上解決了特征組合的問題腐宋。POLY2模型本質上仍是線性模型,其訓練方法與邏輯回歸并無區(qū)別檀轨,因此便于工程上的兼容胸竞。
-
POLY2模型存在兩個較大的缺陷: (1)在處理互聯(lián)網數(shù)據時,經常采用one-hot編碼的方式處理類別數(shù)據参萄,致使特征向量極度稀疏卫枝,POLY2進行無選擇的特征交叉。原本就稀疏的特征向量更加稀疏拧揽,導致大部分交叉特征的權重缺乏有效的數(shù)據進行訓練剃盾,無法收斂。(2)權重參數(shù)的數(shù)量由
直接上升至
淤袜,極大地增加了訓練復雜度痒谴。
1.3 FM模型 - 隱向量特征交叉
- 為了解決POLY2模型的缺陷,2010年Rendle提出了FM模型铡羡;與POLY2相比积蔚,其主要的區(qū)別是用兩個向量的內積(
[向量])取代了單一的權重系數(shù)
。具體來說烦周,F(xiàn)M為每個特征學習了一個隱權重向量(latent vector)尽爆,在特征交叉時,使用兩個特征隱向量的內積作為交叉特征的權重读慎。
向量內積運算.png
- 本質上漱贱,F(xiàn)M引入隱向量的做法,與矩陣分解用隱向量代表用戶和物品的做法異曲同工夭委。可以說幅狮,F(xiàn)M是將矩陣分解隱向量的思想進行了進一步擴展,從單純的用戶株灸、物品隱向量擴展到所有特征上崇摄。 FM通過引入特征隱向量的方式,直接把POLY2模型
級別的權重參數(shù)數(shù)量減少到了
(
為隱向量維度慌烧,
)
- 隱向量的引入使得FM能夠更好地解決數(shù)據稀疏性問題逐抑。 例如,在某商品推薦的場景下屹蚊,樣本有兩個特征厕氨,分別是channel和brand进每。某訓練樣本的特征組合是(ESPN, Adidas)。在POLY2中腐巢,只有當ESPN和Adidas同時出現(xiàn)在一個訓練樣本時品追,模型才能學到這個組合特征對應的權重。而在FM中冯丙,ESPN的隱向量也可以通過(ESPN, Gucci) 樣本進行更新肉瓦,Adidas的隱向量也可以通過(NBC, Adidas)樣本進行更新,這大幅度降低了模型對數(shù)據稀疏性的要求胃惜。甚至對于一個從未出現(xiàn)過的特征組合(NBC, Gucci)泞莉,由于模型之前已經分別學習過NBC和Gucci的隱向量,具備了計算該特征組合權重的能力船殉,這是POLY2無法實現(xiàn)的鲫趁。
1.4 FFM模型 - 引入特征域的概念
- 相比FM模型,F(xiàn)FM模型引入了特征域感知(field-aware)這一概念利虫,使模型的表達能力更強挨厚。假設樣本的
個特征屬于
個field,那么FFM的二次項有
個隱向量糠惫。而在FM模型中疫剃,每一維特征的隱向量只有一個。FM可以看做FFM的特例硼讽,是把所有特征都歸屬到一個field的FFM模型巢价。FFM模型公式如下:
- 上式中,
是第
個特征所屬的field固阁;當
與
進行特征交叉時壤躲,
從其
個隱向量中挑選出
與特征
進行交叉。如果隱向量長度為
备燃,那么FFM的二次參數(shù)有
個碉克,遠遠多于FM模型的
個。此外并齐,由于隱向量與field相關棉胀,F(xiàn)FM二次項并不能夠化簡,其計算復雜度是
冀膝。
- 【特征域的概念解釋】 簡單地講,“域”代表特征域霎挟,域內的特征一般采用one-hot編碼形成的一段one-hot特征向量窝剖。例如,用戶的性別分為:男酥夭,女赐纱,未知三類脊奋。那么對于一個女性用戶來說,采用one-hot方式編碼的特征向量為[0,1,0]疙描,這個三維的特征向量就是一個“性別”特征域诚隙。將所有特征域拼接起來,就組成了樣本的整體特征向量起胰。
- FFM原理舉例說明久又,假設在訓練推薦模型過程中接收到的訓練樣本如下。其中Publisher效五、Advertiser地消、Gender就是三個特征域,ESPN畏妖、NIKE脉执、Male分別是這三個特征域的特征值(需要轉化成one-hot特征); 如果按照FM的原理戒劫,特征ESPN半夷、NIKE和Male都有對應的隱向量
,那么ESPN特征與NIKE特征迅细、ESPN特征與Male特征做交叉的權重應該是
和
巫橄,其中ESPN對應的隱向量
在兩次特征交叉過程中是不變的。而在FFM中疯攒,ESPN與NIKE嗦随、ESPN與Male交叉時候特征是不一樣的,分別是
和
敬尺;這就是FM和FFM主要的差別枚尼。
image.png
2. 如何提升FM計算效率?
- 對于FM模型二階項(
)的時間復雜度為:
砂吞,對二階項進行改寫后的時間復雜度為:
署恍,其中
是特征數(shù)量,
表示隱向量維度蜻直。
-
【step1】計算說明如下:FM二階項計算的是下面所有黃色正方形相加之和盯质;
step1計算說明.png - 【step2】比較好理解,就是把
的計算展開:
- 【step3】計算說明如下:可以假設
概而;
step3計算說明.png - 【step4】說明:
和
是相等的呼巷,因為是在隱向量的第
維,對所有特征求和赎瑰;
step4計算說明.png
3. MF與FM模型的關系王悍?
- MF(Matrix Factorization,矩陣分解)模型是在推薦系統(tǒng)領域資深的協(xié)同過濾模型餐曼。核心思想是通過兩個低維小矩陣(一個代表用戶embedding矩陣压储,一個代表物品embedding矩陣)的乘積計算鲜漩,來模擬真實用戶點擊或評分產生的大的協(xié)同信息稀疏矩陣。當訓練完成集惋,每個用戶和物品得到對應的低維embedding表達后孕似,如果要預測某個用戶
對
的評分的時候,只要它們做個內積運算
刮刑,這個得分就是預測得分喉祭。
矩陣分解模型.png - 本質上,MF模型是FM模型的特例为朋,MF可以認為是只有User ID和Item ID這兩個特征Fields的FM模型臂拓;MF將這兩類特征通過矩陣分解,來達到將這兩類特征embedding化表達的目的习寸。 而 FM可以看做是MF模型的進一步擴展胶惰,除了User ID和Item ID這兩類特征外,很多其它類型的特征霞溪,都可以進一步融入FM模型里孵滞,它將所有這些特征轉化為embedding低維向量表達,并計算任意兩個特征embedding的內積鸯匹,就是特征組合的權重坊饶。
MF與FM的關系.png
參考資料
- FM論文:Factorization Machines https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf
- FFM論文:Field-aware Factorization Machines for CTR Prediction https://www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf
- 《深度學習推薦系統(tǒng)》 - 王喆
- 推薦系統(tǒng)召回四模型之:全能的FM模型 https://zhuanlan.zhihu.com/p/58160982
- 深入FFM原理與實踐 https://tech.meituan.com/2016/03/03/deep-understanding-of-ffm-principles-and-practices.html