潘磊
(江蘇科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇鎮(zhèn)江212003)
個(gè)性化推薦系統(tǒng)中相似度計(jì)算的優(yōu)化
潘磊
(江蘇科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇鎮(zhèn)江212003)
個(gè)性化推薦系統(tǒng)能夠比較有效的解決我們獲取信息時(shí)遇到的信息過載問題,發(fā)展至今產(chǎn)生了許多經(jīng)典的推薦算法,其中最成熟應(yīng)用最為廣泛的是協(xié)同過濾算法。相似度的準(zhǔn)確計(jì)算在協(xié)同過濾算法中起到了非常重要的作用,為了進(jìn)一步提高推薦系統(tǒng)的推薦準(zhǔn)確率,本文對(duì)相似度計(jì)算方法進(jìn)行了研究。通過項(xiàng)目相似度和評(píng)分差異性對(duì)計(jì)算結(jié)果影響的大小,計(jì)算時(shí)給予不同的權(quán)重,并在MovieLens上對(duì)推薦結(jié)果進(jìn)行預(yù)測(cè),試驗(yàn)結(jié)果顯示,MAE值降低了2.5%,優(yōu)化后的相似度計(jì)算方法可以提高個(gè)性化推薦系統(tǒng)的推薦準(zhǔn)確率。
推薦系統(tǒng);項(xiàng)目相似度;評(píng)分差異性;協(xié)同過濾;準(zhǔn)確率
隨著Web2.0時(shí)代的到來,網(wǎng)絡(luò)給人們?nèi)粘I顜肀憷耐瑫r(shí)也制造了麻煩。在信息的汪洋大海中,用戶尋找感興趣的信息變得異常困難,往往把寶貴的時(shí)間和精力浪費(fèi)在過濾無用的信息上。對(duì)于信息過載問題[1]通常的解決辦法有3種:第一種是搜索引擎,谷歌是其中的代表;第二種是分類目錄,有代表性的有雅虎和Hao123等網(wǎng)站;第三類是個(gè)性化系統(tǒng)。本文主要研究的是第三類解決方案,在基于協(xié)同過濾的個(gè)性化系統(tǒng)中,優(yōu)化相似度的計(jì)算方法,從而提高推薦結(jié)果的準(zhǔn)確性。
協(xié)同過濾算法中相似度計(jì)算在找到相似用戶或者物品時(shí)起到很重要的作用,影響著最終推薦結(jié)果的準(zhǔn)確度和用戶滿意度[2]。因此,本文在研究傳統(tǒng)的相似度計(jì)算方法基礎(chǔ)之上,引入物品相似度,并且根據(jù)數(shù)據(jù)集的特點(diǎn),細(xì)粒度的考慮了不同用戶評(píng)分之間的差異性。
協(xié)同過濾算法中鄰居的興趣能在一定程度上反映用戶的興趣,因此通常要找到用戶或者物品的鄰居[3],據(jù)此給出推薦列表。根據(jù)鄰居的挑選原則,我們通??梢园阉麄兎殖蓛深?一類是固定數(shù)量的鄰居(K-neighborhoods):不論鄰居的“遠(yuǎn)近”,只取最近的K個(gè),作為其鄰居。另一類是基于相似度門檻的鄰居(Threshold-based neighborhoods)。不論采用哪一種方法,要獲得近鄰首要的問題就是計(jì)算相似度,然后再根據(jù)相似度確定鄰居集合,本文主要是以基于用戶的協(xié)同過濾算法為例。
1)歐幾里德距離(Euclidean Distance):
2)皮爾遜相關(guān)系數(shù)(Pearson Correlation Coefficient):
3)Cosine相似度(Cosine Similarity):
4)Jacard系數(shù)余弦相關(guān)系數(shù)的擴(kuò)展:
歐幾里德定義的相關(guān)系數(shù)利用評(píng)分矩陣中用戶a,b對(duì)共同評(píng)分項(xiàng)目Tab的項(xiàng)目評(píng)分的二范數(shù)來計(jì)算用戶的相似度,分母中的平方項(xiàng)放大了用戶a,b評(píng)分差異帶來的計(jì)算誤差。皮爾遜相關(guān)系數(shù)P取值在-1與+1之間,若P>0,表明兩個(gè)變量是正相關(guān);若P<0,表明兩個(gè)變量是負(fù)相關(guān)。余弦相似度利用利用a,b用戶評(píng)分向量的余弦夾角來計(jì)算相似度,取值為0到1,取值越大代表相關(guān)性越大。Jacard系數(shù)是對(duì)余弦系數(shù)的擴(kuò)展,考慮了Ra,Rb長(zhǎng)度。傳統(tǒng)的相似度計(jì)算應(yīng)用到具體的數(shù)據(jù)集上,例如Movelens數(shù)據(jù)集,我們可以充分利用數(shù)據(jù)集自身的特點(diǎn)進(jìn)行優(yōu)化,傳統(tǒng)相似度計(jì)算沒有考慮:
1)兩個(gè)用戶對(duì)同一個(gè)物品評(píng)價(jià)分值的差異對(duì)物品的影響。如果兩個(gè)用戶同時(shí)給高分或者同時(shí)給低分,在某種程度上更能反映用戶間興趣的相似性,但是如果兩個(gè)用戶對(duì)同一物品評(píng)分的分值差異比較大,更能說明不同用戶間的興趣偏好的差異性較大,在計(jì)算用戶相似度時(shí)應(yīng)該細(xì)化考慮,分別給予不同的權(quán)重值。
2)兩個(gè)用戶評(píng)價(jià)的項(xiàng)目的相似度對(duì)最終計(jì)算結(jié)果的影響。評(píng)分矩陣的行向量,也即用戶對(duì)公共評(píng)分項(xiàng)目的評(píng)分向量,如果兩個(gè)用戶之間評(píng)分的項(xiàng)目更加相似,那么在計(jì)算用戶相似度時(shí)應(yīng)該適當(dāng)?shù)脑黾訖?quán)重。
針對(duì)上述相似度計(jì)算的討論可以對(duì)算法進(jìn)行相應(yīng)的改進(jìn),考慮項(xiàng)目相似度[4],利傳統(tǒng)的相似度計(jì)算方法計(jì)算得到所有項(xiàng)目之間的相似度矩陣Mnn,代表項(xiàng)目之間的相似度,定義:
代表a,b用戶間共同評(píng)價(jià)項(xiàng)目與目標(biāo)項(xiàng)目之間的相似度之和,w1越大說明用戶評(píng)價(jià)的物品越相似,計(jì)算用戶相似度時(shí)應(yīng)該適當(dāng)增加權(quán)重。同時(shí)考慮不同用戶的評(píng)分差異性,定義權(quán)重因子,假設(shè)在評(píng)分值區(qū)間為1~5分的系統(tǒng)中,認(rèn)為小于等于2分為低評(píng)分,大于等于4分認(rèn)為是高評(píng)分,評(píng)分差值大于3分的認(rèn)為評(píng)分差異較大,給出如下定義:
綜合起來考慮定義權(quán)重因子:
根據(jù)公式wa,b(i)給出算法的描述和過程。
算法:計(jì)算用戶相似度權(quán)重
輸入:用戶A,B、用戶-項(xiàng)目評(píng)分矩陣R、項(xiàng)目之間的相似度矩陣Mnn、A,B共同評(píng)分項(xiàng)目Tab
輸出:wa,b(i)
Step1:wa,b(i)=0,T=Tab;
Step2:從T中取出uj,T=T-{uj};
Step3:Mnn查找mij;
Step4:查找評(píng)分矩陣R,計(jì)算|raj-rbj|,根據(jù)公式(6)確定參數(shù)σ;
Step5:wa,b(i)=wa,b(i)+σmij;
Step6:T=?結(jié)束,否則跳轉(zhuǎn)到第二步。
根據(jù)上面得到的wa,b(i)改進(jìn)后的皮爾遜相關(guān)系數(shù)為:
改進(jìn)后的Jacard相似度為:
本文采用MovieLens數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),對(duì)改進(jìn)前后的相似度采用MAE值進(jìn)行評(píng)測(cè)比較。每個(gè)用戶對(duì)已經(jīng)看過的電影根據(jù)個(gè)人滿意度給予不同的評(píng)分值,不同的評(píng)分值代表用戶興趣度的不同,評(píng)分值的區(qū)間為1~5分,評(píng)分值高低代表了用戶的偏好,最后通過MAE對(duì)改進(jìn)后的系統(tǒng)推薦結(jié)果評(píng)測(cè)。MAE是現(xiàn)在被廣泛認(rèn)可的評(píng)價(jià)指標(biāo)之一,可以真實(shí)的反映實(shí)際評(píng)分與預(yù)測(cè)評(píng)分之間的誤差大小,公式如下:
實(shí)驗(yàn)通過MATLAB完成,經(jīng)過多次試驗(yàn)調(diào)優(yōu),發(fā)現(xiàn)(σ1,σ2,σ3)=(1.1,1.1,0.8)時(shí),實(shí)驗(yàn)效果最佳,實(shí)驗(yàn)結(jié)果如圖1、2所示。
圖1對(duì)比了基于Jacard系數(shù)優(yōu)化前后的協(xié)同過濾算法的MAE值,從圖上可以看出,隨著鄰居集的個(gè)數(shù)增加MAE值也隨之下降,直到鄰居個(gè)數(shù)達(dá)到80以上,MAE值趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果顯示,采用優(yōu)化后的Jacard系數(shù)的協(xié)同過濾算法,推薦結(jié)果的MAE值有明顯的降低,推薦準(zhǔn)確率更高。
圖1 基于優(yōu)化的Jacard系數(shù)的協(xié)同過濾算法的MAE
圖2 基于優(yōu)化的皮爾遜相關(guān)系數(shù)的協(xié)同過濾算法的MAE
圖2對(duì)比了基于皮爾遜相關(guān)系數(shù)優(yōu)化前后的協(xié)同過濾算法的MAE,從圖上可以看出,隨著鄰居集的個(gè)數(shù)增加MAE值也隨之下降,直到鄰居個(gè)數(shù)達(dá)到80以上,MAE值趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果顯示,采用優(yōu)化后的皮爾遜相關(guān)系數(shù)的協(xié)同過濾算法,推薦結(jié)果MAE有明顯的下降,推薦準(zhǔn)確率較高。
對(duì)比兩幅實(shí)驗(yàn)結(jié)果圖可知,隨著鄰居集的增加,兩條曲線的MAE的差值增大,直到鄰居集的個(gè)數(shù)達(dá)到80以上MAE值趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)后的相關(guān)性計(jì)算方法,在某種程度上可以有效地降低基于協(xié)同過濾的推薦系統(tǒng)的MAE值,提高系統(tǒng)的準(zhǔn)確度和用戶滿意度。但是由于本實(shí)驗(yàn)只是在MovieLens數(shù)據(jù)集上取得可比較好的結(jié)果,在其他數(shù)據(jù)集上的表現(xiàn)仍待進(jìn)一步驗(yàn)證。
傳統(tǒng)的推薦系統(tǒng)的不足在于沒有衡量用戶間評(píng)分的差異性和項(xiàng)目相似性的差異對(duì)相似度計(jì)算結(jié)果的影響。本文針對(duì)這兩點(diǎn)進(jìn)行改進(jìn),提升了推薦結(jié)果的準(zhǔn)確率,但是由于引入了項(xiàng)目相似度的計(jì)算,增加了系統(tǒng)的時(shí)空復(fù)雜度,影響系統(tǒng)的性能。σ參數(shù)的確定需要多次試驗(yàn)獲才能獲得,同時(shí)由于增加了相似物品在相似度計(jì)算中的權(quán)重,有可能會(huì)導(dǎo)致覆蓋率的下降,產(chǎn)生長(zhǎng)尾效應(yīng)[7],如何增加對(duì)長(zhǎng)尾商品的推薦,這些問題仍然需要進(jìn)一步討論和研究。
[1]項(xiàng)亮.推薦系統(tǒng)實(shí)戰(zhàn)[M].北京:人民郵電出版社,2012.
[2]周濤.個(gè)性化推薦的十大挑戰(zhàn)[EB/DL].http://blog.sciencenet.cn/blog-3075-588779.html,2012-07-04.
[3]李春,李珍民,高曉芳,等.基于鄰居決策的協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程,2010,36(13):34.
[4]榮輝桂,火生旭,胡春華,等.基于用戶相似度的協(xié)同過濾推薦算法[J].通信學(xué)報(bào),2014,35(2):16-24.
[5]汪靜,印鑒,鄭利榮,等.基于共同評(píng)分和相似權(quán)重的協(xié)同過濾推薦算法[J].計(jì)算機(jī)科學(xué),2010(2):99-104.
[6]馮媛媛,王曉東,姚宇.電子商務(wù)長(zhǎng)尾物品的推薦[J].計(jì)算機(jī)應(yīng)用,2015,35(S2):151-154.
[7]楊博,趙鵬飛.推薦算法綜述[J].山西大學(xué)學(xué)報(bào),2011,34(3):337-350.
[8]孫輝,馬躍,楊海波,等.一種相似度改進(jìn)的用戶聚類協(xié)同過濾推薦愛算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(9):1967-1970.
[9]劉宏哲,須德.基于本體的語義相似度和相關(guān)度計(jì)算研究綜述,計(jì)算機(jī)科學(xué),2012,39(2):8-13.
[10]冷亞軍,梁昌勇,陸青,等基于近鄰評(píng)分填補(bǔ)的協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程 2012,38(21):56-60.
[11]劉建國(guó),周濤,汪秉宏.個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009,19(1):1-15.
[12]徐文龍,嚴(yán)泳鍵.結(jié)合項(xiàng)目相似度的協(xié)同過濾算法[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(9):293-295.
[13]朱文奇.推薦系統(tǒng)用戶相似度計(jì)算方法研究[D].重慶:重慶大學(xué),2014.
[14]陳如明.大數(shù)據(jù)時(shí)代的挑戰(zhàn)、價(jià)值與對(duì)應(yīng)策略[J].移動(dòng)通信,2012,36(17):14-15.
[15](奧地利)Dietmar Jannach等著.推薦系統(tǒng)[M].蔣凡譯.北京:人民郵電出版社,2013.
[16]徐翔,王煦法.協(xié)同過濾算法中的相似度優(yōu)化方法[J].計(jì)算機(jī)工程,2010,36(6):92-95.
Optimized similarity calculation in personalized recommendation system
PAN Lei
(School of Computer Science and Engineering,Jiangsu University of Science and Technology,Zhenjiang212003 ,China)
Personalized recommendation system can effectively solve the information overload problem.Many classic recommendation algorithms have came into our world with the development of the recommendation system technology.Collaborative filtering algorithm is the one most widely used.Similarity plays a very important role in collaborative filtering algorithm.In order to improve the recommendation accuracy of recommendation system,we research the similarity calculation method in this paper.We optimize the traditional similarity calculation method,considering item similarity and difference in score,give different weights when we calculate the similarity.At last,we forecast the result of the recommendation on the data set named MovieLens.The result of the exprement shows that the value of MAE decreases by 2.5%and the optimized method increases recommendation accuracy.
ecommendation system;item similarity;score difference;collaborative filtering;accuracy
TN0
A
1674-6236(2017)23-0055-04
2016-11-21稿件編號(hào):201611156
潘磊(1988—),男,江蘇泗洪人,碩士研究生。研究方向:數(shù)據(jù)挖掘,個(gè)性化推薦。