DeepCTR專題:DeepFM論文學習和實現及感悟

 

 

論文地址: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)

    

相關文章
相關標籤/搜索