深度學習(十二)wide&deep model
阿新 • • 發佈:2018-09-06
結合 稀疏 正則化 深度學習 img div 網絡 傳遞 討論
推薦系統在電商等平臺使用廣泛,這裏討論wide&deep推薦模型,初始是由google推出的,主要用於app的推薦。
- 概念理解
Wide & Deep模型,旨在使得訓練得到的模型能夠同時獲得記憶(memorization)和泛化(generalization)能力:
記憶(memorization)即從歷史數據中發現item或者特征之間的相關性。
泛化(generalization)即相關性的傳遞,發現在歷史數據中很少或者沒有出現的新的特征組合。
具體到模型定義角度,wide是指廣義線性模型(Wide Linear Model)deep是指深度神經網絡(Deep Netural Network)
模型結構圖如下:
兩者區別:
Memorization趨向於更加保守,推薦用戶之前有過行為的items。相比之下,generalization更加趨向於提高推薦系統的多樣性(diversity)。
Wide & Deep包括兩部分:線性模型 + DNN部分。結合上面兩者的優點,平衡memorization和generalization。
- 模型訓練
訓練方法是用mini-batch stochastic optimization。
Wide部分是用FTRL(Follow-the-regularized-leader) + L1正則化學習。
Deep部分是用AdaGrad來學習
- Embedding維度大小
在Deep模型中需要將稀疏矩陣進行embedding,Wide&Deep的作者指出,從經驗上來講Embedding層的維度大小可以用公式來確定:
n是原始維度上特征不同取值的個數;k是一個常數,通常小於10.
- 代碼實踐
(未完待續)
深度學習(十二)wide&deep model