1. 程式人生 > >深度學習(十二)wide&deep model

深度學習(十二)wide&deep model

結合 稀疏 正則化 深度學習 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