論文地址:https://arxiv.org/pdf/1703.04247.pdf算法
CTR預估咱們知道在比較多的應用場景下都有使用。如:搜索排序、推薦系統等都有普遍的應用。而且CTR具備極其重要的 地位,特別相對廣告推薦領域來講更加如此,競價廣告須要經過ctr給出相應的價格,並由此得到廣告曝光的機會。而ctr的大小決定了出價的高低,直接會影響到該廣告是否能獲得曝光機會。這裏涉及到計算廣告相關的知識,暫時就不展開講了。這裏主要介紹一下DeepFM該算法的基本原理和網絡框架。網絡
論文整體來看仍是相對比較容易的,主要分爲三個部分:框架
第一部分:算法的主要背景ide
第二部分:DeepFM的基本網絡框架和原理學習
第三部分:實驗(papers必須有的部分)優化
下面分別從我我的理解的角度來講說每一個部分吧:spa
一、DeepFM算法的背景blog
(1)首先咱們一樣要回顧一下FM算法的基本原理,FM主要是在LR的基礎上增長了二階交叉項的概念,從而能夠得到一些轎車特徵。可是算法每一個特徵兩兩交叉的話,算法複雜度是O(n平方),排序
因此,爲了優化FM算法,將矩陣分解應用其中。深度學習
FM的缺點是:
1)僅僅兩兩之間的交叉特徵
2)只能得到二階交叉的特徵,對於高階特徵並無涉及
(2)從16年wide-deep算法中,或多或少的做者受到了一些啓發,因而想到能夠對FM算法利用深度學習進行優化,預計就提出了DeepFM算法。
二、DeepFM算法的基本原理(我的以爲仍是比較簡單的)
(1)整體網絡結構
網絡結構中,主要包含Deep部分和FM部分,網絡結構相似Wide-Deep結構。
(2)算法的原理
首先網絡最終輸出是:
其中,FM部分以下所示:
Deep部分以下所示:
網絡就是這麼簡單,就是講這兩部分的輸出進行求和並輸出。
三、實驗。實驗部分能夠學習別人調節參數的經驗。
(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)