美文网首页
7M推荐系统 - S3 Learn to Rank中的模型结构

7M推荐系统 - S3 Learn to Rank中的模型结构

作者: 左心Chris | 来源:发表于2020-01-07 19:16 被阅读0次

1 重排序算法和多目标排序

多目标排序

score = CTR(α+CVR)(β+Price)...拍脑袋
rules:同⼀XX N出1;活动扶持、新品扶持、低俗打压;流量控制…

Learning to rank

迁移学习和multi-task learning


共享特征,共享权重

2 排序和深度学习模型

问题定义

算法演变

  • 基于规则
  • LR
  • CART,RF
  • FM
  • GBDT/DNN
  • 模型融合
    大规模特征+线性模型(Google,Baidu)
    中小规模特征+非线性模型(Yahoo,Bing,FB,Taobao)
    数据优化:Position Bias

DNN实用化

  • 搜索+DeepRank
    MS-DSSM,MS-DSSM CNN,MS - Deep Crossing
  • 推荐+DeepRank
  • DeepRank
    序列类,多媒体类,Attention,知识图谱

3 分布式机器学习系统及其在排序模型中的应用

推荐书籍:分布式机器学习:算法理论与实践

概念

分布式机器学习系统 = 分布式系统 + 机器学习
分布式系统 = 分布式计算MapReduce + 分布式存储HDFS

基本流程

计算量太大:基于共享内存(或虚拟内存)的多线程或多机并行计算
训练数据太多:数据划分, 分配到多个工作节点进行训练
模型规模太大:模型划分, 分配到多个工作节点进行训练

数据和模型划分

数据对训练样本置乱切分
模型:线性模型直接切分,深度模型横向或者纵向切分

通信模块

  • 通信的内容
    数据并行:子模型或者子模型的更新(梯度), 应用最广泛的分布式机器学习模式
    模型并行:节点之间存在较强的依赖关系, 上一个子模型的输出是下一个的输入, 中间结果作为通信内容
  • 通信的拓扑结构
    基于迭代式MapReduce/AllReduce的通信拓扑:Spark MLlib
    基于参数服务器的通信拓扑:Google 的DistBelief,微软的Multiverso,PS-Lite,BytedancePs
    基于数据流的通信拓扑:TensorFlow
  • 通信的步调:同步与异步

具体流程

  • 计算并行


  • 数据并行


  • 模型并行
    线性模型:



    深度模型:



  • 同步和异步SGD

    同步:
    异步:

例子DistBelief

模型并行,数据并行,异步SGD
https://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks.pdf

4 深度召回和深度模型

itemCF/userCF类, 矩阵分解类,deeplearning类
通过用户历史(点击,收藏,点赞,购买,浏览)找候选topK
如果是新用户可以hot2i,比如曝光top100,点击top100,收藏top100
如何算user2i
1.user2i根据日志统计出有用户行为的user2i
2.有一类svd可以计算user的向量和item向量,根据向量来算user和item的相似度
通过多种方式计算共现,比如共现点击,共现购买,共现收藏,共现曝光
如何计算I2I:同品类,同tag,近似算法过滤

解决方案1:SVD,SVD++,SVD+sideinfo
解决方案2:FM
解决方案3:引入交叉特征



解决方案4:加入历史信息

解决方案5和6:引入Topic Model,

解决方案融合:







相关文章

网友评论

      本文标题:7M推荐系统 - S3 Learn to Rank中的模型结构

      本文链接:https://www.haomeiwen.com/subject/tceractx.html