Wide & Deep模型原理与案例实现

Wide&Deep模型结合了广义线性模型的“记忆能力”和深度神经网络的“泛化能力”,在推荐系统中广泛应用。模型的Wide部分处理稀疏ID特征,Deep部分通过神经网络进行深层特征交叉。案例展示了如何在App推荐系统中使用此模型,数据预处理涉及特征选择和向量化,训练数据包括用户行为和曝光数据。

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

最近在参加一些比赛,在继续深入学习wide&Deep,这是之前学习的东西,先放这儿,复习一遍!

Wide&Deep模型是由单层的Wide部分和多层的Deep部分组成的混合模型。其中,Wide部分的主要作用是让模型具有较强的“记忆能力”;Deep部分的主要作用是让模型具有“泛化能力”,正是这样的结构特点,使模型兼具了逻辑回归和深度神经网络的优点-----能够快速处理并记忆大量历史行为特征,并且具有强大的表达能力,不仅在当时迅速成为业界争相应用的主流模型,而且衍生出了大量以Wide&Deep模型为基础结构的混合模型,影响力一直延续至今。

1.前言

具有非线形特征变换的广义线性模型被广泛用于大规模回归和稀疏输入的分类问题。通过一系列跨产品特征变换来记忆特征交互是有效且可解释的,而泛化则需要更多的特征工程工作。利用较少的特征工程,深度神经网络可以通过稀疏特征学习到的低维稠密向量生成更好的未知特征组合。然而,当用户-商品交互行为比较稀疏且排名较高时,有向量的深度神经网络会过拟合并且推荐不太相关的东西。

有两个概念非常重要,一个是记忆,一个是泛化。“记忆能力”可以被理解为模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力。“泛化能力”可以被理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。

推荐系统可以看作是一个搜索排名系统,其中输入查询是一组用户和上下文信息,输出是一个按顺序排列的物品列表。对于一个查询,推荐任务是在数据库中查找相关的物品,然后根据特定的目标(如单击行为或购买行为)对这些物品进行排序。

基于记忆的推荐通常更贴近主题,并且与用户已经执行的操作直接相关。与记忆相比,泛化倾向于提高推荐项目的多样性。

对于工业环境中的大规模在线推荐和排名系统,逻辑回归等广义线性模型因其简单、可扩展和可解释性而得到广泛应用。在本文中,我们提出了一个Wide&Deep的学习框架,通过联合训练一个线性模型组件和一个神经网络组件,在一个模型中实现记忆和泛化,如图所示。
在这里插入图片描述

2.Wide&Deep 模型框架

2.1 Wide部分

wide部分就是一个广义线性模型 y = w T + b y = w^T+b y=wT+b,输入主要由两部分,一部分是原始特征,另一部分是交互特征。

如图(左)所示。y是预测值, x = [ x 1 , x 2 , … , x d ] x = [x_1, x_2,…, x_d] x=[x1,x2xd]是特征向量, w = [ w 1 w 2 , … , w d ] w = [w_1 w_2,…, w_d] w=[w1w2,wd]为模型参数,b为偏差。特征集包括原始输入特征和转换后的特征,最重要的转换之一是交叉乘积转换,定义为
ϕ k ( x ) = x i c k i , c k i ∈ ( 0 , 1 ) \phi_k(x) = x_ic^{ki} , c_{ki} \in(0,1) ϕk(x)=xicki,cki(0,1)

2.2 Deep部分

Deep部分是前馈神经网络,如图(右)所示。对于类别型特征,原始输入是特征字符串(例如,“语言=英语”)。这些稀疏的高维类别特征会先转换成低维稠密的实数向量,通常被称为嵌入向量。嵌入向量的维度通常通常在 o ( 10 ) o(10) o10 o ( 100 ) o(100) o100的量级。随机初始化嵌入向量,然后在模型训练中最小化最终损失函数。这些低维稠密向量馈送到前向传递中的神经网络的隐藏层中。 具体来说,每个隐藏层执行以下计算:
a l + 1 = f ( W l a l + b l ) a^{l+1}=f(W^la^l+b^l) al+1=f(Wla

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值