推荐系统(5)-深度推荐模型-AutoRec、DeepCrossing、NeuralCF、PNN、WideDeep、FNN、DeepFM、NFM
GBDT+LR
- 1. AutoRec-2015
- 2. Deep Crossing-2016
- 3. NeuralCF-2016
- 4. PNN-2016
- 5. Wide&Deep-2016
- 6. Deep&Cross-2017
- 7.FM+深度學(xué)習(xí)
- 7.1 FNN-2016
- 7.2 DeepFM-2017
- 7.3 NFM-2017
《深度學(xué)習(xí)/推薦系統(tǒng)》讀書筆記
2016年開始,推薦系統(tǒng)和計算廣告全面進(jìn)入深度學(xué)習(xí)時代。
(太多的模型,一搞就混了,沒意思。)
圍繞:特征如何更好的交叉,發(fā)現(xiàn)新的特征
以下方案基本囊括了特征工程的所有思路,(僅從特征工程的角度出發(fā))模型進(jìn)一步提升的空間非常小了,這也是這類模型的局限性所在。
1. AutoRec-2015
(澳大利亞國立大學(xué))
核心思想:利用自編碼器重構(gòu)用戶對物品的評分向量,再利用對物品評分的預(yù)估進(jìn)行推薦排序。
自編碼器:使輸出向量與輸入向量盡可能接近,可以用來做數(shù)據(jù)壓縮和降維。
數(shù)據(jù)壓縮和降維說的是,自編碼器的參數(shù)數(shù)量要遠(yuǎn)小于輸入向量的維度
AutoRec-用一個三成神經(jīng)網(wǎng)絡(luò)構(gòu)建自編碼器,輸出層與輸入層具有相同維度。
若輸入向量為rir^iri,重建函數(shù)為h(ri,θ)h(r^i,\theta)h(ri,θ),AutoRec目標(biāo)函數(shù)為
min?θ∑i=1n∣∣ri?h(ri,θ)∣∣2+λ2∣∣θ∣∣2\min_\theta\sum_{i=1}^n||r^i-h(r^i,\theta)||^2+\frac{\lambda}{2}||\theta||^2θmin?i=1∑n?∣∣ri?h(ri,θ)∣∣2+2λ?∣∣θ∣∣2
Item Based AutoRec–物品評分向量–共現(xiàn)矩陣的列向量
User Based AutoRec–用戶評分向量–共現(xiàn)矩陣的行向量
優(yōu)點:三層自編碼器簡單
缺點:表達(dá)能力不足
2. Deep Crossing-2016
(微軟)
Deep Crossing 模型的應(yīng)用場景-Bing中搜索廣告推薦場景。用戶在搜索引擎中輸入搜索詞后,引擎出了會返回相關(guān)的結(jié)果,還會返回相關(guān)的廣告。這是大多數(shù)搜索引擎的盈利模式。準(zhǔn)確地預(yù)測關(guān)稿的點擊率,并以此作為關(guān)稿排序指標(biāo)之一,是非常重要的工作。
某條廣告預(yù)測點擊率可能用到的特征:搜索詞,廣告關(guān)鍵詞,標(biāo)題,落地頁(不懂),匹配類型,歷史點擊率,另一個CTR模型預(yù)估的點擊率,廣告投放計劃,曝光/點擊樣例(不懂)
Deep Crossing 主要包括4層,用來解決-原始特征稀疏、特征自動交叉、輸出層特征優(yōu)化三個問題。
3. NeuralCF-2016
(新加坡國立大學(xué))
NeuralCF - 廣義矩陣分解模型-將矩陣分解后的用戶向量和物品向量 通過 互操作層相互作用后 得出用戶對物品的評分。
優(yōu)點:靈活組合不同的 互操作層 特征,按需增加或者減少模型復(fù)雜度
局限性:基于協(xié)同過濾的思想構(gòu)造,沒有更多的引入其他類型的特征。所提供的互操作就兩種,更多的方式需要后來者進(jìn)行更深入的研究。
4. PNN-2016
上海交通大學(xué)–加強特征交叉能力–多組特征的之間的交叉(NeuralCF只有用戶向量和物品向量)
PNN創(chuàng)新點–使用了乘積層代替了Deepcross中的stack 層,就是說不同特征的Embedding向量不再是簡單的拼接,而是用Product操作進(jìn)行兩兩交互。
Product層包括線形操作部分和乘積操作部分。
a). 內(nèi)積操作–沒啥特殊
b). 外積操作–將所有特征兩兩外積矩陣疊加,形成疊加外積互操作矩陣:p=fΣfΣTp=f_{\Sigma}f^T_{\Sigma}p=fΣ?fΣT?。
疊加外積互操作矩陣的缺陷–等價于讓所有的emdedding過一個平均池化,再作內(nèi)積。不在同一個向量空間的特征向量(年齡,地域)相加,會造成信息模糊。
5. Wide&Deep-2016
google–google play推薦團(tuán)隊–單層Wide和多層Deep組合形成混合模型,綜合利用記憶能力和泛化能力。
記憶能力:模型直接學(xué)習(xí)并利用歷史數(shù)據(jù)中物品或者特征的“共現(xiàn)頻率”的能力。
強組合特征:如果點擊過A,就推薦B。協(xié)同過濾和邏輯回歸很容易發(fā)現(xiàn)這種聯(lián)系。例如通過加大A的特征權(quán)重,這樣就實現(xiàn)了對這個特征的直接記憶。
泛化能力:模型發(fā)掘稀疏甚至稀有特征與最終標(biāo)簽相關(guān)性的能力。
矩陣分解比協(xié)同過濾泛化能力強,就是因為矩陣分解引入了隱向量,使得數(shù)據(jù)稀少的用戶或者物品也能生成隱向量,從而獲得有數(shù)據(jù)支撐的推薦得分。(非常典型的將全局?jǐn)?shù)據(jù)傳遞到稀疏物品上,提高了泛化能力)
Wide&Deep 模型結(jié)構(gòu): 單層Wide和多層Deep的輸出拼接后直接輸入到輸出層。
(在具體特征工程和輸入層設(shè)計中,展現(xiàn)了Google PLay推薦團(tuán)隊對業(yè)務(wù)場景的深刻理解)
Wide特征交叉操作–交叉積變化(解釋完反而懵了)–多個特征向量的同一維度都為1,輸出向量該維度才為1?
Deep&Wide模型的最主要共現(xiàn)–模型融合的魅力。
6. Deep&Cross-2017
斯坦福+google聯(lián)合-在Wide&Deep的基礎(chǔ)上,優(yōu)化Wide部分,變?yōu)镃ross網(wǎng)絡(luò)。
Cross網(wǎng)絡(luò)的目的–增加特征之間的交互力度,多層交叉層。(每一層均保留了輸入向量)
xl+1=x0xlTWl+bl+xlx_{l+1}=x_0x_l^TW_l+b_l+x_lxl+1?=x0?xlT?Wl?+bl?+xl?
7.FM+深度學(xué)習(xí)
7.1 FNN-2016
倫敦大學(xué)
改進(jìn)點:DeepCross模型中embedding層的權(quán)重用FM模型訓(xùn)練出的權(quán)重向量進(jìn)行初始化
問題緣起:embedding層采用隨機初始化,收斂非常慢。主要原因有二
7.2 DeepFM-2017
哈工大+華為公司
改進(jìn)點:用FM代替Deep&wide中的wide,提高特征交叉能力
FM部分和Deep 部分共享稠密的embedding層。
7.3 NFM-2017
新加坡國立大學(xué)
改進(jìn)點:在Deep&wide模型中的deep 部分增加了特征交叉池化層
特征交叉池化層:所有稠密embedding 兩兩數(shù)量積之后求和,輸入到后續(xù)的深層網(wǎng)絡(luò)中。
改進(jìn)點的另一種看法:FM中的二階交叉部分采用神經(jīng)網(wǎng)絡(luò)來擬合。
總結(jié)
以上是生活随笔為你收集整理的推荐系统(5)-深度推荐模型-AutoRec、DeepCrossing、NeuralCF、PNN、WideDeep、FNN、DeepFM、NFM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的命令解析getopt.ge
- 下一篇: windows下关于Objective-