推薦系統中的模型整理 (rank)


模型 簡介 論文
DNN 多層神經網絡 --
Logistic Regression 邏輯回歸 --
FM 因子分解機 Factorization Machine(2010)
FFM Field-Aware FM Field-aware Factorization Machines for CTR Prediction(2016)
FNN Factorisation-Machine Supported Neural Networks Deep Learning over Multi-field Categorical Data(2016)
Deep Crossing Deep Crossing Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features(2016)
PNN Product Network Product-based Neural Networks for User Response Prediction(2016)
wide&deep Deep + wide(LR) Wide & Deep Learning for Recommender Systems(2016)
DeepFM DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction(2017)
DCN Deep Cross Network Deep & Cross Network for Ad Click Predictions(2017)
NFM Neural Factorization Machines Neural Factorization Machines for Sparse Predictive Analytics(2017)
AFM Attentional Factorization Machines Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks(2017)
xDeepFM xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems(2018)
DIN Deep Interest Network Deep Interest Network for Click-Through Rate Prediction(2018)
FGCNN Feature Generation by CNN Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction(2019)
FIBINET Combining Feature Importance and Bilinear feature Interaction 《FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction》(2019)

 

 

DeepFM

 

 

和Wide & Deep的模型類似,DeepFM模型同樣由淺層模型和深層模型聯合訓練得到。不同點主要有以下兩點:

  1. wide模型部分由LR替換為FM。FM模型具有自動學習交叉特征的能力,避免了原始Wide & Deep模型中淺層部分人工特征工程的工作。
  2. 共享原始輸入特征。DeepFM模型的原始特征將作為FM和Deep模型部分的共同輸入,保證模型特征的准確與一致。

文中通過大量實驗證明,DeepFM模型的AUC和Logloss都優於目前的最好效果。效率上,DeepFM和目前最優的效果的深度模型相當。

 

主要做法:

  1. FM Component + Deep Component。FM提取低階組合特征,Deep提取高階組合特征。但是和Wide&Deep不同的是,DeepFM是端到端的訓練,不需要人工特征工程。
  2. 共享feature embedding。FM和Deep共享輸入和feature embedding不但使得訓練更快,而且使得訓練更加准確。相比之下,Wide&Deep中,input vector非常大,里面包含了大量的人工設計的pairwise組合特征,增加了他的計算復雜度。

 

為了同時利用low-order和high-order特征,DeepFM包含FM和DNN兩部分,結果可表示為:

 

FM 部分

 

FM通過隱向量latent vector做內積來表示組合特征,從理論上解決了低階和高階組合特征提取的問題。但是實際應用中受限於計算復雜度,一般也就只考慮到2階交叉特征。

后面又進行了改進,提出了FFM,增加了Field的概念。

FM部分的輸出由兩部分組成:一個 Addition Unit,多個 內積單元

 

這里的d是輸入one-hot之后的維度,我們一般稱之為 `feature_size`。對應的是one-hot之前的特征維度,我們稱之為 `field_size`

Addition Unit 反映的是1階的特征。內積單元反映的是2階的組合特征對於預測結果的影響。

 

Deep Component

Deep Component架構圖:

 

Deep Component是用來學習高階組合特征的。網絡里面黑色的線是全連接層,參數需要神經網絡去學習。

由於CTR或推薦系統的數據one-hot之后特別稀疏,如果直接放入到DNN中,參數非常多,我們沒有這么多的數據去訓練這樣一個網絡。所以增加了一個Embedding層,用於降低緯度。

這里繼續補充下Embedding層,兩個特點:

1. 盡管輸入的長度不同,但是映射后長度都是相同的.`embedding_size(k)`

2. embedding層的參數其實是全連接的Weights,是通過神經網絡自己學習到的。

Embedding層的架構圖:

embedding layer表示為: [公式]

其中 ei 是第 i個 filed 的 embedding,m 是 filed 數量; a(0) 傳遞給deep part,前饋過程如下:

 [公式]

其中 l是層深度,最外層是激活函數, a b w分別是第l層的輸出,權重和偏置。

然后得到dense real-value 特征矢量,最后被送到sigmoid函數做CTR預測: [公式]

其中 |H| 是隱藏層層數 值得注意的是:FM模塊和Deep模塊是共享feature embedding的(也就是V)。

好處:

1. 模型可以從最原始的特征中,同時學習低階和高階組合特征 ;

2. 不再需要人工特征工程。Wide&Deep中低階組合特征就是同過特征工程得到的。

DeepFM優勢/優點:

  1. 不需要預訓練FM得到隱向量
  2. 不需要人工特征工程
  3. 能同時學習低階和高階的組合特征
  4. FM模塊和Deep模塊共享Feature Embedding部分,可以更快更精確地訓練

 

[ 參考 1 ]

[ 參考 2 ]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM