Paper分享2--推荐系统--CTR预测--Wide&Deep

Posted SLayK探索星月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Paper分享2--推荐系统--CTR预测--Wide&Deep相关的知识,希望对你有一定的参考价值。

Wide&Deep

简介

Wide:利用一系列特征间的交叉相乘来模拟记忆性特征(在历史数据中物品共现的频率/相关性)交互,这种方法可解释强,但是需要通过人工构建特征工程(例如:构建二值特征“user_installed_app=netflix"=1/0,当用户下载了netflix时为1,否则为0,使用交叉相乘构建稀疏特征,AND(user_installed_app,impression_app-pandora)当特征共现时为1,否则为0),然后采用线性模型(例如:LR),这种方法无法泛化训练集中没有共现过的特征对。

DNN/FM:基于嵌入的方法不需要进行特征工程,可以进行特征间的泛化(探索从未或很少出现在历史数据中的新的特征交互/结合),但是当用户-物品矩阵稀疏高维时,很难学习到有效的低维表示,而且可能出现过度泛化的问题,从而推荐较少相关物品。

因此提出Wide&Deep,联合学习线性模型和深度学习网络,从而组合推荐系统的记忆性和泛化性的优点。

模型

图 2-1 Wide&Deep模型结构

Wide部分

wide部分是一个广义线性模型,如图2-1左边所示:

其中, 是预测值, 维特征向量, 是模型参数, 是偏差,特征集包括原始输入特征以及变换特征,最重要的变化之一是交叉相乘变换:

其中 是一个布尔值,当第 个特征是第 个变换 的一部分时, ,否则为0,对于二值特征,一个交叉相乘变换(例如:AND(gender=female,language=en)当且仅当组成特征(gender=female and language=en)都为1时,才为1,否则为0。这样就捕获了二值特征间的交互,而且在广义线性模型中加入了非线性。

Deep部分

deep部分是一个前馈神经网络,如图2-1右边所示,对于离散型特征,原始输入是特征字符(例如language=en)稀疏、高维的离散特征首先被转换为低维、稠密的实值向量,也就是嵌入向量,嵌入的维度通常定义为 ,嵌入向量被随机初始化,然后在模型训练时通过最小化损失函数被训练,这个低维稠密向量之后输入至神经网络的隐藏层,每个隐藏层的计算如下式:

其中 是层数, 是激活函数(通常是ReLUs), 分别是第 层的激活、偏置、模型权重。

Wide&Deep模型的联合训练

wide、deep部分通过它们的输出对数几率加权和连在一起,作为预测输出,然后输入至一个逻辑回归损失函数,达到联合训练的目的。注意联合训练和集成是有区别的,在集成时,模型分别训练,它们的predict仅仅在预测时结合起来,在训练时是分离的。总之,联合训练通过在训练时同时考虑wide和deep部分的加权和,来同时训练优化所有的参数,这也就影响了模型尺寸:在集成中,因为训练不是聚合的,每个单独的模型尺寸通常需要较大(有较多的特征及变换)达到合理的准确率,相对地,对于联合训练wide部分仅仅需要通过少量的交叉相乘特征变换去补充deep部分的弱点,而不是full-size wide模型。

Wide&Deep模型利用反向梯度下降的方法进行联合训练,在实验中,wide部分采用了 正则化的Follow-the-regularized-leader(FTRL),deep部分采用了AdaGrad,联合模型结构如图2-1中间部分所示,对于一个逻辑回归问题,模型的预测为:

其中, 是二值类别标签, 是sigmoid函数, 是原始特征 的叉乘变换, 是偏置项, 是wide模型的所有权重向量, 是最终的激活 的权重。

最后

Fine,本来想写BTS的,但是发现想要先去搞懂FTRL,搜了一下好像还挺迷,这篇文章虽然有点短,但是就这样吧,等我搞明白了FTRL,再写一篇咯。Anyway,周末愉快!


以上是关于Paper分享2--推荐系统--CTR预测--Wide&Deep的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统—— CTR 预估算法综述

推荐系统实战5——EasyRec 在DSSM召回模型中添加负采样构建CTR点击平台

深度学习推荐系统CTR预估工业界实战论文整理分享

广告推荐CTR点击率预测实践项目!

阿里深度兴趣网络模型paper学习

推荐系统推荐系统数据流的经典技术架构+微软阿里微软等10大深度学习CTR模型最全演化图谱