【FM-RS】特征交叉:Wide & Deep、Deep & Cross Network

本文介绍了Wide & Deep模型和Deep & Cross Network,它们用于解决推荐系统中的特征交叉问题。Wide部分通过线性模型记住样本规则,Deep部分利用神经网络实现泛化。Deep & Cross Network则自动构造高阶交叉特征,减轻人工特征工程的负担。
摘要由CSDN通过智能技术生成

Wide & Deep Google’16

Google 16年发布的论文,并应用在Google Play上,影响力较大,其他厂商也仿照了。

首先理解Wide和Deep的含义是什么

Wide部分(Memorization)

image-20210510180848258

Wide部分其实就是一个线性模型
y = w T [ x , ϕ ( x ) ] + b y=\boldsymbol{w}^{T}[\boldsymbol{x}, \phi(\boldsymbol{x})]+b y=wT[x,ϕ(x)]+b
其中 x , ϕ ( x ) \boldsymbol{x}, \phi(\boldsymbol{x}) x,ϕ(x)分别表示原始特征和叉乘特征。叉乘特征是将两个特征叉乘**(cross-product)**起来。线性模型通常输入二进制的one-hot稀疏表示特征进行训练。比如特征“user_installed_app=netflix”为1,表示用户已安装netflix。交叉特征AND(user_installed_app=netflix,impresion_app=Pandora)表示既安装了netflix app同时又浏览过Pandora的用户特征为1,否则为0。

所以我们可以看出叉乘特征其实就像是在写规则,叉乘特征做到极致几乎等价于把所有样本的规则都写出来了,记住了所有样本,这就是原论文里Memorization的意思,可以达到准确推荐的目的。

Deep部分(Generalization)

deep部分就是前馈神经网络模型。对于高维稀疏的分类特征,首先会转化成低维的稠密的向量 a a a(embedding),然后作为神经网络hidden layers的输入进行训练。Hidden layers的计算公式如下:
a ( l + 1 ) = f ( W ( l ) a ( l ) + b ( l ) ) a^{(l+1)}=f\left(W^{(l)} a^{(l)}+b^{(l)}\right) a(l+1)=f(W(l)a(l)+b(l))
f f f是激活函数(例如ReLu), a a a是上一个hidden layer的输出, W W W是要训练的参数, b b b是bias。这类模型可以实现泛化能力**(Generalization)**,包括可以实现对未见过的内容进行泛化推荐。当模型query-item矩阵比较稀疏时,模型的会过分泛化,推荐出很多无相关性的内容,准确性不能得到保证。

所以Wide&Deep模型:

image-20210510221742758

P ( Y = 1 ∣ x ) = σ ( w w i d e T [ x , ϕ ( x ) ] + w d e e p T a ( l f ) + b ) P(Y=1 \mid \mathbf{x})=\sigma\left(\mathbf{w}_{w i d e}^{T}[\mathbf{x}, \phi(\mathbf{x})]+\mathbf{w}_{d e e p}^{T} a^{\left(l_{f}\right)}+b\right) P(Y=1x)=σ(wwideT[x,ϕ(x)]+wdeepTa(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值