7M推薦系統 - S3 Learn to Rank中的模型結構

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,


解決方案融合:







?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容