推薦系統架構


 

推薦系統通常可分為兩部分召回與排序,粗排和精排

 

首先明確一點,計算廣告或者推薦系統中數據特點,大多是高維離散型數據。

 1 召回

召回框架如下圖所示:

常用的召回算法:

    1基於共現關系的collaborative Filtering:利用用戶的行為數據建模。這里需要注意用戶活躍度與物品流行度,僅僅基於用戶行為數據設計的推薦算法一般稱為協同過濾算法

            以下展示常見的相似度計算公式:  

      1  用戶相似度 

         A:             

           B:  UserCF算法中用戶u對物品i的感興趣程度:  
          

                                    其中, S(u, K)包含和用戶u興趣最接近的K個用戶, N(i)是對物品i有過行為的用戶集合, wuv是用戶u和用戶v的興趣相似度, rvi代表用戶v對物品i的興趣,因為使用的是單一行為的隱反饋數據,所以所有的rvi=1

         C:   

                  可以看到,該公式懲罰了用戶u和用戶v共同興趣列表中熱門物品對他們相似度的影響 

 

                        2 基於物品的協同過濾

      

            這里,分母|N(i)|是喜歡物品i的用戶數,而分子 N i N j ( ) ( ) 是同時喜歡物品i和物品j的用戶數。因此,上述公式可以理解為喜歡物品i的用戶中有多少比例的用戶也喜歡物品

           上述公式雖然看起來很有道理,但是卻存在一個問題。如果物品j很熱門,很多人都喜歡那么Wij就會很大,接近1。因此,該公式會造成任何物品都會和熱門的物品有很大的相似度,這對於致力於挖掘長尾信息                                       的推薦系統來說顯然不是一個好的特性。為了避免推薦出熱門的物品,

            可以用下面的公式:

            這個公式懲罰了物品j的權重,因此減輕了熱門物品會和很多物品相似的可能性。 

            下圖是一個根據上面的程序計算物品相似度的簡單例子。圖中最左邊是輸入的用戶行為記錄,每一行代表一個用戶感興趣的物品集合。然后,對於每個物品集合,我們將里面的物品兩兩加一,得到一個                                                  矩陣。最終將這些矩陣相加得到上面的C矩陣。其中C[i][j]記錄了同時喜歡物品i和物品j的用戶數。最后,將C矩陣歸一化可以得到物品之間的余弦相似度矩陣W。 

                        

 

                               改進版ItemToItem: 

                  

 


    2 Model based CF:

            MF    

           SVD     

 

           FISM: 用評價過的Item表示用戶: 

 

           SVD++: 嵌入ID類型數據以及用戶表示過的物品表示用戶: 

 

           FM: 

 

  通過用戶偏好建模選取key,通過k近鄰搜索來查找value

  查找算法: LSH KD tree ball tree

 2 排序

推薦系統中的排序是多目標排序, 比如CTRCVR預估,按照優化方式的不同,也就是learn to rank的三種方式,可分為Pointwise  CTR預估,Pairwise   bpr  Lambed MART,listWise  

 

常用的pointwise方式,也就是ctr預估模型,之前已經介紹過,現在來看pair-wise方式。

pointwise在優化L2 loss ,

但是很多證據表明
一個低MSE模型不⼀定代表排序效果好。。
– Possible Reasons:
1) 均方誤差(e.g., RMSE) and 排序指標之間的分歧
2) 察有偏 – 用戶總是去對喜歡的電影打分 
現在的工作開始逐步朝着優化pairwise ranking loss 

優化相對序關系,不是優化絕對值。

 

首先明確排序模型的評價指標:

 

NDCG: 

AUC: 有兩層含義,1 ROC曲線下的面積,2 任給一個正樣本,排在負樣本之前的概率有多大。

 

但是AUC通常不可導:所以引入了BPR,

 可以看出BPR可以近似看做AUC。類似的還有RankNet,常見的排序指標⽆法求梯度
通過概率損失函數學習Ranking Function
兩個候選集之間的相對排序位置作為⽬標概率
交叉熵(cross entropy loss function)作為概率損失函數 ,模型有LambdaNet與LambdaMart,后續總結。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM