朱愛云
(濰坊科技學(xué)院計算機軟件學(xué)院,壽光2627002)
基于矩陣分解與用戶社會關(guān)系的協(xié)同過濾推薦算法
朱愛云
(濰坊科技學(xué)院計算機軟件學(xué)院,壽光2627002)
矩陣分解技術(shù)雖然已成功應(yīng)用到協(xié)同過濾推薦系統(tǒng)中,但是基于矩陣分解的傳統(tǒng)協(xié)同過濾方法仍然存在著數(shù)據(jù)稀疏性、冷啟動等問題。為了進一步提高系統(tǒng)推薦的準(zhǔn)確性,提出將用戶間的社交關(guān)系融合到矩陣分解的協(xié)同過濾推薦系統(tǒng)中,該方法以奇異值矩陣分解推薦模型為核心,對該模型添加用戶偏置和項目偏置,同時將用戶在社交網(wǎng)絡(luò)中的朋友關(guān)系添加到矩陣分解模型中,然后采用一種隨機梯度下降法對該矩陣進行分解,得到用戶潛在特征和物品潛在特征。最后通過實驗結(jié)果驗證表明,所提出的算法具有較好的預(yù)測效果,其性能明顯優(yōu)于現(xiàn)有的相關(guān)算法。
協(xié)同過濾;矩陣分解;推薦系統(tǒng);梯度下降
面對網(wǎng)絡(luò)的爆炸式增長,人們會變得迷失在網(wǎng)絡(luò)的信息海洋中,用戶為了搜索有用的個性化信息,經(jīng)常花費很多的時間。面對這樣一個問題,許多研究人員從不同領(lǐng)域發(fā)明了各種工具,其中,搜索引擎是最突出的。但是與推薦系統(tǒng)相比,搜索引擎在根據(jù)用戶歷史的行為為用戶自動匹配口味時不夠個性化,為了滿足用戶更個性化的需求,推薦系統(tǒng)由此產(chǎn)生。隨著互聯(lián)網(wǎng)的全面普及和電子商務(wù)的逐步完善,推薦系統(tǒng)已經(jīng)成為了一個越來越受到關(guān)注的研究領(lǐng)域。在各種各樣的推薦系統(tǒng)中,協(xié)同過濾方法是學(xué)術(shù)界和工業(yè)界最為關(guān)注的一種方法,由于其不需要具有領(lǐng)域知識,容易實現(xiàn)和檢測復(fù)雜模式的優(yōu)點。特別是,在Netflix獎的競賽中激發(fā)了不同領(lǐng)域的研究者提出不同的解決方案,建立了相應(yīng)的推薦系統(tǒng)。協(xié)同過濾的基本思想是根據(jù)目標(biāo)用戶的鄰居興趣愛好來預(yù)測目標(biāo)用戶的興趣愛好。鄰居是一組對相同物品具有相似口味的人,其中,協(xié)同過濾有兩種主要類型:基于鄰居方法和基于模型方法,在早期,基于鄰居方法包括基于用戶和基于項目方法,這兩種方法是最廣泛應(yīng)用于工業(yè)界,如亞馬遜和谷歌。目前,學(xué)術(shù)界和工業(yè)界的專家已經(jīng)見證了基于模型方法的良好性能,基于模型的方法是根據(jù)已知的用戶評分矩陣建立一個模型,并應(yīng)用該模型對要評價的項進行評分。許多基于模型的協(xié)同過濾方法已得到廣泛研究,主要包括潛在特征模型、聚類模型[5]、貝葉斯網(wǎng)絡(luò)模型等。其中,基于潛在特征的矩陣分解模型[6,8,12-13],由于能在訓(xùn)練過程中分別為用戶和物品推導(dǎo)出與其對應(yīng)的低維潛在特征向量,以及在大數(shù)據(jù)集上所具有的高可擴展性和準(zhǔn)確性,因此受到了研究者們的廣泛關(guān)注。
然而,傳統(tǒng)的協(xié)同過濾算法也有自身的缺點(1)在實際的推薦系統(tǒng)中用戶項目評分矩陣往往極其稀疏,因此缺少足夠的評分或購買歷史信息使得很難找到相似的用戶。(2)傳統(tǒng)的推薦系統(tǒng)都認(rèn)為用戶是獨立且恒等分布,沒有考慮用戶間的社會關(guān)系,但是在我們的日常生活中我們通常會借助于朋友為我們推薦他們喜歡的物品,我們與自己最親密的朋友往往有許多相同的興趣,同時我們的興趣愛好無形之中也會被周圍的朋友所影響。因此,在推薦系統(tǒng)中增加社會關(guān)系會提高推薦質(zhì)量[1,8-9]。近年來,由于矩陣分解方法具有良好的擴展性和預(yù)測準(zhǔn)確度,因此受到越來越多的關(guān)注。在本文中為了進一步提高推薦質(zhì)量,在前人[12-13]研究的基礎(chǔ)上,我們提出在目標(biāo)函數(shù)中增加用戶、物品偏置信息的基礎(chǔ)上,將用戶的社會關(guān)系融合到奇異值矩陣分解的推薦模型中。通過相關(guān)實驗驗證了融合用戶的社會關(guān)系對協(xié)同過濾推薦方法能起到一定的優(yōu)化作用,并且也能應(yīng)用于現(xiàn)實生活中的大規(guī)模數(shù)據(jù)集中。
近年來矩陣分解[10-11]是最流行的協(xié)同過濾方法之一,它假設(shè)一個用戶的偏好可以用少量的未被注意的特性所表示,將用戶-項目評分矩陣R∈Rm×n分解成兩個低維用戶特征矩陣p∈Rm×k和項目特征矩陣q∈Rn×k,其中,m,n分別表示為用戶數(shù)和項目數(shù),k為潛在特征數(shù),且k≤min(m,n)。一般用戶僅對一小部分項目進行評分,因此R矩陣是非常稀疏的。
假定ru,i是用戶u對物品的評分,,表示用戶u對物品i的預(yù)測評分,其中預(yù)測評分,是由用戶特征向量pu和項目特征向量qi的內(nèi)積計算得到。公式如下:
最關(guān)鍵的問題就是如何利用已有的評分訓(xùn)練用戶潛在特征矩陣p和物品潛在特征矩陣q。
方法如下:
首先,對矩陣p和q進行隨機初始化。
其次,對訓(xùn)練集中所有的用戶-物品指示對(u,i),計算模型的預(yù)測誤差。
最后,通過最小化全局誤差的平方和,來獲取模型參數(shù)即矩陣p和q。
公式如下:
由于評分矩陣過于稀疏,為了防止學(xué)習(xí)過擬合,所以在目標(biāo)函數(shù)中加入懲罰因子λ(||qi||2+||pu||2)來約束模型參數(shù)的取值,目標(biāo)函數(shù)修改為:
然而,在實際的推薦系統(tǒng)中,一些用戶往往比別的用戶打分高,一些項目也往往給予很高的評分,因此在文獻[12,13]中提出了預(yù)測評分為:
其中,bu為用戶的偏置評分,bi為項目i的偏置評分,e為數(shù)據(jù)集中所有評分的平均評分。
雖然這些傳統(tǒng)的協(xié)同過濾算法在學(xué)術(shù)界和工業(yè)界都已經(jīng)取得了較好的研究成果,但是數(shù)據(jù)稀疏性和冷啟動問題是推薦系統(tǒng)最主要的挑戰(zhàn)。近幾年,為了處理這些問題許多研究人員已經(jīng)提出了一些將社會關(guān)系融合到矩陣分解的推薦方法,大大提高了推薦的準(zhǔn)確度,文獻[2,7,8,9,14]提出了社交網(wǎng)絡(luò)下的信任感知推薦系統(tǒng),Ma等人[1]提出了在目標(biāo)函數(shù)中增加社會正則化條件,來衡量一個用戶和他朋友的潛在特征向量之間的差異,通過梯度下降算法使目標(biāo)函數(shù)達到局部最小化。Li等人[3]提出了將關(guān)系正則化矩陣分解添加拉普拉斯算子的正則化社會關(guān)系到目標(biāo)函數(shù)中并且通過選擇投影算法使目標(biāo)函數(shù)最小化。Jamali等[4]提出了一種基于概率圖模型的矩陣分解方法,這種方法研究了基于信任傳播的推薦算法,通過使用信任關(guān)系矩陣對目標(biāo)函數(shù)進行約束,在學(xué)習(xí)過程中使目標(biāo)用戶的特征向量盡可能與其所信任朋友的特征向量接近,從而達到利用社會關(guān)系進行推薦的目的。
雖然增加偏置后的SVD比最初的SVD在推薦質(zhì)量上有較大的提高,但是它仍然忽視了用戶間的社會關(guān)系。在現(xiàn)實生活中為了能夠產(chǎn)生更好的推薦,社會關(guān)系是一個強有力的工具,例如:如果一個人對購買一個物品不確定時,他通常咨詢朋友或熟人并聽取他們的意見,因為他們相信朋友的品味,有時為了做一個決定我們也會咨詢許多朋友并聽取他們的建議。因此我們在方法[12-13]基礎(chǔ)上增加了用戶的社會關(guān)系,目標(biāo)函數(shù)修改為如下:
其中,pu,pv分別為用戶u和v朋友的特征向量,δ是一個常量,在我們的實驗中設(shè)定為0.1。因此目標(biāo)函數(shù)改為:
其中λ1,λ2,λ3,λ4>0的常數(shù)用于調(diào)整過擬合。我們應(yīng)用梯度下降法來解決最優(yōu)化問題,因此需要首先對目標(biāo)函數(shù)中的參數(shù)pu,qf,bu,bi分別求偏導(dǎo),得到如下公式:
根據(jù)隨機梯度下降法,得遞推公式:
其中α是一個常數(shù)決定了迭代更新Puf,Qif,bu,bf后獲取到最小預(yù)測誤差的學(xué)習(xí)速率。eui表示真實評分與預(yù)測評分之差,公式如下:
3.1評價指標(biāo)
我們使用兩種指標(biāo)分別是均方根誤差(Root Mean Square Erorr,RMSE)和平均絕對誤差(Mean Absolute error,MAE)來衡量我們提出方法的預(yù)測質(zhì)量。
RMSE,MAE定義如下:
其中,Rui表示用戶u對物品i的真實評分,表示用戶u對物品i的預(yù)測評分,N為測試集中總的評分記錄。顯然,MAE或RMSE值越低,表示算法的推薦性能越好。
3.2數(shù)據(jù)集和實驗結(jié)果
本實驗采用的數(shù)據(jù)集為Flixster(www.cs.sfu.ca/~sja25/personal/datasets/),此數(shù)據(jù)集包含了用戶對項目的評分和用戶的社會關(guān)系,其中社會關(guān)系是對稱的,F(xiàn)lixster是一個社會電影網(wǎng)站,允許用戶分享電影評分,發(fā)現(xiàn)新的電影和滿足其他具有類似電影的味道。用戶數(shù)為147612個,電影數(shù)為48794部,評分記錄數(shù)為29718794條,社交網(wǎng)絡(luò)關(guān)系數(shù)據(jù)中朋友數(shù)為520543個。
在實驗中,隨機抽取了5000個用戶的評分?jǐn)?shù)據(jù)作為樣本數(shù)據(jù),并從樣本數(shù)據(jù)中抽取80%作為訓(xùn)練集,剩余20%作為測試集,并且從社交網(wǎng)絡(luò)關(guān)系數(shù)據(jù)中抽取10000個朋友作為訓(xùn)練集,學(xué)習(xí)速率參數(shù)α與正則化參數(shù)λ通過交叉驗證決定。本文采用α=0.0002,λ1= 0.003,λ2=0.002,λ3=0.004,λ4=0.0005,β=0.2進行試驗。在訓(xùn)練集中迭代次數(shù)選用10次。學(xué)習(xí)速率參數(shù)α按每次迭代縮減為0.9倍的速度遞減,并令分解后的矩陣的特征維數(shù)分別為K=10,K=20,為了說明我們提出的算法的有效性,對比了以下算法在這兩種情況下的預(yù)測準(zhǔn)確度。
①SVD:這種方法已廣泛應(yīng)用于協(xié)同過濾推薦系統(tǒng)中,但它忽視了用戶間的社會關(guān)系。
②Bias_SVD:這種方法是Koren在文獻[16]中提出,它也僅僅使用用戶項目評分矩陣來做推薦。
③Social_SVD:這種方法是在文獻[12]中提出,它是一種信任感知推薦方法,用來平衡用戶和他/她所信任朋友的偏好。
表1 本文方法與其他典型方法的準(zhǔn)確度比較
從表1可以看出,我們提出的方法(SocialB_SVD)的MAE以及RMSE值均小于其他典型方法,表明融合用戶的朋友信息可提高協(xié)同過濾的推薦準(zhǔn)確度。
(1)特征維數(shù)K的影響
在本實驗中分別選取K=10,20,30,40,50,60,100進行模型訓(xùn)練所得RMAE值如圖1所示。從圖1中可以看出,特征維數(shù)K對預(yù)測準(zhǔn)確度影響較大,K值越大,實驗精度越高。并且隨著K值的增加,RMAE開始下降很快,但隨著K值的逐漸增加RMAE下降速度明顯變緩。
圖1 特征維數(shù)K的影響
(2)社交網(wǎng)絡(luò)信息權(quán)重參數(shù)β的影響
在本文中我們設(shè)置了一個參數(shù)β用來平衡用戶自己的偏好和社交網(wǎng)絡(luò)中的朋友偏好信息對推薦的影響力,如果我們?nèi)O端值,當(dāng)β=0時,我們提出的方法(SocialB_SVD)只考慮社會關(guān)系中朋友的偏好信息,當(dāng)β=1時,我們提出的方法(SocialB_SVD)僅僅考慮用戶自己的偏好信息。為了獲得β的最佳設(shè)置范圍,在本實驗中設(shè)定β∈[0,1],并以0作為初始值,以0.1作為步進值,分別取β=0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9, 1.0進行模型訓(xùn)練。通過計算不同β值下的MAE與RMSE值得到圖2、圖3。從圖2、圖3可以看出隨著β值的增加MAE或RMSE值減少,但當(dāng)β值增加到β= 0.3時MAE,RMSE值達到最小值。當(dāng)β值繼續(xù)增加時,MAE、RMSE值均增加。通過實驗驗證我們只考慮個人的偏好信息或朋友的偏好信息都不能使推薦準(zhǔn)確度達到最佳值即(MAE或RMSE)最小。只有既考慮用戶自己的偏好,又要適當(dāng)?shù)乜紤]朋友的偏好才能取得最佳值。
圖2 不同β值下的MAE對比(K=10)
圖3 不同β值下的RMSE對比(K=10)
通過融合目標(biāo)用戶的朋友關(guān)系對矩陣分解推薦算法進行改進,實驗結(jié)果表明,本文采用的是基于數(shù)據(jù)集Flixster中的朋友關(guān)系信息,雖然算法的精度得到了提高,但用戶興趣不僅與自己有關(guān),還受信任朋友和評分項目的影響,因此在此基礎(chǔ)上融合項目的隱式關(guān)系成為進一步提高推薦系統(tǒng)性能的一個研究方向。
[1]H.Ma,D.Y.Zhou,C.Liu,M.R.Lyu,I.King.Recommender Systems with Social Regularization,in:Proceedings of the 4th ACM International Conference on Web Search and Data Mining,2011,287-296.
[2]J.T.Liu,C.H.Wu,W.Y.Liu.Bayesian Probabilistic Matrix Factorization with Social Relations and Item Contents for recommendation,De-cision Support Systems,2013,6(55):838-850.
[3]W.J.Li,D.Y.Yeung.Relation Regularized Matrix Factorization,in:Proceedings of the 21st International Joint Conference on Artificial Intelligence,2009,1126-1131.
[4]M.Jamali,M.Ester.A Transitivity Aware Matrix Factorization Model for Recommendation in Social Networks,Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence,2011,2644-2649.
[5]F.M.Hsu,Y.T.Lin,T.K.Ho.Design and Implementation of an Intelligent Recommendation System for Tourist Attractions The Integration of EBM model,Bayesian network and Google maps[J].Expend Systems with Applications,2012,2(39):3257-3264.
[6]X.Qi,W.Wu,Y.Huang,T.L.Huang,K.Fu,Rating Correlated Topic Model:An Improved Latent Semantic Model for Collaborative Filtering. Journal of Computational Information Systems,2014,10(17):7259-7267.
[7]Y.Koren,R.Bell,Advances in collaborative filtering,Recommender Systems Handbook,2011,145-186.
[8]李慧,胡云,施珺.社會網(wǎng)絡(luò)環(huán)境下的協(xié)同推方法[J].計算機應(yīng)用,2013,33(11):3067-3070.
[9]郭磊,馬軍,陳竹敏.一種信任關(guān)系強度敏感的社會化推薦算法[J].計算機研究與發(fā)展,2013,50(9):1805-1813.
[10]D.D.Tu,C.C.Shu,H.Y.Yu.The Contextual Advertising Recommendation Algorithm Based on Joint Probability Matrix Decomposition[J]. Journal of software,2013,24(3)454-464.
[11]T.H.Zhou,H.h.Shan,et a1.Kernelized Probabilistic Matrix Factorization Exploiting Graphs and Side Information[C].Proceedings of the 12th International Conference on Data Mining,2012:403-414.
[12]Y.Koren,R.BeII,C.Volinsky.Matrix Factorization Techniques for Recommender Systems[J].ComputerSociety,2009,42(8)30-37.
[13]Y.Koren.Factor in the neighbors Scalable and Accurate Collaborative Filtering[J].ACM Transactionson Knowledge Discovery from Data(TKDD),2010,1(4)1-11.
[14]Y.S.Xu,J.W.Yin.Collaborative Recommendation with User Generated Content[J].Engineering Applications of ArtificialIntelligence 45(2015):281-294.
Collaborative Filtering Recommendation Algorithm Based on Matrix Factorization and User Social Relationships
ZHU Ai-yun
(School of Computer and Software Engineering,Weifang University of Science and Technology,Shouguang 262700)
Although matrix factorization(MF)based method has been successfully applied to collaborative filtering(CF).Recommender System(RS),it still suffers from data sparsity,cold start and other issues.In order to further improve the accuracy of the CF,integrates the social relationship among users into MF based CF.Based on singular value decomposition(SVD),the proposed method merged social friendships,the users rating bias and items rating bias into MF model.Designs a Stochastic Gradient Descent(SGD)algorithm to obtain potential user feature matrix and item feature matrix.Experimental results show that the proposed algorithm has good prediction accuracy,which is better than the existing algorithms.
Collaborative Filtering;Matrix Factorization;Recommender System;Gradient Descent
1007-1423(2016)25-0003-05DOI:10.3969/j.issn.1007-1423.2016.25.001
朱愛云(1977-),女講師,碩士,研究方向為數(shù)據(jù)挖掘、推薦系統(tǒng)
2016-01-05
2016-09-01