陳功平,王紅
六安職業(yè)技術學院信息與電子工程學院,安徽六安237158
改進Pearson相關系數(shù)的個性化推薦算法
陳功平,王紅
六安職業(yè)技術學院信息與電子工程學院,安徽六安237158
基于用戶的協(xié)同過濾推薦算法(User CF)從用戶的歷史操作記錄中分析用戶的興趣,找到每個用戶的k個相似近鄰,然后基于這k個近鄰集合實施推薦。皮爾森相關系數(shù)能夠根據(jù)用戶的歷史評分計算用戶間的相似度。本文加入流行項目懲罰系數(shù)、共同評分項目懲罰系數(shù)δ和評分差異懲罰系數(shù)λ,對皮爾森相關系數(shù)實施了改進和修訂。實驗結果表明,改進后的皮爾森相似度的推薦效果好于原始皮爾森相似度。
個性化推薦;相似性計算;皮爾森相關系數(shù);評分預測
個性化推薦[1]比大眾化推薦更能滿足當前用戶的需要,如同靜態(tài)網(wǎng)頁為用戶顯示相同內容,動態(tài)網(wǎng)頁為用戶顯示個性化的內容。個性化推薦[2]算法從用戶的歷史行為中研究用戶興趣,根據(jù)每個用戶的喜好生成推薦列表。
協(xié)同過濾推薦(Collaborative Filtering,CF)算法[3]是推薦系統(tǒng)中應用廣泛、研究深入又簡單的推薦算法,有基于用戶相似性的協(xié)同推薦算法(UserCF)[4]和基于項目相似性的協(xié)同推薦算法(ItemCF)[5],UserCF從用戶(User)對項目(Item)的評分矩陣中挖掘當前用戶最相似的k個鄰居,然后以k個鄰居為基礎實施推薦。本文采用改進的皮爾森相關系數(shù)計算用戶間的相似度,降低共同評分項目過少、流行項目及評分差異三種因素對用戶相似度的影響,改進相似度計算方法,提高評分預測的精度。實驗結果表明,改進后的相似度計算方法的推薦效果好于原始相似度計算的推薦效果。
用戶或項目的相似度計算是協(xié)同過濾推薦算法的核心[6]。計算用戶u1與u2的相似度時,從評分矩陣中找出兩個用戶的共同評價項目集合,記作Vu1、Vu2,將向量集合Vu1與Vu2的相似度作為用戶u1與u2的相似度。常用的相似度度量方法有Jaccard相關系數(shù)、余弦相似度和皮爾森相關系數(shù)。
1.1 Jaccard相關系數(shù)
Jaccard[7]相關系數(shù)用兩個集合的并集和交集的比值來度量用戶相似度,即。
從計算公式可以看出,Jaccard相關系數(shù)適用于計算離散型集合的相似度,若評分矩陣中各元素的值只用1(喜歡)、-1(不喜歡)和0(無關)表示,使用Jaccard相關系數(shù)計算用戶相似度的效果較好。而對于非離散型的評分矩陣,因Jaccard相關系數(shù)沒有考慮評分值對相似度的影響,因此對于5星或10級評分矩陣的相似度計算效果較差。
1.2 余弦相似度
余弦相似度[8]通過計算兩個向量間的夾角余弦度值來衡量兩個用戶間的相似性,即。
從公式可以看出,兩個向量間的夾角越小則相似度越大,若夾角為0,認為u1和u2完全相似,即相似度值為1,這種計算方法忽視了向量間的距離。如圖1中的u1、u2、u3,根據(jù)余弦相似度計算u1和u2的相似度為1,大于u1和u3的相似度,但在空間上,u1和u3的距離更接近。余弦相似度同樣沒有考慮評分矩陣中的評分值對相似度的影響。
圖1 余弦相似度示意圖Fig.1 Sketch of cosine similarity
1.3 皮爾森相關系數(shù)
皮爾森相關系數(shù)[9]利用向量間的線性相關性表示用戶相似度,即。
其中,ru1,i表示用戶u1對項目i的評分,ˉru1表示用戶u1對所有項目評分的平均值,皮爾森相似度的取值范圍從[-1,1],比Jaccard相關系數(shù)和余弦相似度的計算結果更精確[10]。
皮爾森相似度形式上和余弦相似度相似,計算時減去了用戶的平均評價值,就是對余弦相似度做了一次歸一化處理,統(tǒng)一了用戶的評分標準。
假如u1和u2用戶共同評分項目較少且恰好滿足公式(3)相似度為1的條件,這種情況在實際評分矩陣中非常常見,導致每個用戶相似度為1的近鄰的相同評價項目數(shù)較少,近鄰計算結果與實際不符,因此需要改進原始皮爾森相似度的計算方式,加入限制條件。
2.1 熱門項目懲罰
當某首歌曲流行時,幾乎所有用戶都會收聽,所以熱門項目對相似度計算的貢獻較小[11]。這里將評分矩陣中評價數(shù)量作為項目熱門的度量標準,為了降低熱門項目對用戶相似度的影響,將公式(3)修訂為。
其中,N(i)表示項目i在評分矩陣中被評價的次數(shù)。
2.2 共項評分項目懲罰
為了降低偶爾相同評價對皮爾森相似度的影響,設置共同評價項目過少的懲罰閥值δ,將公式(4)改進為。
δ的取值太小則懲罰不明顯,當取值達到一定限度時推薦效果趨于收斂。圖2反應了δ值對推薦結果的影響,數(shù)據(jù)取自近鄰數(shù)為100個、MovieLens 100 k數(shù)據(jù)集中測試集的評分預測的RMSE值變化,當δ在25以后趨于收斂。從圖2可以看出,δ可以有效提高評分預測的準確度。
圖2 δ對RMSE值的影響Fig.2 The influence of δ on RMSE value
2.3 共同評分差異性修正
皮爾森相似度已經(jīng)對評分做了一次歸一化處理,但如果u1和u2用戶的平均分相似,而對某項目打分差值超過一定界限,認為這樣的共同評分項對相似度貢獻較小,加入共同評分差異性修正值λ。
r用來限制u1、u2對項目i評價差值的界限,∣ru1-ru2∣越小,即用戶u1和u2對項目i的評分越接近,ε用于判定u1、u2平均分相似性的界限,修正值λ小于1,用于降低用戶平均分相似而評分差值大對相似度的影響。
3.1 基于用戶相似度的評分預測
用戶會為喜愛的項目打高分,所以評分預測是推薦系統(tǒng)的實現(xiàn)原理之一。得到用戶u的k個近鄰后就可以預測u對項目i的評分,預測公式如(7)所示。
3.2 評價指標
使用均方根誤差RMSE[12]作為算法的評價指標,RMSE反應的是預測分值與用戶實際分值間的差異,值越小說明預測越準確[13]。
其中,rui表示用戶u對項目i的實際評分,r?ui表示用戶u對項目i的預測評分,∣T∣表示預測數(shù)量。
3.3 用戶相似度訓練
算法:改進Pearson相關系數(shù)的用戶近鄰計算
輸入:訓練集評分矩陣Train,k,δ,Max_δ,λ
輸出:每個用戶的k個最近鄰矩陣Sim
1:RMSE[u1,u2,…]中各元素初始值為1
2:根據(jù)公式(3)計算用戶間的皮爾森相似度并存入Sim
3:k個最近鄰訓練
3.1 根據(jù)公式(6)重新計算Sim
3.2 根據(jù)公式(7)預測Train中ui的評分
3.3 根據(jù)公式(8)計算RMSE[ui]值
3.4 δ++
3.5 直到RMSE[ui]<0.6或δ>=Max_δ
使用GroupLens發(fā)布的MovieLens 100 k數(shù)據(jù)集驗證實驗效果,該數(shù)據(jù)集[14]存儲了10萬條用戶對電影的評分記錄,每條記錄由(用戶編號,電影編號,評分值)3項組成,按照每個用戶的評價數(shù)量,以8:2的比例隨機分成訓練集Train(80 k條記錄)和測試集Test(20 k條記錄),Movie Lens數(shù)據(jù)集初始情況如表1所示。
4.1 實驗參數(shù)設置
本文通過4組實驗驗證改進皮爾森相似度對推薦結果準確度的影響,每組實驗任務名及參數(shù)設置如表2所示。
Task1的參數(shù)設置表示沒有改進,相當于使用公式(3)為相似度計算方法,即原始皮爾森相似度系數(shù),其余3組實驗均對計算方法有所改進。
4.2 實驗結果及分析
表3是Train集合的RMSE評價指標值。
從數(shù)據(jù)可見,在k值小于200的情況下,Task2~Task4明顯比Task1效果好,在k為100時,Task2~Task4的預測效果最好;Task1隨k值的增加效果越來越好,k值的增加會使得算法的時間復雜度升高;Task2~Task4在k值相同時RMSE值差值很小。
表4是Test集合的RMSE評價指標值。
在Test集合中,Task2~Task4的預測效果好于Task1,當k=100時,Task2和Task3的RMSE指標值比Task1的指標值提高了0.1。當k值升高,RMSE值降低,即k值越大,預測評分越接近實際評分。
圖3是Train集合的RMSE指標值與k值的關系圖,對于傳統(tǒng)的皮爾森系數(shù)而言,k值越大預測越準確,而改進后的皮爾森相關系數(shù)的預測結果在k=100時出現(xiàn)拐點。
圖4是Test集合的RMSE指標值與k值的關系圖,與Train集合不同,二者都隨著k值的升高而降低,改進相似度計算方法的測試效果好于傳統(tǒng)計算方法。由圖可以認為當k值超過一定限度后,改進相似度計算方法與傳統(tǒng)相似度計算方法的預測結果的指標值越來越接近。
圖3 Train集合的RMSE值比較Fig.3 Comparison of RMSE values in Train
圖4 Test集合的RMSE值比較Fig.3 Comparison of RMSE values in Test
相似度計算方法是推薦算法的核心,皮爾森相關系數(shù)將用戶評分數(shù)據(jù)參與到相似度計算過程,能夠更準確的挖掘用戶的興趣,提高推薦效果。在實際應用時,由于用戶數(shù)和項目數(shù)較大,相似度計算和推薦算法的時間復雜度過高,如果將相似度計算過程放在線下進行則不能實施實時推薦。降低相似度計算和推薦的時間復雜度、提供實時推薦是本文的下一個研究方向。
[1]ZhuangHL,TangJ,TangWB,etal.Activelylearningtoinfersocialties[J].DataMiningandKnowledgeDiscovery,2012,25(2):270-297
[2]高明,金澈清,錢衛(wèi)寧,等.面向微博系統(tǒng)的實時個性化推薦[J].計算機學報,2014,37(4):363-375
[3]KaleliC.Anentropy-basedneighborselectionapproachforcollaborativefiltering[J].Knowledge-BasedSystems,2013,56(3):273-280
[4]吳湖,王永吉,王哲.兩階段聯(lián)合聚類協(xié)同過濾算法[J].軟件學報,2010,21(5):1042-1054
[5]黃創(chuàng)光,印鑒,汪靜,等.不確定近鄰的協(xié)同過濾推薦算法[J].計算機學報,2010,33(8):1369-1377
[6]劉樹棟,孟祥武.基于位置的社會化網(wǎng)絡推薦系統(tǒng)研究[J].計算機學報,2015,38(2):322-336
[7]Lu ML,Qin Z,Cao Y,et al.Scalable news recommendation using multi-dimensional similarity and Jaccard–Kmeans clustering[J].The Journal of Systems and Software,2014,95(4):242-251
[8]Aral S,Walker D.Identifying Influential and SusceptibleMembersof SocialNetworks[J].Science,2012,337(6092):337-341
[9]張宇鐳,黨琰,賀平安.利用Pearson相關系數(shù)定量分析生物親緣關系[J].計算機工程與應用,2005(33):79-82,99
[10]Zhuang H,Savage EM.Variation and Pearson correlation coefficients of Warner-Bratzler shear force measurements within broiler breast fillets[J].Poultry Science,2009,88(1):214-20
[11]Jannach D,Zanker M,Felfemig A,et al.Recommender systems:an introduction[D].Cambridge:CUP,2010
[12]陳克寒,韓盼盼,吳健.基于用戶聚類的異構社交網(wǎng)絡推薦算法[J].計算機學報,2013,36(2):349-359
[13]朱郁筱,呂琳媛.推薦系統(tǒng)評價指標綜述[J].電子科技大學學報,2012,41(2):163-175
[14]朱夏,宋愛波,東方,等.云計算環(huán)境下基于協(xié)同過濾的個性化推薦機制[J].計算機研究與發(fā)展,2014,51(10):2255-2269
APersonalized RecommendationAlgorithm on Improving Pearson Correlation Coefficient
CHEN Gong-ping,WANG Hong
College of Information and Electronic Engineering/Lu’an Vocation Technology College,Luan 237158,China
This paper found k similar neighbors of each user by analyzing the users’interests from their operating records based on the collaborative filtering recommendation and then made the implementation of recommendations based on the k similar neighbors.The Pearson Correlation Coefficient could calculate the similarity among users.This paper added popular items penalty coefficient,simultaneous rating items penalty coefficient δ and rating different penalty coefficient λ to the Pearson Correlation Coefficient and carried out the improvement and revised to the Pearson Correlation Coefficient.The experimental results indicated that the recommendation effect of improved Pearson Correlation Coefficient was better than the original one.
Personalized recommendation;similarity calculation;Pearson Correlation Coefficient;rating prediction
TP301
A
1000-2324(2016)06-0940-05
2015-03-31
2015-08-31
2015年度安徽高校自然科學研究重點項目(KJ2015A435);安徽省2016年高校優(yōu)秀青年人才支持計劃重點項目(gxyqZD2016570);安徽省2014年高校優(yōu)秀青年人才支持計劃
陳功平(1980-),男,講師,研究方向:個性化推薦,計算機網(wǎng)絡.E-mail:wh0115140@126.com
*通訊作者:Author for correspondence.E-mail:wh0115140@126.com