深度學習在推薦系統的應用(三)
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.引入監督資訊,使用使用者點選資料,優化語義空間對映問題。
-
模型案例
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求偏導如下:

偏導即為梯度下降方向,模型迭代求解的公式如下:

其中α為學習速率。