一個memory-based協同過濾算法的改進(基於隱式評分)

先來看定義。“顯示評分”俗稱打分,如Netflix中允許用戶給每部電影打1-5分,豆瓣電影也允許用戶給電影評星級(很差—力薦)。而“隱式評分”是指用戶的瀏覽記錄,購買記錄之類的0-1評分(用binary數值0表示沒有瀏覽/購買,1表示瀏覽/購買過);或者是帶有count的信息:瀏覽/購買過幾次。


可以看到,隱式評分不能反映用戶對一個物品的喜好。如果評分r_ij爲0,不能代表用戶i不喜歡物品j,可能只是因爲用戶還沒發現這個物品。反之,雖然r_ij > 0也不能完全表示用戶喜歡物品j,但一般情況下還是成立的。換句話說,隱式評分只能捕捉positive信息。這個不同於顯示評分,對於類似0-5的顯示評分,0標示用戶最negative的偏好(厭惡),5反應用戶最positive的偏好(力薦)。因此顯示評分能完整地捕捉到兩方面的信息。


進而 [15]指出,帶有count的隱式評分可以捕捉用戶喜歡一個物品的置信度:用戶完整地看了3次電影A,那麼很可能用戶喜歡電影A;反之,用戶電影B只看了一半,則他很可能不喜歡B。因此,[15]將一個用戶喜歡任何物品的置信度預設爲1(因爲隱式評分爲0也可能是喜歡的),然後再根據觀察到的歷史行爲次數相應提高置信度。大家知道,優化 quadratic loss function 對應的是概率模型上求最大似然概率估計。有意思的是,這裏的置信度其實在概率上可以理解爲方差,詳細的可以參考[17]。


然而,[14]指出Matrix factorization存在如下缺點。一、該模型在評分矩陣很大的時候,計算量太大。二、由於矩陣分解相當於是一個迴歸模型,它本身並不適用於binary評分問題。三、batch-gradient下,MF不能保證收斂到最優解,而且收斂速度慢(但可以改用SGD解決,請見“如何使機器學習並行化”篇)。作者指出,MSD比賽中,MF的效果並不好。


Conversely,作者提出了一個改進的memory-based CF算法。該模型在比賽中取得了最好的performance。不同於[15]中使用代表次數的隱式評分,[14]忽略了count信息:有過歷史行爲的爲1,無歷史行爲的爲0。[14]的註釋1裏這樣寫道:“這樣做我們便忽略了count信息(即一首歌被一個用戶聽了幾遍)。但是,比賽的組織者提醒我們,這個count信息可能是不可靠的,甚至與用戶的喜好完全無關。”——注:count信息還是有一定價值的,這條論斷沒有普遍意義。


好了,回到[14]。主要有3個改進:

①作者引入了非對稱餘弦相似度(Asymmetric Cosine Similarity)。以往CF算法中,物品的相似度計算有兩種方法:條件概率相似度和餘弦相似度[16]。以往的文章(如,[16]和項亮的《推薦系統實踐》)指出,條件概率相似度的侷限在於它會導致流行物品與任何物品都相似。但作者實踐證明,在相似度中引入非對稱性能大大提高推薦的準確度。更具體地,作者將相似度表示爲兩個條件概率(條件概率相似度的定義只適用於隱式)的乘積(詳見論文),而餘弦相似度剛好是asymC的一種特殊情況。

②求用戶u對物品i的喜好成都時,不是單純地把鄰域上物品的相似度疊加,而是在相似度上加上了冪指數q(q>=1)。文章指出,這樣做能emphasize相似度大的物品,而相似度小的物品影響力更小。

③借鑑上面asymC的思想,在最終計算評分的式子裏也引入了非對稱性。作者指出,不對稱性的引入總能提高推薦系統的performance。這其實是增加了模型的複雜度。


細節上有兩點值得注意:

①在物品相似度矩陣的計算上,由於物品數過多(380k個),作者採用了sample一部分物品的辦法。雖然作者沒有給出細節,但一種方案是:對於評分數過多的用戶,只sample他一部分的評分。這樣能使相似度矩陣的計算量隨用戶數線性增長。具體的可以參見這裏的做法。

②作者對計算出的評分r_ij,相對於每個物品i的平均評分做了Calibration(校準)。結果顯示校準後的性能均得到了提高。一個直觀上的解釋是:校準使得對於某一用戶來說,他對其他物品的預測評分之間有了可比性。舉個例子,小明對物品A和物品B的預測評分都是3。但他發現其他用戶對A和B的平均測評分分別是2和3。因此,小明應該選物品A,因爲他似乎比一般用戶更喜歡物品A。這就是這裏校準的作用。


最後,作者指出比賽中使用音樂的meta data來做推薦的隊伍成績都不理想。一個可能的解釋是:隱式評分數量很多,其中蘊含的信息量遠遠超過了meta data所能提供的。


參考文獻:

[14] Efficient Top-N Recommendation for Very Large Scale Binary Rated Datasets
[15] Collaborative Filtering for Implicit Feedback Datasets
[16] Evaluation of Item-Based Top-N Recommendation Algorithms

[17] Review Quality Aware Collaborative Filtering

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章