推荐系统之Deep Crossing

Deep Crossing是微软提出的解决搜索广告推荐的模型,结合Embedding和ResNet,有效处理数据稀疏问题。模型包括Embedding&Stacking Layer、Multiple Residual Units Layer和Scoring Layer,通过残差网络学习非线性特征,提高推荐准确性。
摘要由CSDN通过智能技术生成

前言

Deep Crossing是微软在2016年提出用于解决Bing引擎搜索广告推荐问题的模型,属于深度学习网络架构在推荐系统中的一次完成应用。对于传统的推荐算法而言,浅层的模型结构无法学习到用户与项目之间更深层次的特征关系,于是需要人工设计并组合特征,以便能解决传统推荐存在的数据稀疏以及冷启动问题,但人工设计特征工程耗时费力,并且大量的特征系统维护方面也不甚方便。Deep Crossing将Embedding稠密表示以及ResNet网络应用到推荐系统中,一方面解决了数据稀疏问题:将分类众多的类别型特征从one-hot编码压缩至dense vector,另一方面减少人工构造特征工作:利用了神经网络的结构来学习深层次的非线性特征。其主要的结构包含嵌入Embedding层、拼接Stacking层、残差网络Multiple Residual Units层以及Scoring层。模型具体结构图如下:
Deep Crossing的网络结构


一、Embedding&Stacking Layer

Embedding是NLP中的常用技术,word2vec算法就是通过输入one-hot编码学习新的embedding的稠密向量表示,这类技术可以有效的降低向量的维度,同时稠密向量不同于one-hot还能描述上下文的分布情况。Embedding的目标就是学习输入层-隐藏层的权矩阵,而隐藏层-输出层的部分,则是在模型训练完毕后不需要保存的参数。如上图所示,Feature1以及FeaturnN均经过Embedding处理后得到稠密向量,特征的dense表示如下。感觉这部分嵌入层的操作和DeepFM也比较相似。
特征的dense表示

Stacking层则是把不同类别特征的的Embedding向量和数值型特征向量拼接在一起,形成新的并且包含全部特征的向量。譬如一个200000多维的输入特征:查询和关键字均embedding为256维,另外维度低于256维的数值型特征直接并入堆栈即可,上图实例中的Feature2即不用进过处理直接拼接。Stacking通常是先将所有的数值特征拼接起来,然后将所有的Embedding拼接起来,最后将数值特征和Embedding特征拼接起来作为DNN的输入。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值