推薦算法的升級之路

本文將介紹常見推薦算法的升級之路,從最初的LR到業界常用的DIN、DIEN等模型。

1. 線性模型

1.1 邏輯迴歸LR

簡介

邏輯迴歸算法是一種監督學習分類算法,對特徵進行線性加權求和,通過Sigmoid變換將結果映射到0-1。

模型結構

假設n個特徵爲線性關係

下面,選取一個函數將結果映射爲0到1,由於階躍函數性質不好,不可導求解過於複雜,選取Sigmoid函數

因此,求得預測值爲y的概率表達式

建立n次預測值爲y的似然估計函數

對應極大對數似然估計函數爲

最後,損失函數表徵預測值與真實值之間的差異程度,極大似然估計函數刻畫的是預測值儘可能逼近y,損失函數可以取爲最大似然估計函數的相反數,其次除以m這一因子並不改變最終求導極值結果,通過除以m可以得到平均損失值,避免樣本數量對於損失值的影響。

結構風險函數 = 經驗風險項  +  正則項  其中損失函數爲經驗風險項的重要組成部分

採取隨機梯度下降更新模型,梯度如下

迭代公式如下

優點

  • 實現簡單,可解釋性強、計算速度快、存儲量小;
  • 融入L0、L1、L2正則項,解決過擬合手段豐富,適用於高維稀疏特徵;
  • 擴展性強,適用於Online Learning模型增量更新;

缺點

  • 特徵工程較複雜,依賴人工構造特徵;
  • 難以學習特徵之間相互關係,數據必須線性可分;
  • 特徵空間較大時,性能較差;

參考文獻

https://blog.csdn.net/yz930618/article/details/104363705

1.2 非線性模型FM、FFM

簡介

因子分解機模型爲了解決數據稀疏的情況下,特徵組合的問題。

模型結構

爲了表述特徵間的相關性,採用多項式模型。在線性模型的基礎上,加入兩兩特徵的組合項。

數據稀疏性普遍存在的實際應用場景中,兩兩特徵同時不爲0的數據較少,導致二階特徵係數的訓練變的十分困難。

爲了克服模型無法在稀疏數據場景下學習二階特徵係數,針對樣本的第i維特徵分量,引入輔助隱向量

其中k爲超參數,表示每個特徵對應一個k維隱向量,則wij可表示爲

因此,將FM模型公式改爲

此時,模型複雜度爲O(n2),下面通過矩陣分解優化計算複雜度。

首先,每個特徵x對應的隱向量組成的矩陣如下

FM模型的二階特徵係數組成的方陣W如下

此時,矩陣W的非對角元素即爲FM的二階特徵係數,利用這點可以對二階項係數展開

(第一個等式含義:由於W爲對稱矩陣,而二階項係數爲W的非對角線元素,因此二階項係數等於W的所有元素之和減去對角線元素之和再除以2)

則FM模型公式如下,使得模型複雜度降低到了線性級別

下面,構建損失函數

其中,對於迴歸問題,損失函數可以取最小平方誤差函數,對於分類問題,損失函數可以取logit邏輯函數。

採取梯度下降更新模型,偏導公式爲

其中

對於FM模型而言,優化的參數爲:

則FM模型方程對各個參數的偏導數爲:

FM算法步驟如下

優點

  • 對一階和二階特徵的都具有較好的學習能力;
  • 訓練和預測的時間複雜度是線性的;
  • 隱向量常用於DNN的embedding vector;

缺點

  • 由於高階特徵具有較高複雜度,僅學習到二階特徵;
  • 特徵與不同類型特徵只用同一隱向量表示;
  • 在實際預測任務中,特徵往往包含多種id,如果不同id組合時採用不同的隱向量,那麼這就是 FFM(Field Factorization Machine) 

參考文獻

https://www.jianshu.com/p/8d792422e582

https://www.cnblogs.com/wkang/p/9588360.html

樹模型GBDT、XGboost、LightGbm

模型融合LR+GBDT、FM+GBDT

深度模型DeepFM、XDeepFM

寬深模型Wide And Deep

興趣網絡DIN、DIEN

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章