深度學習在推薦系統的應用(三)
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
深度學習在推薦系統的應用(三)