推荐系统的个性化排名
推薦系統的個性化排名
Personalized Ranking for Recommender Systems
在前幾節中,只考慮了明確的反饋,并根據觀察到的評分對模型進行了訓練和測試。這種方法有兩個缺點:第一,大多數反饋不是顯式的,而是在實際場景中隱含的,并且顯式反饋的收集成本可能更高。第二,完全忽略了可以預測用戶興趣的未觀察到的用戶項對,使得這些方法不適用于由于用戶偏好而不是隨機缺失評級的情況。未觀察到的用戶項對是真實的負反饋(用戶對項目不感興趣)和缺失值(用戶將來可能與項目交互)的混合體。簡單地忽略了矩陣分解和自回歸中未觀察到的對。顯然,這些模型無法區分觀察到的和未觀察到的對,并且通常不適合個性化的排序任務。
為此,一類基于隱式反饋生成排名推薦列表的推薦模型得到了廣泛的應用。一般來說,個性化的排名模型可以用逐點、成對或列表方式進行優化。點態方法一次只考慮一個交互,訓練分類器或回歸器來預測個人偏好。矩陣因子分解和自回歸以點為目標進行優化。成對方法為每個用戶考慮一對項目,并旨在近似該對項目的最佳排序。相對排序法更適合于任務的排序。列表方法近似于整個項目列表的排序,例如,直接優化排序指標,如標準化折扣累積收益(NDCG)。然而,與逐點或成對方法相比,列表方法更復雜,計算量更大。在本節中,將介紹兩個成對的目標/損失,貝葉斯個性化排序損失和鉸鏈損失,以及各自的實現。
- Bayesian Personalized Ranking Loss and its Implementation
 
Bayesian personalized ranking(BPR)[Rendle et al.,2009]是一種基于最大后驗估計量的成對個性化排名損失。已被廣泛應用于許多現有的推薦模型中。BPR的訓練數據由正負兩對(缺失值)組成。假設用戶更喜歡積極的項目,而不是所有其未觀察到的項目。
 在形式上,訓練數據是以元組(u,i,j)的形式構造的(which represents
 that the user uu prefers the item ii over the item j),以后驗概率最大化為目標的業務流程再造的貝葉斯公式如下:
 
 
 將實現基類mxnet.gluon。Loss損失和覆蓋的前向方法構造貝葉斯個性化排序損失。首先導入Loss類和np模塊。
from mxnet
 import gluon, np, npx
npx.set_np()
BPR的Loss實現如下:
#@save
class BPRLoss(gluon.loss.Loss):
def __init__(self, weight=None, batch_axis=0, **kwargs):super(BPRLoss, self).__init__(weight=None, batch_axis=0, **kwargs)def forward(self, positive, negative):distances = positive - negativeloss = - np.sum(np.log(npx.sigmoid(distances)), 0, keepdims=True)return
 
loss
5.2. Hinge Loss and its Implementation
排序的Hinge loss損失與通常用于SVM等分類器的gluon library庫中的Hinge loss損失有不同的形式。推薦系統中用于排名的損失如下表所示。
 
 m安全邊際量大小。
目的是把消極的東西從積極的東西中推開。與BPR類似,目標是優化正樣本和負樣本之間的相關距離,而不是絕對輸出,使其非常適合推薦系統。
#@save
class HingeLossbRec(gluon.loss.Loss):
def __init__(self, weight=None, batch_axis=0, **kwargs):super(HingeLossbRec, self).__init__(weight=None, batch_axis=0,  **kwargs)def forward(self, positive, negative, margin=1):distances = positive - negativeloss = np.sum(np.maximum(- distances + margin, 0))return loss
 
這兩個損失是可互換的個性化排名推薦。
- Summary
 
· There are three types of ranking losses available for the personalized ranking task in recommender systems, namely, pointwise, pairwise and listwise methods.
· The two pairwise loses, Bayesian personalized ranking loss and hinge loss, can be used interchangeably.
總結
以上是生活随笔為你收集整理的推荐系统的个性化排名的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: CVPR2020:Grid-GCN用于快
 - 下一篇: CVPR2020:点云分类的自动放大框架