Wide&Deep论文学习笔记
《Wide & Deep Learning for Recommender Systems》
概要
- 线性模型学习能力好,深度学习模型泛化能力好。
- google应用在手机app商店,结果提高了应用商店使用率。
- TensorFlow源码公开。
- 召回: 简单的match算法+人工规则。
- 减少候选集后,利用wide&Deep算法进行rerank. 包括特征:用户特征, 文本特征, 偏好特征。
- wide&deep模型结构图
- Google Play Store 推荐系统
线性模型(Wide)
-
线性模型
其中wT=[w1,w2,…,wd]为模型参数,b为偏置。 -
特征交叉
即特征交叉后做one-hot编码。
深度学习(Deep)
- Deep部分是一个前反馈神经网络。
- 稀疏且高维特征被转换为低维稠密向量,即embedding vector。
- embedding vector初始化为随机数,最后最小化loss函数训练embedding vector.
- embedding vector 作为隐藏层的输入。隐藏层计算公式如下:
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
Wide&Deep Model
- 预测结果: 将wide和Deep输出取对数后按某种权重相加,然后通过回归损失函数进行wide&Deep合并训练。
- wide与Deep参数是在训练同时学习的。
- 最终组合公式
wide模型使用FTRL做L1正则话,deep使用AdaGrad。
系统应用
- app推荐pipline
- Data Generation
分类变量:用ID替代。
数值变量: 标准化在[0,1], P(X<=x), 分成分位。 标准化是第i分位的值。 - Model Trainapp最终模型结构
1) 将embedding vector与cross product transformation 进行串联。
2)当新来训练数据时,模型需要重新训练。利用模型上次训练参数热启动模型。