1. 程式人生 > >深度學習在推薦系統的應用(三)

深度學習在推薦系統的應用(三)

bic sof 深度 ranking 樣本 -c 似然 後臺 網絡

DSSM(深度語義匹配模型)

  • 模型原始論文
    Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
  • 模型架構
    技術分享圖片

  • 模型原理
    • 1.輸入是一個Query和相關的Doc,這裏的輸入特征可以是One-Hot,也可以是word embeding的輸出vector
    • 2.word hashing,主要是 NLP場景下的降維,比如五十萬個的單詞的維度降到三萬
    • 3.接下來是多層神經網絡,輸出128語義特征向量
    • 4.使用cosine計算Query和Doc的相關性
    • 5.通過softmax預測概率
  • 模型特點
    • 1.Word Hashing解決大規模數據向的字典爆炸問題。
    • 2.引入監督信息,使用用戶點擊數據,優化語義空間映射問題。
  • 模型案例
    1.baharefatemi/DSSM
    2.幹貨 | 基於用戶行為的視頻聚類方案

BPR(貝葉斯個性化排序)

  • 模型原始論文
    BPR: Bayesian Personalized Ranking from Implicit Feedback
  • 模型簡介
  • 1.這篇文章提出了一種個性化排名的方法BPR-OPT,這種方法是基於貝葉斯理論的極大化後驗概率。用戶的顯式反饋一般從用戶與系統的交互行為中得出,比如用戶的購買歷史,觀看歷史等,這些很容易從後臺日誌中得到。
  • 2.排序推薦算法大體上可以分為三類,第一類排序算法類別是點對方法(Pointwise Approach),這類算法將排序問題被轉化為分類、回歸之類的問題,並使用現有分類、回歸等方法進行實現。第二類排序算法是成對方法(Pairwise Approach),在序列方法中,排序被轉化為對序列分類或對序列回歸。所謂的pair就是成對的排序,比如(a,b)一組表明a比b排的靠前。第三類排序算法是列表方法(Listwise Approach),它采用更加直接的方法對排序問題進行了處理。它在學習和預測過程中都將排序列表作為一個樣本。排序的組結構被保持。之前我們介紹的算法大都是Pointwise的方法,今天我們來介紹一種Pairwise的方法:貝葉斯個性化排序(Bayesian Personalized Ranking, 以下簡稱BPR)

  • 模型原理
    • 1.數據pair化預處理:
      BPR算法將用戶對物品的評分(顯示反饋“1”,隱式反饋“0”)處理為一個pair對的集合<i,j>,其中i為評分為1的物品,j為評分為0的物品。假設某用戶有M個“1”的評分,N個“0”的評分,則該用戶共有M*N個pair對。
      這樣數據集就由三元組<u,i,j>表示,該三元組的物理含義為:相對於物品“j”,用戶“u”更喜歡物品“i”。

    • 2.數據假設:
      • 每個用戶之間的偏好行為相互獨立
      • 同一用戶對不同物品的偏序相互獨立

則優化問題為極大化如下目標:
技術分享圖片
其中theta為所求模型,具體包括:表示用戶的隱含因子矩陣P,及表達物品的隱含因子矩陣Q。

其中關於似然部分:
技術分享圖片

我們假設先驗服從如下分布:
技術分享圖片

則先驗的概率密度函數為:
技術分享圖片

基於上述假設,優化目標進一步展開得到:
技術分享圖片

對應的最小化問題為:技術分享圖片
——其中 λθ 為正則系數"model specic regularization parameters"。

采用SGD求解上述最小化問題,分別針對pu qi qj求偏導如下:
技術分享圖片

偏導即為梯度下降方向,模型叠代求解的公式如下:
技術分享圖片
其中α為學習速率。

  • 模型特點

  • 模型案例
    1.推薦系統遇上深度學習(二十)--貝葉斯個性化排序(BPR)算法原理及實戰
    2.Bayesian Personalized Ranking 算法解析及Python實現
    3.BPR [Bayesian Personalized Ranking] 算法詳解
    4.alfredolainez/bpr-spark
    5.AaronHeee/APR

深度學習在推薦系統的應用(三)