如何利用DeepFM算法設(shè)計(jì)推薦系統(tǒng)
譯文【51CTO.com快譯】經(jīng)過(guò)了十幾年的發(fā)展,推薦系統(tǒng)在互聯(lián)網(wǎng)行業(yè)已經(jīng)變得越來(lái)越流行。從早年沒有一個(gè)合適的產(chǎn)品形態(tài),到如今在今日頭條和抖音等商業(yè)產(chǎn)品中發(fā)揮重要作用,推薦系統(tǒng)已經(jīng)越來(lái)越受到互聯(lián)網(wǎng)公司和研究界學(xué)者的重視。
早年的推薦算法主要是各種單模型,例如邏輯回歸、協(xié)同過(guò)濾、矩陣分解等等。后來(lái)推薦算法演化成了混合模型,例如 GBDT + LR , GBDT + FM 等。而隨著深度學(xué)習(xí)的崛起,深度神經(jīng)網(wǎng)絡(luò)越來(lái)越深刻地影響了推薦系統(tǒng)領(lǐng)域的發(fā)展。
Huifeng Guo 等中國(guó)國(guó)內(nèi)學(xué)者在 IJCAI 2017 發(fā)表了一篇題為《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 》的論文,講解了如何將 FM 和深度學(xué)習(xí)模型進(jìn)行融合之后進(jìn)行推薦的算法。
DeepFM 主要有以下三個(gè)優(yōu)點(diǎn):
- DeepFM 可以對(duì)低階特征交互和高階特征交互進(jìn)行建模,不需要進(jìn)行特征工程。
 - DeepFM 可以高效的進(jìn)行訓(xùn)練,因?yàn)槟P蛯挼牟糠趾蜕畹牟糠?,不僅共享輸入,也共享嵌入式向量。
 - 實(shí)驗(yàn)數(shù)據(jù)表明 DeepFM 可以在點(diǎn)擊率預(yù)估問(wèn)題上取得優(yōu)秀的效果。
 
DeepFM 的輸入數(shù)據(jù)為點(diǎn)擊率預(yù)估常見的 (X, y) 元組,其中 X 是表示用戶和物品的特征向量,可能包括非數(shù)值數(shù)據(jù),y 是點(diǎn)擊數(shù)據(jù)標(biāo)簽,y = 1 表示用戶點(diǎn)擊了物品,y = 0 表示用戶沒有點(diǎn)擊物品。
DeepFM 的預(yù)測(cè)函數(shù)如下:
 , 其實(shí)是利用 sigmoid 函數(shù)對(duì)基于 FM 的預(yù)測(cè)和基于 DNN 的預(yù)測(cè)進(jìn)行了融合。算法模型中的 FM 部分算法架構(gòu)如下圖所示:
DNN 部分的算法架構(gòu)如下圖所示:
在混合模型中,F(xiàn)M 和 DNN 共享同一個(gè)特征嵌入層。嵌入層的結(jié)構(gòu)如下圖所示:
嵌入層得到的向量記為:
 ,  該向量參與到后續(xù)的DNN計(jì)算中:
 ,以及
  。
作者隨后在測(cè)試數(shù)據(jù)集合上對(duì)近年來(lái)的幾種不同的點(diǎn)擊率預(yù)估算法進(jìn)行了測(cè)評(píng),選擇的測(cè)評(píng)標(biāo)準(zhǔn)包括 AUC 和 Log-loss ,測(cè)評(píng)結(jié)果如下圖所示:
與 DeepFM 相比,其他幾種點(diǎn)擊率預(yù)估算法有以下缺點(diǎn):
- FNN : FNN 是一個(gè)由 FM 初始化的前向神經(jīng)網(wǎng)絡(luò)。FM 預(yù)訓(xùn)練策略有如下兩個(gè)問(wèn)題:1). 嵌入層參數(shù)受 FM 影響較大 2). FM 預(yù)訓(xùn)練對(duì)算法效率有影響。另外,F(xiàn)M 只包含了高階特征組合。
 - PNN : PNN 及其變種 IPNN 和 OPNN 忽略了低階特征的組合。
 - 寬深網(wǎng)絡(luò):寬身網(wǎng)絡(luò)的 FM 部分需要人工處理特征工程。
 
DeepFM 設(shè)計(jì)思路簡(jiǎn)單,源于 2016 年 Google 的寬深網(wǎng)絡(luò)方法但是效果出眾。自推薦系統(tǒng)誕生以來(lái),人們便設(shè)計(jì)了各種不同的模型融合方法。從修改主題模型的 Collaborative Topic Regression ,到基于 blending 的 GBDT + LR 再到后面的寬深網(wǎng)絡(luò)方法, 給我們?cè)O(shè)計(jì)算法提供了不同的思路。算法本身是一個(gè)既要考慮模型,又要考慮數(shù)據(jù)和參數(shù)的學(xué)科,DeepFM 在如何設(shè)計(jì)模型層面給我們展示了很好的范例。
原文標(biāo)題:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction,作者:Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, Xiuqiang He
汪昊,恒昌利通資深架構(gòu)師,美國(guó)猶他大學(xué)碩士,在百度,新浪,網(wǎng)易,豆瓣等公司有多年的研發(fā)和技術(shù)管理經(jīng)驗(yàn),擅長(zhǎng)機(jī)器學(xué)習(xí),大數(shù)據(jù),推薦系統(tǒng),社交網(wǎng)絡(luò)分析,計(jì)算機(jī)圖形學(xué),可視化等技術(shù)。在 TVCG 和 ASONAM 等國(guó)際會(huì)議和期刊發(fā)表論文 8 篇。本科畢業(yè)論文獲國(guó)際會(huì)議 IEEE SMI 2008 ***論文獎(jiǎng)。
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】



















 
 
 











 
 
 
 