1、背景
本文提出Wide & Deep模型,旨在使得训练得到的模型能够同时获得记忆(memorization)和泛化(generalization)能力:

记忆(memorization)即从历史数据中发现item或者特征之间的相关性。
泛化(generalization)即相关性的传递,发现在历史数据中很少或者没有出现的新的特征组合。
在推荐系统中,记忆体现的准确性,而泛化体现的是新颖性。

在本文中,利用Wide & Deep模型,使得训练出来的模型能够同时拥有上述的两种特性。

2、Wide & Deep模型
2.1、Wide & Deep模型结构
Wide & Deep模型的结构如下图所示:

在Wide & Deep模型中包括两个部分,分别为Wide部分和Deep部分,Wide部分如上图中的左图所示,Deep部分如上图中的右图所示。

2.2、Wide模型
Wide模型如上图中的左侧的图所示,实际上,Wide模型就是一个广义线性模型:

y=wTx+b
y=wTx+b
其中,特征x=[x1,x2,⋯,xd]x=[x1,x2,⋯,xd]是一个dd维的向量,w=[w1,w2,⋯,wd]w=[w1,w2,⋯,wd]为模型的参数。最终在yy的基础上增加Sigmoid函数作为最终的输出。

2.3、Deep模型
Deep模型如上图中的右侧的图所示,实际上,Deep模型是一个前馈神经网络。深度神经网络模型通常需要的输入是连续的稠密特征,对于稀疏,高维的类别特征,通常首先将其转换为低维的向量,这个过程也成为embedding。

在训练的时候,首先随机初始化embedding向量,并在模型的训练过程中逐渐修改该向量的值,即将向量作为参数参与模型的训练。

隐含层的计算方法为:

a(l+1)=f(W(l)a(l)+b(l))
a(l+1)=f(W(l)a(l)+b(l))
其中,ff称为激活函数,如ReLUs。

2.4、Wide & Deep模型的联合训练(joint training)
联合训练是指同时训练Wide模型和Deep模型,并将两个模型的结果的加权和作为最终的预测结果:

P(Y=1∣x)=σ(wTwide[x,ϕ(x)]+wTdeepa(lf)+b)
P(Y=1∣x)=σ(wwideT[x,ϕ(x)]+wdeepTa(lf)+b)
训练的方法:

Wide模型:FTRL
Deep模型:AdaGrad
3、apps的推荐系统
本文将上述的Wide & Deep模型应用在Google play的apps推荐中。

3.1、推荐系统
对于推荐系统,其最一般的结构如下图所示:

当一个用户访问app商店时,此时会产生一个请求,请求到达推荐系统后,推荐系统为该用户返回推荐的apps列表。

在实际的推荐系统中,通常将推荐的过程分为两个部分,即上图中的Retrieval和Ranking,Retrieval负责从数据库中检索出与用户相关的一些apps,Ranking负责对这些检索出的apps打分,最终,按照分数的高低返回相应的列表给用户。

3.2、apps推荐的特征
模型的训练之前,最重要的工作是训练数据的准备以及特征的选择,在apps推荐中,可以使用到的数据包括用户和曝光数据。因此,每一条样本对应了一条曝光数据,同时,样本的标签为1表示安装,0则表示未安装。

对于类别特征,通过词典(Vocabularies)将其映射成向量;对于连续的实数特征,将其归一化到区间[0,1][0,1]。

3.3、度量的标准
度量的指标有两个,分别针对在线的度量和离线的度量,在线时,通过A/B test,最终利用安装率(Acquisition);离线则使用AUC作为评价模型的指标。

参考文献
Cheng H T, Koc L, Harmsen J, et al. Wide & Deep Learning for Recommender Systems[J]. 2016:7-10.
wide & Deep 和 Deep & Cross 及tensorflow实现
Wide & Deep 的官方实现
深度学习在 CTR 中应用
《Wide & Deep Learning for Recommender Systems 》笔记
深度学习在美团点评推荐平台排序中的运用
tensorflow线性模型以及Wide deep learning
--------------------- 
作者:zhiyong_will 
来源:CSDN 
原文:https://blog.csdn.net/google19890102/article/details/78171283?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!

简单易学的深度学习算法:Wide Deep Learning相关推荐

  1. 几何深度学习(Geometric Deep Learning)技术

    几何深度学习(Geometric Deep Learning)技术 几何深度学习综述 从论文Geometric Deep Learning: Grids, Groups, Graphs, Geodes ...

  2. 【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Task Tips

    文章目录 一.深度学习步骤回顾 二.常规指导 三.训练过程中Loss很大 3.1 原因1:模型过于简单 3.2 原因2:优化得不好 3.3 原因1 or 原因2 ? 四.训练过程Loss小.测试过程L ...

  3. 深度学习概述教程--Deep Learning Overview

          引言         深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...

  4. 贝叶斯深度学习(Bayesian Deep Learning)2020 最新研究总结

    关注上方"肉眼品世界",选择星标, 作者丨Ziyue Wu@知乎 来源丨https://zhuanlan.zhihu.com/p/283633149 编辑丨极市平台 本文仅作学术分 ...

  5. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  6. 《深度学习》/《Deep Learning》——深度学习圣经的读书笔记

    学习方法 对着书看一遍,把理解的内容写成笔记 看完一章后,看着笔记和书,把内容复习一下,把需要画线的地方画好并理解 逐层深入:这本书讲解基础概念讲得不生动,但是高层次上有很多不错的高瞻远瞩的见解,所以 ...

  7. 吴恩达神经网络和深度学习-学习笔记-28-端到端的深度学习(end-to-end deep learning )

    深度学习最令人振奋的最新动态之一,就是端到端深度学习end-to-end deep learning的兴起. 什么是"端到端深度学习" 以前有一些数据处理系统或学习系统,它们需要多 ...

  8. 深度学习经典论文deep learning!入门必读!:deep learning yann lecun 深度学习

    深度学习 YannLeCun, Yoshua Bengio & Geoffrey Hinton 深度学习能够让多层处理层组成的计算模型学习多级抽象的数据的表达.这些方法极大地提高了语音识别,视 ...

  9. [翻译] 神经网络与深度学习 第六章 深度学习 - Chapter 6 Deep learning

    目录: 首页 译序 关于本书 关于习题和难题 第一章 利用神经网络识别手写数字 第二章 反向传播算法是如何工作的 第三章 提升神经网络学习的效果 第四章 可视化地证明神经网络可以计算任何函数 第五章 ...

最新文章

  1. 经验 | 深度学习优化背后的数学基础
  2. 程序员必须掌握哪些算法?
  3. 复习es6-let和const
  4. 中国AI城市格局突变:杭州反超深圳,南京上海平起平坐,济南首次跻身前十...
  5. ubuntu18.04 docker安装kafka
  6. 【XSY2472】string KMP 期望DP
  7. 一文了解NLP领域国内外主要学术组织、会议和论文
  8. Struts2后台使用Request和Session方法
  9. 如何利用路由器防止DoS拒绝服务疯狂***
  10. CloudStack升级中文指南:4.1.x/4.2.x 至4.3版本
  11. 课程管理系统 java
  12. office2010安装提示需要MSXML版本6.10.1129.0
  13. power design设计数据库
  14. 【异常】The field file exceeds its maximum permitted size of 1048576 bytes.
  15. win10用linux命令关机,Win10使用PowerShell命令让局域网电脑重启关机操作
  16. 统计检验P值代表什么及统计显著性检验方法原理
  17. cdr怎么算曲线周长_cdr怎么计算图形的周长和面积? cdr图形计算长度和面积的技巧...
  18. APP测试面试题汇总
  19. JavaScript插件开发
  20. msp432快速入门第二节之sdk的详解

热门文章

  1. Web前端开发笔记——第四章 JavaScript程序设计 第四节 条件语句和循环语句
  2. 前端协商缓存强缓存如何使用_前端强缓存和协商缓存
  3. 计算机视觉结课论文,计算机视觉与图像识别结课论文
  4. php ci rest,在CodeIgniter框架中使用RESTful服务
  5. arm rtx教程_ARM CMSIS标准概述及快速入门
  6. python有没有三元运算符_Python基础入门:从变量到异常处理(1)
  7. 在eclipse中修改java web项目的名称
  8. pytorch指定用多张显卡训练_Pytorch中多GPU训练指北
  9. android 定制ui,AndroidSDK-UI定制
  10. hutool 读取扩展名文件_JPG,PNG,GIF,TIFF、SVG玩设计必须了解的文件格式你知道几个?...