推荐算法-Deep & Cross Network

推荐算法Deep & Cross Network

  这篇文章是谷歌在2017年的一篇文章,是用在广告点击率预估上面的。从文章题目上来看,应该是包含两大块,Cross和Deep两个部分。原因应该很简单,还是在特征的组合上做文章。但是看完这篇文章之后,感觉很清爽,就是思路比较简单,而且实现起来也很方便。

一、Deep & Cross Network出现的原因

  前面提到了FM和DeepFM两个方法,也是在特征组合上做了改进。FM还只是停留在二阶特征组合上,DeepFM是将深度模型和FM并行处理。而本篇文章介绍的是模型分为Cross Network和Deep Network两个部分。目的也是为了实现更高阶的特征组合,但是它在特征预处理或者构造方面不需要人为的做更多操作。而是直接将类别型特征进行one-hot处理,对于数值型特征直接保留原始数值。然后直接将类别型特征的embedding和数值型特征concat在一起,作为Cross Net和Deep Net的输入。

二、Deep & Cross Network结构

Dee & Cross Network结构
结构比较简单,输入就是上文提到的,one-hot类型的特征embedding之后与数值类型的特征合并在一起作为整个模型的输入,输入表示如下:
x 0 = [ X e m b e d , 1 T , X e m b e d , 2 T . . . X e m b e d , k T , X d e n s e T ] x_{0}=[X_{embed, 1}^{T}, X_{embed, 2}^{T}...X_{embed, k}^{T}, X_{dense}^{T}] x0=[Xembed,1T,Xembed,2T...Xembed,kT,XdenseT]

模型分为两个部分,左边是Cross Net 右边是Deep Net。
Deep Net部分很简单,就是几层全连接层。
Cross Net部分比较有意思,Cross Net主要是想显示的实现各个特征之间的交叉,并且随着层数的加深,特征交叉的程度会增大。下图表示了特征交叉的过程:
在这里插入图片描述
可以看出某一层进行特征组合的过程中有 x 0 x_{0} x0即原始的输入特征,有当前层的特征 x x x以及改层特征的转置 x ′ x^{'} x。而且输入特征的维度和输出特征维度是一致的。整体的表达式如下:
x l + 1 = y = x 0 ∗ x l ′ ∗ w l + b l + x l x_{l+1}=y=x_{0}*x_{l}^{'}*w_{l}+b_{l}+x_{

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值