Deep crossing模型及tensorflow实现

一:绪论

1 ,概念:
Deep crossing 模型是微软于2016年提出的一个深度学习架构在推荐系统完整应用的模型。相比于与Autorec相对简单的模型结构带来的表征能力的不足,Deep crossing 模型完整的解决了从特征方程,稀疏向量稠密化,多层神经网络进行优化目标拟合等一系列深度学习在推荐系统中的应用问题。
2,应用场景
Deeping crossing 模型应用场景主要是微软的搜索引擎Bing中的广告推荐场景,其拟合目标是尽可能的增加搜索广告的点击率,准确的预测广告的点击率,并以此作为广告排序的方法之一。
3,特征工程
微软在Deep crossing 模型中运用的特征主要分为三大类:
(1)类别型特征:可通过独热编码或者多热编码+embeding进行特征工程化处理
(2)数值型特征:可直接输入模型进行训练
(3)需要进一步处理的特征
在这里插入图片描述
在这里插入图片描述

二:Deep crossing的模型结构

Deep crossing 模型的设计目标是为了完成端到端的训练,模型内部主要为解决以下问题
1,类别型特征向量经过编码后数据高度稀疏,不利于直接输入神经网络进行训练,如何稀疏特征向量的稠密化问题
2,如何解决自动特征交叉组合问题
3,如何在输出层中拟合设定的优化目标
Deep crossing 网络结构如图:
在这里插入图片描述
(1) embeding 层
该层主要是为了将稀疏特征向量稠密化。embeding向量主要作用是维度压缩。
(2)stacking层
堆叠层,又称为连接层,主要作用是把所有的输入特征向量(embeding特征向量和数值型特征向量)进行拼接,形成一个包含全部特征的特征向量。
(3) Residual Layers层(Multiple Residual units)
该层的主要作用是通过多层残差网络对特征的各个维度进行从分的交叉组合,使得模型能够抓取更多的非线性特征和特征组合,从而提高模型的表达能力。
该层的主要结构是感知机,相比以标准的感知机为基本单元的神经网络,Deep crossing 采用了多层残差网络来作为Mlp的具体实现。
残差网络的结构特点:
1,通过两层以relu为激活函数的全链接层后产生输出。
2,输入向量可以通过一个短路来实现直接与输出向量相加的操作,生成最终的输出向量。
在这里插入图片描述
残差网络主要解决问题: 防止因神经网络深度太深而导致的梯度消失问题。残差单元使用了relu代替sigmoid,同时,结构上的短路相加相当于直接把梯度从输入传入了下一层,这也使得残差网络收敛速度更快。
(4)scoring层
输出层,为拟合优化目标而存在,对于CTR这类二分类问题,该层一般采用逻辑回归模型,多分类往往采用 softmax模型。整个deep crossing 模型也是采用梯度的反向传播进行训练,得到最终的模型。

三:模型的优缺点

优点:Deep Crossing模型中没有任何人工特征工程的参与,原始特征经Embedding后输入神经网络层,将全部特征交叉的任务交给模型。
缺点:利用全连接隐层进行特征交叉,针对性不强,因为每个特征对结果的影响是不同的。

四、TF实现:

可参考该文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值