論文地址:https://arxiv.org/pdf/1703.04247.pdf
CTR預估我們知道在比較多的應用場景下都有使用。如:搜索排序、推薦系統等都有廣泛的應用。並且CTR具有極其重要的 地位,特別相對廣告推薦領域來說更加如此,競價廣告需要通過ctr給出相應的價格,並由此獲得廣告曝光的機會。而ctr的大小決定了出價的高低,直接會影響到該廣告是否能得到曝光機會。這里涉及到計算廣告相關的知識,暫時就不展開講了。這里主要介紹一下DeepFM該算法的基本原理和網絡框架。
論文總體來看還是相對比較容易的,主要分為三個部分:
第一部分:算法的主要背景
第二部分:DeepFM的基本網絡框架和原理
第三部分:實驗(papers必須有的部分)
下面分別從我個人理解的角度來說說每個部分吧:
1、DeepFM算法的背景
(1)首先我們同樣要回顧一下FM算法的基本原理,FM主要是在LR的基礎上增加了二階交叉項的概念,從而可以獲得一些轎車特征。但是算法每個特征兩兩交叉的話,算法復雜度是O(n平方),
所以,為了優化FM算法,將矩陣分解應用其中。
FM的缺點是:
1)僅僅兩兩之間的交叉特征
2)只能獲得二階交叉的特征,對於高階特征並沒有涉及
(2)從16年wide-deep算法中,或多或少的作者受到了一些啟發,於是想到可以對FM算法利用深度學習進行優化,預計就提出了DeepFM算法。
2、DeepFM算法的基本原理(個人覺得還是比較簡單的)
(1)總體網絡結構

網絡結構中,主要包含Deep部分和FM部分,網絡結構類似Wide-Deep結構。
(2)算法的原理
首先網絡最終輸出是:
其中,FM部分如下所示:

Deep部分如下所示:

網絡就是這么簡單,就是講這兩部分的輸出進行求和並輸出。
3、實驗。實驗部分可以學習別人調節參數的經驗。
(1)Dropout設置:

從作者的實驗來看,dropout設置為0.9效果最佳
(2)隱藏層數設定

從上圖來看,作者實驗數據表明,隱層數量=3效果最佳
(3)隱藏層神經元個數
神經元個數的變化: constant (200-200-200), increasing (100-200-300),decreasing (300-200-100), and diamond (150-300-150)

