YouTube推荐系统上的深度神经网络
【总结】
在召回模型中,用到的特征比较粗,在训练过程中,目的是训练出一个用户向量u(通过用户本身的浏览和观看信息和统计学信息,假设是N维的),用户向量的用途分两种,线下training和线上serving。训练拟合的是后验概率,在serving中,就直接利用u和训练好的视频向量v,做一个概率计算得到top。
在排序模型中,特征比召回的时候更细一些,除了用到召回模型的特征外,还认为其他候选信息,和视频本身的信息也是有用的,
【模型解读】
A.召回和排序
召回的时候采用用户的历史信息和文档信息;排序的时候不仅采用这些还需要用到视频特征和其他候选信息。
 
B.召回阶段
输入:
用户浏览历史、搜索历史、人口统计学信息concat而成的向量
输出:
分为离线训练和线上。线上直接用视频向量vj和用户向量u来查询N个。在training中,视频向量vj会在softmax中被学习出来,比如一个矩阵W(比如是M*N,M是视频的个数,那么W的第j行就是第j个视频的emb vj,类似CBOW训练词向量的方式)。离线训练softmax输出概率:
 
 
C.排序阶段
输入:
各种特征,其中重要的特征主要来源为:用户或item本身的特征,相似item之间的特征,负反馈特征;
为降低维度,对topn进行emb,其余直接是0向量。
输出:
serving采用指数,训练的时候拟合的是逻辑回归的权重,之所以这么定义是因为该模型的建模目标是期望观看时长,数学说明如下。设有点击的为正样本,无点击的为负样本,正样本需要根据观看时长进行加权,负样本权重为1,所以odds是,k是正样本数量,因为k很小,所以约等于,就是期望观看时长,故逻辑回归的odds就是可以视为是期望观看时长,那么在serving的推理阶段,可以直接采用指数形式,w为神经网络训练参数结果,x是输入的特征,计算得到期望观看的时长。
 
【参考链接】

最新文章

  1. 使用Windows EFS(怎么给文件夹加密)进行文件加密
  2. can't resolve symbol 'R' ...
  3. table表格在设置文字垂直居中后,在表格显示相同排列的数据(比如:testtesttesttsttesttesstestse很多的test)时此表格不能换行
  4. json_encode中文unicode的问题
  5. WPF VlC 实现视频的播放(1)
  6. 关于java 中文乱码问题 自己的一点解决方案
  7. Go语言实现HashSet
  8. java异常处理的两种方法
  9. synchronized(this) 和synchronized(xxx.class)的区别和联系
  10. Jquery常用功能
  11. C/C++中的&&和||运算符
  12. 消耗CPU的程序
  13. cors解决Web跨域访问问题
  14. 共享MFC每周时间选择控件代码
  15. web 框架
  16. stm8 同时使用dac和adc 采集异常,电平异常
  17. 模拟页面获取的php数据(三)
  18. LeetCode 27 Remove Element (移除数组中指定元素)
  19. 全国城市空气质量实时数据(PM2.5)实时下载
  20. [C语言]类型限定词const解析

热门文章

  1. 安卓app的签名打包
  2. Docker CLI docker buildx bake 常用命令
  3. docker 实现原理
  4. 【离线数仓环境搭建】安装linux及安装JDK
  5. 【服务器数据恢复】VMware虚拟机数据恢复案例
  6. Scala集合总结
  7. Windows 10 与Windows11 功能比较(红字为不同点)
  8. drush use dev.mentor.com | expecting statement
  9. Java script Date和长整型互换
  10. select multiple 浏览器兼容