1. 程式人生 > 其它 >Wide & Deep Learning for Recommender Systems

Wide & Deep Learning for Recommender Systems

目錄

Cheng H., et al. Wide & deep learning for recommender systems. Proceedings of the 1st workshop on deep learning for recommender systems, 2016.

谷歌提的推薦系統的經典框架.

主要內容

出發點是結合 Wide 模型和 Deep 模型.

Wide

\[y = \bm{w}^T \bm{x} + b, \]

其特徵包括原始的特徵和一些特徵的組合, 如

\[\phi_k(\bm{x}) = \prod_{i=1}^d x_i^{c_{ki}}, \: c_{ki} \in \{0, 1\}, \]

其中 \(c_{ki}\)

相當於是專家設計的一些特徵組合 (只有為1的部分是囊括其中的). 對於第 \(k\) 個交叉特徵, 其為 \(c_{ki} = 1\) 的特徵的組合. 比如 AND(user_installed_app=netflix, impression-app=pandora), 只有當用戶下載過netflix且pandora曝光過該特徵為一, 特意強調這些特徵是因為這些特徵和最後的結果有密切的聯絡, 通過這些歷史資訊能夠更容易地預測之後的使用者的行為.

Deep

如上圖右所示, Deep 部分會將類別屬性的資訊轉換為 embedding 向量, 然後通過 MLP 進行提取特徵

\[a^{(l+1)} = f(W^{(l)} a^{(l)} + b^{(l)}). \]

Joint

將二者聯合起來構成 Wide & Deep:

\[P(Y=1|\bm{x}) = \sigma(\bm{w}_{wide}^T [\bm{x}, \phi(\bm{x})] + \bm{w}^{T}_{deep} a^{(l_f)} + b), \]

即通過一個邏輯斯蒂迴歸實現.

注意到, 僅安裝的應用和曝光的應用作為 Wide 部分 (Cross Product) 的輸入, 而其他的諸如使用者年齡, 軟體安裝數量, 裝置型別等都經過 Deep 部分進一步特徵提取使用.

程式碼

PyTorch TensorFlow