【摘要】協(xié)同過濾算法已經成為推薦系統(tǒng)中應用程度最為廣泛和有效的一種方法。評分預測推薦算法作為協(xié)同過濾的一個重要的分支研究方向,有著非常重要的地位和研究價值。評分預測推薦中基于用戶的協(xié)同過濾推薦算法最關鍵的一步就是用戶間相似度的計算。弄清基于用戶的不同相似度計算方法的特點、公式和優(yōu)缺點,對提高協(xié)同過濾的評分預測準確度具有重要意義。
【關鍵詞】協(xié)同過濾;評分預測;相似度
推薦系統(tǒng)中最為重要的推薦算法就是協(xié)同過濾推薦算法,協(xié)同過濾在工業(yè)界和學術界已經得到了很深入的研究和發(fā)展,具有舉足輕重的商用價值和學術意義?;谟脩舻膮f(xié)同過濾推薦算法是協(xié)同過濾算法的一個重要研究分支,自 20 世紀 90 年代以來一直是領域內關注的焦點?;谟脩舻膮f(xié)同過濾算法中最關鍵的步驟就是對用戶相似度的計算。不同的相似度計算方法具有不同的公式和優(yōu)缺點,能適應不同的數(shù)據環(huán)境。
一、基于用戶的協(xié)同過濾推薦算法
基于用戶的協(xié)同過濾是一種基于存儲的協(xié)同過濾推薦算法。該算法認為一個用戶會喜歡和他有相似興趣愛好的用戶喜歡的產品。因此,要對一個用戶做推薦,首先得找到和他興趣愛好相似的用戶。
在User CF 中,兩個用戶興趣愛好相似是因為他們喜歡相似的產品。這種相似性通過用戶相似度進行衡量。衡量兩個用戶的相似度主要有兩種思路:一種認為對于給定用戶u、a,若他們對于任意產品i總是給出相似的評分,則認為這兩個用戶相似,這種方法被稱為 Correlation相似度方法;另一種則認為如果用戶u、a總是對相同的產品進行瀏覽、評價等行為,則這兩個用戶相似,這種方法被稱為Relevance相似度方法。
利用計算所得的用戶相似度,User CF為待推薦用戶尋找近鄰,以便利用近鄰行為預測當前用戶的行為。近鄰搜索是User CF算法的核心內容之一,其效率和質量直接影響推薦算法的有效性。近鄰搜索往往需要為當前用戶尋找K個最相似的用戶,因此,亦被稱為 K近鄰方法(K-Nearest Neighbors,簡稱KNN)。
在確定了用戶u的近鄰集合后,User CF 利用這些近鄰的評分信息,將其進行加權平均,預測用戶u對未評分產品的評分值。其計算方法如下面公式所示:
其中,為用戶u和用戶a的相似度,N(u)為用戶u的近鄰集合。在Top-N推薦忠,UserCF通過預測用戶對產品的評分值信息,對用戶未評分產品進行排序,預測評分值較高的前N個產品推薦給用戶。
二、四種典型的衡量用戶相似度的方法
(一)余弦相似度(Cosine)[1]是一種典型的 Correlation 相似度方法。它將用戶的歷史評分信息看作是n維向量,即使用u、a分別表示用戶u和用戶a的歷史評分信息。其中向量的第i個元素是該用戶對第i個產品的評分值,未評分產品用0代替。用戶u和用戶a的余弦相似度可以用兩個向量的夾角余弦表示,即:
其中是用戶u對產品i的評分值,是用戶u和用戶a共同評分的產品集合。
(二)皮爾遜相關性(Pearson Correlation, PC)[1]亦是一種典型的Correlation 相似度方法。它是自然科學領域中廣泛用于度量兩個變量間線性相關程度的方法之一。在User CF中,它可以有效描述兩個用戶在若干個產品上評分變化趨勢的一致程度。其計算方法如公式所示:
其中,是用戶u對產品的平均評分值。
(三)歐幾里德距離相似度(Euclidean Distance Similarity)[3] 最初用于計算歐幾里德空間中兩個點的距離,后引用到推薦領域,用來計算兩個用戶間的相似度,距離越小,相似度越大,其計算方法如下:
(四)Jaccard 相似度[4]是一種典型的Relevance相似度方法。它通過計算用戶u和用戶a評分的產品集合的相似程度衡量兩個用戶之間的相似度,兩個用戶共同評分的產品越多則他們越相似,其計算方法為:
(五)對數(shù)似然相似度(Log-Likelihood)[5]亦是一種典型的Relevance相似度方法。它通過計算用戶和用戶所評分產品集合的對數(shù)似然相似度衡量兩個用戶間的相似程度,其計算方法如以下三個公式所示:
其中,的取值(項目次數(shù))如下表所示:
(六)斯皮爾曼等級關聯(lián)(Spearman Rank Correlation, SRC)定義為物品i在用戶u所評分物品中的排位(并列評分用它們的平均排名),則用戶u和v的相似度可以這樣計算:
其中,是用戶所評價物品的平均排名。
三、不同相似度計算方法的比較
由于沒有考慮負關聯(lián),歐幾里德距離求得的預測評分準確度是最低的。Jaccard 相似度并沒有考慮評分的多少而是根據評價的排名確定相似度。同時,PC的準確度在一定范圍內準確度要比其他相似度計算方法要高,但隨著數(shù)據庫的變化,SRC逐漸高于PC。事實上,各種相似度計算方法之間的準確度在不同數(shù)據量條件和評分規(guī)則下,并非一成不變,是變化的。具體如何變化,還有待進一步研究。但是有實驗表明PC和SRC在數(shù)據庫環(huán)境發(fā)生變化時,其準確度是逐漸變化的。
總之,根據數(shù)據庫中用戶數(shù)量、用戶評分數(shù)量、評分規(guī)則以及評價物品數(shù)量等數(shù)據量的變化,協(xié)同過濾需要應用的相似度計算方法也應當有所不同,甚至需要進行動態(tài)的混合和組合。只有這樣才能使推薦系統(tǒng)的結果達到評分預測準確率最高,從而使用戶最滿意,獲得用戶與程序設計者雙贏的目的。
參考文獻
[1] Adomavicius,G.,&Tuzhilin;,A.(2005).Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering, 2005-9-9,17(6),734-749.doi:10.1109/TKDE.
[2]Manning, C.D., Raghavan, P., & Schütze, H.. Introduction to information retrieval[J]. New York, NY, USA: Cambridge University Press, 2008.
[3]Shang, M.S., L. Lü, W. Zeng, et al. Relevance is more significant than correlation: Information filtering on sparse data[J]. EPL (Europhysics Letters), 2009. 88(6): 68008.
[4]Herlocker, J. L.. Understanding and improving automated collaborative filtering systems[D]. University of Minnesota Ph.D. thesis. 2000. AAI9983577.
[5]Kendall, M., Gibbons, J.D. Rank Correlation Methods 5 edn[M]. Charles Griffin, 1990.
作者簡介
吳曉瓊(出生年1990),女,山西,河北大學管理學院管理科學與工程專業(yè)在讀碩士研究生。