【摘要】協(xié)同過濾算法已經(jīng)成為推薦系統(tǒng)中應(yīng)用程度最為廣泛和有效的一種方法。評分預(yù)測推薦算法作為協(xié)同過濾的一個重要的分支研究方向,有著非常重要的地位和研究價值。評分預(yù)測推薦中基于用戶的協(xié)同過濾推薦算法最關(guān)鍵的一步就是用戶間相似度的計算。弄清基于用戶的不同相似度計算方法的特點、公式和優(yōu)缺點,對提高協(xié)同過濾的評分預(yù)測準(zhǔn)確度具有重要意義。
【關(guān)鍵詞】協(xié)同過濾;評分預(yù)測;相似度
推薦系統(tǒng)中最為重要的推薦算法就是協(xié)同過濾推薦算法,協(xié)同過濾在工業(yè)界和學(xué)術(shù)界已經(jīng)得到了很深入的研究和發(fā)展,具有舉足輕重的商用價值和學(xué)術(shù)意義。基于用戶的協(xié)同過濾推薦算法是協(xié)同過濾算法的一個重要研究分支,自 20 世紀(jì) 90 年代以來一直是領(lǐng)域內(nèi)關(guān)注的焦點?;谟脩舻膮f(xié)同過濾算法中最關(guān)鍵的步驟就是對用戶相似度的計算。不同的相似度計算方法具有不同的公式和優(yōu)缺點,能適應(yīng)不同的數(shù)據(jù)環(huán)境。
一、基于用戶的協(xié)同過濾推薦算法
基于用戶的協(xié)同過濾是一種基于存儲的協(xié)同過濾推薦算法。該算法認為一個用戶會喜歡和他有相似興趣愛好的用戶喜歡的產(chǎn)品。因此,要對一個用戶做推薦,首先得找到和他興趣愛好相似的用戶。
在User CF 中,兩個用戶興趣愛好相似是因為他們喜歡相似的產(chǎn)品。這種相似性通過用戶相似度進行衡量。衡量兩個用戶的相似度主要有兩種思路:一種認為對于給定用戶u、a,若他們對于任意產(chǎn)品i總是給出相似的評分,則認為這兩個用戶相似,這種方法被稱為 Correlation相似度方法;另一種則認為如果用戶u、a總是對相同的產(chǎn)品進行瀏覽、評價等行為,則這兩個用戶相似,這種方法被稱為Relevance相似度方法。
利用計算所得的用戶相似度,User CF為待推薦用戶尋找近鄰,以便利用近鄰行為預(yù)測當(dāng)前用戶的行為。近鄰搜索是User CF算法的核心內(nèi)容之一,其效率和質(zhì)量直接影響推薦算法的有效性。近鄰搜索往往需要為當(dāng)前用戶尋找K個最相似的用戶,因此,亦被稱為 K近鄰方法(K-Nearest Neighbors,簡稱KNN)。
在確定了用戶u的近鄰集合后,User CF 利用這些近鄰的評分信息,將其進行加權(quán)平均,預(yù)測用戶u對未評分產(chǎn)品的評分值。其計算方法如下面公式所示:
其中,為用戶u和用戶a的相似度,N(u)為用戶u的近鄰集合。在Top-N推薦忠,UserCF通過預(yù)測用戶對產(chǎn)品的評分值信息,對用戶未評分產(chǎn)品進行排序,預(yù)測評分值較高的前N個產(chǎn)品推薦給用戶。
二、四種典型的衡量用戶相似度的方法
(一)余弦相似度(Cosine)[1]是一種典型的 Correlation 相似度方法。它將用戶的歷史評分信息看作是n維向量,即使用u、a分別表示用戶u和用戶a的歷史評分信息。其中向量的第i個元素是該用戶對第i個產(chǎn)品的評分值,未評分產(chǎn)品用0代替。用戶u和用戶a的余弦相似度可以用兩個向量的夾角余弦表示,即:
其中是用戶u對產(chǎn)品i的評分值,是用戶u和用戶a共同評分的產(chǎn)品集合。
(二)皮爾遜相關(guān)性(Pearson Correlation, PC)[1]亦是一種典型的Correlation 相似度方法。它是自然科學(xué)領(lǐng)域中廣泛用于度量兩個變量間線性相關(guān)程度的方法之一。在User CF中,它可以有效描述兩個用戶在若干個產(chǎn)品上評分變化趨勢的一致程度。其計算方法如公式所示:
其中,是用戶u對產(chǎn)品的平均評分值。
(三)歐幾里德距離相似度(Euclidean Distance Similarity)[3] 最初用于計算歐幾里德空間中兩個點的距離,后引用到推薦領(lǐng)域,用來計算兩個用戶間的相似度,距離越小,相似度越大,其計算方法如下:
(四)Jaccard 相似度[4]是一種典型的Relevance相似度方法。它通過計算用戶u和用戶a評分的產(chǎn)品集合的相似程度衡量兩個用戶之間的相似度,兩個用戶共同評分的產(chǎn)品越多則他們越相似,其計算方法為:
(五)對數(shù)似然相似度(Log-Likelihood)[5]亦是一種典型的Relevance相似度方法。它通過計算用戶和用戶所評分產(chǎn)品集合的對數(shù)似然相似度衡量兩個用戶間的相似程度,其計算方法如以下三個公式所示:
其中,的取值(項目次數(shù))如下表所示:
(六)斯皮爾曼等級關(guān)聯(lián)(Spearman Rank Correlation, SRC)定義為物品i在用戶u所評分物品中的排位(并列評分用它們的平均排名),則用戶u和v的相似度可以這樣計算:
其中,是用戶所評價物品的平均排名。
三、不同相似度計算方法的比較
由于沒有考慮負關(guān)聯(lián),歐幾里德距離求得的預(yù)測評分準(zhǔn)確度是最低的。Jaccard 相似度并沒有考慮評分的多少而是根據(jù)評價的排名確定相似度。同時,PC的準(zhǔn)確度在一定范圍內(nèi)準(zhǔn)確度要比其他相似度計算方法要高,但隨著數(shù)據(jù)庫的變化,SRC逐漸高于PC。事實上,各種相似度計算方法之間的準(zhǔn)確度在不同數(shù)據(jù)量條件和評分規(guī)則下,并非一成不變,是變化的。具體如何變化,還有待進一步研究。但是有實驗表明PC和SRC在數(shù)據(jù)庫環(huán)境發(fā)生變化時,其準(zhǔn)確度是逐漸變化的。
總之,根據(jù)數(shù)據(jù)庫中用戶數(shù)量、用戶評分數(shù)量、評分規(guī)則以及評價物品數(shù)量等數(shù)據(jù)量的變化,協(xié)同過濾需要應(yīng)用的相似度計算方法也應(yīng)當(dāng)有所不同,甚至需要進行動態(tài)的混合和組合。只有這樣才能使推薦系統(tǒng)的結(jié)果達到評分預(yù)測準(zhǔn)確率最高,從而使用戶最滿意,獲得用戶與程序設(shè)計者雙贏的目的。
參考文獻
[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),女,山西,河北大學(xué)管理學(xué)院管理科學(xué)與工程專業(yè)在讀碩士研究生。