如何利用DeepFM算法设计推荐系统
經過了十幾年的發展,推薦系統在互聯網行業已經變得越來越流行。從早年沒有一個合適的產品形態,到如今在今日頭條和抖音等商業產品中發揮重要作用,推薦系統已經越來越受到互聯網公司和研究界學者的重視。
早年的推薦算法主要是各種單模型,例如邏輯回歸、協同過濾、矩陣分解等等。后來推薦算法演化成了混合模型,例如 GBDT + LR , GBDT + FM 等。而隨著深度學習的崛起,深度神經網絡越來越深刻地影響了推薦系統領域的發展。
Huifeng Guo 等中國國內學者在 IJCAI 2017 發表了一篇題為《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 》的論文,講解了如何將 FM 和深度學習模型進行融合之后進行推薦的算法。
DeepFM 主要有以下三個優點:
DeepFM 的輸入數據為點擊率預估常見的 (X, y) 元組,其中 X 是表示用戶和物品的特征向量,可能包括非數值數據,y 是點擊數據標簽,y = 1 表示用戶點擊了物品,y = 0 表示用戶沒有點擊物品。
DeepFM 的預測函數如下:?, 其實是利用 sigmoid 函數對基于 FM 的預測和基于 DNN 的預測進行了融合。算法模型中的 FM 部分算法架構如下圖所示:
DNN 部分的算法架構如下圖所示:
在混合模型中,FM 和 DNN 共享同一個特征嵌入層。嵌入層的結構如下圖所示:
嵌入層得到的向量記為:?, ?該向量參與到后續的DNN計算中:?,以及? 。
作者隨后在測試數據集合上對近年來的幾種不同的點擊率預估算法進行了測評,選擇的測評標準包括 AUC 和 Log-loss ,測評結果如下圖所示:
與 DeepFM 相比,其他幾種點擊率預估算法有以下缺點:
DeepFM 設計思路簡單,源于 2016 年 Google 的寬深網絡方法但是效果出眾。自推薦系統誕生以來,人們便設計了各種不同的模型融合方法。從修改主題模型的 Collaborative Topic Regression ,到基于 blending 的 GBDT + LR 再到后面的寬深網絡方法, 給我們設計算法提供了不同的思路。算法本身是一個既要考慮模型,又要考慮數據和參數的學科,DeepFM 在如何設計模型層面給我們展示了很好的范例。
原文標題:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction,作者:Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, Xiuqiang He?
總結
以上是生活随笔為你收集整理的如何利用DeepFM算法设计推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark的Dataset操作
- 下一篇: 聊聊CTR预估算法DeepFM