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

posted @ 2022-05-12 17:33  馒头and花卷  阅读(98)  评论(0)    收藏  举报