廣告推薦系統(tǒng)經(jīng)典算法:Deep FM

DeepFM學(xué)習(xí)筆記

引子

DeepFM是經(jīng)過工業(yè)界驗證的比較認(rèn)可的用于解決CTR(廣告點擊)預(yù)測的深度學(xué)習(xí)模型之一。

什么是廣告預(yù)測問題?以淘寶網(wǎng)舉例,在淘寶主頁以及我們搜索結(jié)果頁面中,都有作為廣告出現(xiàn)的商品推薦窗,如果這個窗口推薦的物品正好用戶感興趣,那么用戶就會點進(jìn)去看看啦,這樣這個商品的商家就要付錢給淘寶網(wǎng)站,因為這個點擊進(jìn)來的用戶是通過淘寶推薦來的,這樣淘寶就可以通過推薦廣告賺錢啦。問題就是,淘寶要怎么在大量的商品中選出幾個放到有限的展示窗口中呢?當(dāng)然是最可能被點擊的那些商品廣告啦,怎么預(yù)測商品被點擊的可能性?本文提到的Deep FM就是解決這個預(yù)測問題的方案之一。

概述

將CTR預(yù)測問題轉(zhuǎn)化成一個有監(jiān)督機器學(xué)習(xí)問題,首先要把訓(xùn)練樣本(用戶的點擊、沒有點擊行為)劃分為“特征”和“標(biāo)注”。

特征包括用戶的注冊信息,比如年齡,性別等,以及用戶的購買行為,比如買了一堆GPU的可能是個技術(shù)宅or 游戲宅等等;以及商品本身的特征信息,比如商品的介紹,分類、價格等等。

標(biāo)注就是0、1分別代表當(dāng)前的用戶沒有點擊或者有點擊這個商品的廣告。

這個CTR問題有個特性,相比于圖像識別問題或者語音識別問題,CTR的特征往往是高維而且稀疏的,比如我們把男、女這個類別特征通過1-hot 編碼成為01 和 10 兩個向量,這樣一個特征就變成了2維,同樣的道理,其他的類類別特征如果通過1-hot編碼也會大大增加特征的維度。對于連續(xù)的特征,我們可能會通過分桶,也把它們轉(zhuǎn)化成了高維的特征。

在很多情況下,我們用這些特征判斷用戶的點擊行為可能需要綜合多個特征來進(jìn)行,比如年齡在18-30歲的女生比較關(guān)注顏色比較時髦的唇膏商品,這個判斷就用了年齡和性別兩個特征來綜合決策最終的label。那么有很多前人提出了多種多樣的模型來解決這個特征交叉的問題。比如FM(Factorization Machines)就提出了先學(xué)一個特征的embedding(就是用一個低維的向量來表示高維稀疏的特征向量),然后通過不同特征組的embedding的乘積來實現(xiàn)這個“特征交叉“的操作。可惜的是,由于排列組合的數(shù)量幾乎是指數(shù)上升的,考慮到模型的復(fù)雜度,實際應(yīng)用中往往只能學(xué)習(xí)低階的特征交叉,也就是FM只能學(xué)習(xí)到利用了2~3個特征的判別用戶點擊行為的模式。當(dāng)我們需要判斷一個用了用戶年齡、性別、職業(yè)、收入、月度購買量等等比較多的特征的用戶行為模式的時候怎么辦呢?有人提出可以用DNN(深度神經(jīng)網(wǎng)絡(luò))來解決這個問題,用深層的神經(jīng)網(wǎng)絡(luò)來模擬高維的用戶特征融合模式。但是問題是,我們?nèi)绻瑫r需要判斷高維和低維的特征模式,這個時候怎么辦呢?本文介紹的Deep FM就派上用場了。

方法


如圖一所示,整個Deep FM的架構(gòu)分為左右兩個層次,左邊是FM,右邊是Deep。。哈哈估計名字就是這么來的。樣本的特征由下至上輸入,最下一層是上面提到過的高維稀疏特征。


由于輸入的高維稀疏特征向量是由更低維的特征向量(比如用戶性別的1-hot編碼向量,用戶年齡的分桶離散化的向量等)組合而成的,在第一層分別將這些向量編碼成同樣長度的embedding,這樣更方便表示每個低維向量組的信息,方便后續(xù)計算。入圖2所示。

在Deep FM的架構(gòu)的左邊FM中,這一層經(jīng)過embedding編碼的特征向量經(jīng)過了FM的乘積層獲得了低維的特征交叉組合,然后通過一個輸出層輸出。


圖中y代表FM層輸出,<w,x>代表權(quán)重w和原始feature層向量x的內(nèi)積,Vi表示原始特征向量x中第i個低維特征向量的embedding表示。


圖3代表Deep FM架構(gòu)中的DNN部分。由于和FM共用了第一層特征的embedding向量層,這樣在反向傳播算法的訓(xùn)練過程中,這個淺層特征embedding可以受到高維特征交叉和低維特征交叉的影響學(xué)的更好些(論文原話)。

這個DNN的層數(shù)根據(jù)原始論文中的實驗大概取3~5層,更多的層數(shù)會導(dǎo)致過擬合。

總結(jié)

這個Deep FM模型有幾個特點:

1. 它不需要預(yù)訓(xùn)練,可以直接端到端的訓(xùn)練

2. 它結(jié)合了深層和淺層的特征交叉信息

3. 通過共享embedding它省去了特征工程的工作,更方便使用。

Deep FM的工作據(jù)說擊敗了當(dāng)時的state of the art,但是目前又有很多新的paper出現(xiàn),比如阿里的DIN等,我們下次再說~

參考文獻(xiàn):

1. DeepFM:A Factorization-Machine based Neural Network for CTR Prediction

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容