简单易学的深度学习算法:Wide Deep Learning
1、背景
本文提出Wide & Deep模型,旨在使得訓練得到的模型能夠同時獲得記憶(memorization)和泛化(generalization)能力:
記憶(memorization)即從歷史數據中發現item或者特征之間的相關性。
泛化(generalization)即相關性的傳遞,發現在歷史數據中很少或者沒有出現的新的特征組合。
在推薦系統中,記憶體現的準確性,而泛化體現的是新穎性。
在本文中,利用Wide & Deep模型,使得訓練出來的模型能夠同時擁有上述的兩種特性。
2、Wide & Deep模型
2.1、Wide & Deep模型結構
Wide & Deep模型的結構如下圖所示:
在Wide & Deep模型中包括兩個部分,分別為Wide部分和Deep部分,Wide部分如上圖中的左圖所示,Deep部分如上圖中的右圖所示。
2.2、Wide模型
Wide模型如上圖中的左側的圖所示,實際上,Wide模型就是一個廣義線性模型:
y=wTx+b
y=wTx+b
其中,特征x=[x1,x2,?,xd]x=[x1,x2,?,xd]是一個dd維的向量,w=[w1,w2,?,wd]w=[w1,w2,?,wd]為模型的參數。最終在yy的基礎上增加Sigmoid函數作為最終的輸出。
2.3、Deep模型
Deep模型如上圖中的右側的圖所示,實際上,Deep模型是一個前饋神經網絡。深度神經網絡模型通常需要的輸入是連續的稠密特征,對于稀疏,高維的類別特征,通常首先將其轉換為低維的向量,這個過程也成為embedding。
在訓練的時候,首先隨機初始化embedding向量,并在模型的訓練過程中逐漸修改該向量的值,即將向量作為參數參與模型的訓練。
隱含層的計算方法為:
a(l+1)=f(W(l)a(l)+b(l))
a(l+1)=f(W(l)a(l)+b(l))
其中,ff稱為激活函數,如ReLUs。
2.4、Wide & Deep模型的聯合訓練(joint training)
聯合訓練是指同時訓練Wide模型和Deep模型,并將兩個模型的結果的加權和作為最終的預測結果:
P(Y=1∣x)=σ(wTwide[x,?(x)]+wTdeepa(lf)+b)
P(Y=1∣x)=σ(wwideT[x,?(x)]+wdeepTa(lf)+b)
訓練的方法:
Wide模型:FTRL
Deep模型:AdaGrad
3、apps的推薦系統
本文將上述的Wide & Deep模型應用在Google play的apps推薦中。
3.1、推薦系統
對于推薦系統,其最一般的結構如下圖所示:
?
當一個用戶訪問app商店時,此時會產生一個請求,請求到達推薦系統后,推薦系統為該用戶返回推薦的apps列表。
在實際的推薦系統中,通常將推薦的過程分為兩個部分,即上圖中的Retrieval和Ranking,Retrieval負責從數據庫中檢索出與用戶相關的一些apps,Ranking負責對這些檢索出的apps打分,最終,按照分數的高低返回相應的列表給用戶。
3.2、apps推薦的特征
模型的訓練之前,最重要的工作是訓練數據的準備以及特征的選擇,在apps推薦中,可以使用到的數據包括用戶和曝光數據。因此,每一條樣本對應了一條曝光數據,同時,樣本的標簽為1表示安裝,0則表示未安裝。
對于類別特征,通過詞典(Vocabularies)將其映射成向量;對于連續的實數特征,將其歸一化到區間[0,1][0,1]。
?
3.3、度量的標準
度量的指標有兩個,分別針對在線的度量和離線的度量,在線時,通過A/B test,最終利用安裝率(Acquisition);離線則使用AUC作為評價模型的指標。
參考文獻
Cheng H T, Koc L, Harmsen J, et al. Wide & Deep Learning for Recommender Systems[J]. 2016:7-10.
wide & Deep 和 Deep & Cross 及tensorflow實現
Wide & Deep 的官方實現
深度學習在 CTR 中應用
《Wide & Deep Learning for Recommender Systems 》筆記
深度學習在美團點評推薦平臺排序中的運用
tensorflow線性模型以及Wide deep learning
---------------------?
作者:zhiyong_will?
來源:CSDN?
原文:https://blog.csdn.net/google19890102/article/details/78171283?utm_source=copy?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的简单易学的深度学习算法:Wide Deep Learning的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读完这篇文章,就基本搞定了Redis数据
- 下一篇: 基于TensorFlow Serving