wide&deep谷歌曾经的主流推荐模型

这篇博客探讨了CTR预估模型中线性模型与深度学习模型的记忆和泛化能力。线性模型通过手工构造的交叉特征展现记忆能力,如在GooglePlay推荐场景中,用户安装netflix与看到pandora的共现特征能直接影响推荐结果。而深度学习模型如神经网络则更擅长于发掘稀疏特征间的关联,增强泛化能力。Wide&Deep模型结合两者优势,Wide部分保持记忆能力,使用FTRL优化器强化稀疏性;Deep部分通过Embedding和MLP挖掘潜在模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在CTR的预估模型中,线性模型依然是占据了很大的一部分,利用手工构造的交叉组合特征来使线性模型具有“记忆性”,使模型记住共现频率较高的特征组合

记忆能力其实很好理解,就是模型对特征和模型结果的匹对能力。

以谷歌APP推荐场景为例理解一下:
假设在Google Play推荐模型训练过程中, 设置如下组合特征: AND(user_installed_app=netflix, impression_app=pandora), 它代表了用户安装了netflix这款应用, 而且曾在应用商店中看到过pandora这款应用。 如果以“最终是否安装pandora”为标签,可以轻而易举的统计netfilx&pandora这个特征与安装pandora标签之间的共现频率。 比如二者的共现频率高达10%, 那么在设计模型的时候, 就希望模型只要发现这一特征,就推荐pandora这款应用(像一个深刻记忆点一样印在脑海), 这就是所谓的“记忆能力”。 像逻辑回归这样的模型, 发现这样的强特, 就会加大权重, 对这种特征直接记忆。
但是对于神经网络这样的模型来说, 特征会被多层处理, 不断与其他特征进行交叉, 因此模型这个强特记忆反而没有简单模型的深刻。

"泛化能力“可以被理解为模型传递特征的相关性, 以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。泛化能力通常需要依靠DNN这种深度的网络来进行实现

这就是泛化和记忆能力,而wide&deep就是一种可以结合线性和深度模型优点的模型。

下面是模型的图。

 wide部分就是模型的线性部分这一部分保留了模型的记忆能力

deeo部分则加强了模型的泛化能力。

WIDE部分

Wide部分是一个广义的线性模型, 公式如下:

                               

这个公式看着就是很简单的线性模型。

另外对于wide部分训练时候使用的优化器是带正则的FTRL算法(Follow-the-regularized-leader),我们可以把FTRL当作一个稀疏性很好,精度又不错的随机梯度下降方法, 该算法是非常注重模型稀疏性质的,也就是说W&D模型采用L1 FTRL是想让Wide部分变得更加的稀疏,即Wide部分的大部分参数都为0,这就大大压缩了模型权重及特征向量的维度。Wide部分模型训练完之后留下来的特征都是非常重要的,那么模型的“记忆能力”就可以理解为发现"直接的",“暴力的”,“显然的”关联规则的能力。 
 

 DEEP部分

该部分主要是一个Embedding+MLP的神经网络模型。大规模稀疏特征通过embedding转化为低维密集型特征。然后特征进行拼接输入到MLP中,挖掘藏在特征背后的数据模式。

wide&deep

W&D模型是将两部分输出的结果结合起来联合训练,将deep和wide部分的输出重新使用一个逻辑回归模型做最终的预测,输出概率值。联合训练的数学形式如下:

                               

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值