朱愛云
(濰坊科技學院計算機軟件學院,壽光2627002)
基于矩陣分解與用戶社會關系的協(xié)同過濾推薦算法
朱愛云
(濰坊科技學院計算機軟件學院,壽光2627002)
矩陣分解技術雖然已成功應用到協(xié)同過濾推薦系統(tǒng)中,但是基于矩陣分解的傳統(tǒng)協(xié)同過濾方法仍然存在著數(shù)據(jù)稀疏性、冷啟動等問題。為了進一步提高系統(tǒng)推薦的準確性,提出將用戶間的社交關系融合到矩陣分解的協(xié)同過濾推薦系統(tǒng)中,該方法以奇異值矩陣分解推薦模型為核心,對該模型添加用戶偏置和項目偏置,同時將用戶在社交網(wǎng)絡中的朋友關系添加到矩陣分解模型中,然后采用一種隨機梯度下降法對該矩陣進行分解,得到用戶潛在特征和物品潛在特征。最后通過實驗結果驗證表明,所提出的算法具有較好的預測效果,其性能明顯優(yōu)于現(xiàn)有的相關算法。
協(xié)同過濾;矩陣分解;推薦系統(tǒng);梯度下降
面對網(wǎng)絡的爆炸式增長,人們會變得迷失在網(wǎng)絡的信息海洋中,用戶為了搜索有用的個性化信息,經(jīng)?;ㄙM很多的時間。面對這樣一個問題,許多研究人員從不同領域發(fā)明了各種工具,其中,搜索引擎是最突出的。但是與推薦系統(tǒng)相比,搜索引擎在根據(jù)用戶歷史的行為為用戶自動匹配口味時不夠個性化,為了滿足用戶更個性化的需求,推薦系統(tǒng)由此產(chǎn)生。隨著互聯(lián)網(wǎng)的全面普及和電子商務的逐步完善,推薦系統(tǒng)已經(jīng)成為了一個越來越受到關注的研究領域。在各種各樣的推薦系統(tǒng)中,協(xié)同過濾方法是學術界和工業(yè)界最為關注的一種方法,由于其不需要具有領域知識,容易實現(xiàn)和檢測復雜模式的優(yōu)點。特別是,在Netflix獎的競賽中激發(fā)了不同領域的研究者提出不同的解決方案,建立了相應的推薦系統(tǒng)。協(xié)同過濾的基本思想是根據(jù)目標用戶的鄰居興趣愛好來預測目標用戶的興趣愛好。鄰居是一組對相同物品具有相似口味的人,其中,協(xié)同過濾有兩種主要類型:基于鄰居方法和基于模型方法,在早期,基于鄰居方法包括基于用戶和基于項目方法,這兩種方法是最廣泛應用于工業(yè)界,如亞馬遜和谷歌。目前,學術界和工業(yè)界的專家已經(jīng)見證了基于模型方法的良好性能,基于模型的方法是根據(jù)已知的用戶評分矩陣建立一個模型,并應用該模型對要評價的項進行評分。許多基于模型的協(xié)同過濾方法已得到廣泛研究,主要包括潛在特征模型、聚類模型[5]、貝葉斯網(wǎng)絡模型等。其中,基于潛在特征的矩陣分解模型[6,8,12-13],由于能在訓練過程中分別為用戶和物品推導出與其對應的低維潛在特征向量,以及在大數(shù)據(jù)集上所具有的高可擴展性和準確性,因此受到了研究者們的廣泛關注。
然而,傳統(tǒng)的協(xié)同過濾算法也有自身的缺點(1)在實際的推薦系統(tǒng)中用戶項目評分矩陣往往極其稀疏,因此缺少足夠的評分或購買歷史信息使得很難找到相似的用戶。(2)傳統(tǒng)的推薦系統(tǒng)都認為用戶是獨立且恒等分布,沒有考慮用戶間的社會關系,但是在我們的日常生活中我們通常會借助于朋友為我們推薦他們喜歡的物品,我們與自己最親密的朋友往往有許多相同的興趣,同時我們的興趣愛好無形之中也會被周圍的朋友所影響。因此,在推薦系統(tǒng)中增加社會關系會提高推薦質量[1,8-9]。近年來,由于矩陣分解方法具有良好的擴展性和預測準確度,因此受到越來越多的關注。在本文中為了進一步提高推薦質量,在前人[12-13]研究的基礎上,我們提出在目標函數(shù)中增加用戶、物品偏置信息的基礎上,將用戶的社會關系融合到奇異值矩陣分解的推薦模型中。通過相關實驗驗證了融合用戶的社會關系對協(xié)同過濾推薦方法能起到一定的優(yōu)化作用,并且也能應用于現(xiàn)實生活中的大規(guī)模數(shù)據(jù)集中。
近年來矩陣分解[10-11]是最流行的協(xié)同過濾方法之一,它假設一個用戶的偏好可以用少量的未被注意的特性所表示,將用戶-項目評分矩陣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的預測評分,其中預測評分,是由用戶特征向量pu和項目特征向量qi的內(nèi)積計算得到。公式如下:
最關鍵的問題就是如何利用已有的評分訓練用戶潛在特征矩陣p和物品潛在特征矩陣q。
方法如下:
首先,對矩陣p和q進行隨機初始化。
其次,對訓練集中所有的用戶-物品指示對(u,i),計算模型的預測誤差。
最后,通過最小化全局誤差的平方和,來獲取模型參數(shù)即矩陣p和q。
公式如下:
由于評分矩陣過于稀疏,為了防止學習過擬合,所以在目標函數(shù)中加入懲罰因子λ(||qi||2+||pu||2)來約束模型參數(shù)的取值,目標函數(shù)修改為:
然而,在實際的推薦系統(tǒng)中,一些用戶往往比別的用戶打分高,一些項目也往往給予很高的評分,因此在文獻[12,13]中提出了預測評分為:
其中,bu為用戶的偏置評分,bi為項目i的偏置評分,e為數(shù)據(jù)集中所有評分的平均評分。
雖然這些傳統(tǒng)的協(xié)同過濾算法在學術界和工業(yè)界都已經(jīng)取得了較好的研究成果,但是數(shù)據(jù)稀疏性和冷啟動問題是推薦系統(tǒng)最主要的挑戰(zhàn)。近幾年,為了處理這些問題許多研究人員已經(jīng)提出了一些將社會關系融合到矩陣分解的推薦方法,大大提高了推薦的準確度,文獻[2,7,8,9,14]提出了社交網(wǎng)絡下的信任感知推薦系統(tǒng),Ma等人[1]提出了在目標函數(shù)中增加社會正則化條件,來衡量一個用戶和他朋友的潛在特征向量之間的差異,通過梯度下降算法使目標函數(shù)達到局部最小化。Li等人[3]提出了將關系正則化矩陣分解添加拉普拉斯算子的正則化社會關系到目標函數(shù)中并且通過選擇投影算法使目標函數(shù)最小化。Jamali等[4]提出了一種基于概率圖模型的矩陣分解方法,這種方法研究了基于信任傳播的推薦算法,通過使用信任關系矩陣對目標函數(shù)進行約束,在學習過程中使目標用戶的特征向量盡可能與其所信任朋友的特征向量接近,從而達到利用社會關系進行推薦的目的。
雖然增加偏置后的SVD比最初的SVD在推薦質量上有較大的提高,但是它仍然忽視了用戶間的社會關系。在現(xiàn)實生活中為了能夠產(chǎn)生更好的推薦,社會關系是一個強有力的工具,例如:如果一個人對購買一個物品不確定時,他通常咨詢朋友或熟人并聽取他們的意見,因為他們相信朋友的品味,有時為了做一個決定我們也會咨詢許多朋友并聽取他們的建議。因此我們在方法[12-13]基礎上增加了用戶的社會關系,目標函數(shù)修改為如下:
其中,pu,pv分別為用戶u和v朋友的特征向量,δ是一個常量,在我們的實驗中設定為0.1。因此目標函數(shù)改為:
其中λ1,λ2,λ3,λ4>0的常數(shù)用于調(diào)整過擬合。我們應用梯度下降法來解決最優(yōu)化問題,因此需要首先對目標函數(shù)中的參數(shù)pu,qf,bu,bi分別求偏導,得到如下公式:
根據(jù)隨機梯度下降法,得遞推公式:
其中α是一個常數(shù)決定了迭代更新Puf,Qif,bu,bf后獲取到最小預測誤差的學習速率。eui表示真實評分與預測評分之差,公式如下:
3.1評價指標
我們使用兩種指標分別是均方根誤差(Root Mean Square Erorr,RMSE)和平均絕對誤差(Mean Absolute error,MAE)來衡量我們提出方法的預測質量。
RMSE,MAE定義如下:
其中,Rui表示用戶u對物品i的真實評分,表示用戶u對物品i的預測評分,N為測試集中總的評分記錄。顯然,MAE或RMSE值越低,表示算法的推薦性能越好。
3.2數(shù)據(jù)集和實驗結果
本實驗采用的數(shù)據(jù)集為Flixster(www.cs.sfu.ca/~sja25/personal/datasets/),此數(shù)據(jù)集包含了用戶對項目的評分和用戶的社會關系,其中社會關系是對稱的,F(xiàn)lixster是一個社會電影網(wǎng)站,允許用戶分享電影評分,發(fā)現(xiàn)新的電影和滿足其他具有類似電影的味道。用戶數(shù)為147612個,電影數(shù)為48794部,評分記錄數(shù)為29718794條,社交網(wǎng)絡關系數(shù)據(jù)中朋友數(shù)為520543個。
在實驗中,隨機抽取了5000個用戶的評分數(shù)據(jù)作為樣本數(shù)據(jù),并從樣本數(shù)據(jù)中抽取80%作為訓練集,剩余20%作為測試集,并且從社交網(wǎng)絡關系數(shù)據(jù)中抽取10000個朋友作為訓練集,學習速率參數(shù)α與正則化參數(shù)λ通過交叉驗證決定。本文采用α=0.0002,λ1= 0.003,λ2=0.002,λ3=0.004,λ4=0.0005,β=0.2進行試驗。在訓練集中迭代次數(shù)選用10次。學習速率參數(shù)α按每次迭代縮減為0.9倍的速度遞減,并令分解后的矩陣的特征維數(shù)分別為K=10,K=20,為了說明我們提出的算法的有效性,對比了以下算法在這兩種情況下的預測準確度。
①SVD:這種方法已廣泛應用于協(xié)同過濾推薦系統(tǒng)中,但它忽視了用戶間的社會關系。
②Bias_SVD:這種方法是Koren在文獻[16]中提出,它也僅僅使用用戶項目評分矩陣來做推薦。
③Social_SVD:這種方法是在文獻[12]中提出,它是一種信任感知推薦方法,用來平衡用戶和他/她所信任朋友的偏好。
表1 本文方法與其他典型方法的準確度比較
從表1可以看出,我們提出的方法(SocialB_SVD)的MAE以及RMSE值均小于其他典型方法,表明融合用戶的朋友信息可提高協(xié)同過濾的推薦準確度。
(1)特征維數(shù)K的影響
在本實驗中分別選取K=10,20,30,40,50,60,100進行模型訓練所得RMAE值如圖1所示。從圖1中可以看出,特征維數(shù)K對預測準確度影響較大,K值越大,實驗精度越高。并且隨著K值的增加,RMAE開始下降很快,但隨著K值的逐漸增加RMAE下降速度明顯變緩。
圖1 特征維數(shù)K的影響
(2)社交網(wǎng)絡信息權重參數(shù)β的影響
在本文中我們設置了一個參數(shù)β用來平衡用戶自己的偏好和社交網(wǎng)絡中的朋友偏好信息對推薦的影響力,如果我們?nèi)O端值,當β=0時,我們提出的方法(SocialB_SVD)只考慮社會關系中朋友的偏好信息,當β=1時,我們提出的方法(SocialB_SVD)僅僅考慮用戶自己的偏好信息。為了獲得β的最佳設置范圍,在本實驗中設定β∈[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進行模型訓練。通過計算不同β值下的MAE與RMSE值得到圖2、圖3。從圖2、圖3可以看出隨著β值的增加MAE或RMSE值減少,但當β值增加到β= 0.3時MAE,RMSE值達到最小值。當β值繼續(xù)增加時,MAE、RMSE值均增加。通過實驗驗證我們只考慮個人的偏好信息或朋友的偏好信息都不能使推薦準確度達到最佳值即(MAE或RMSE)最小。只有既考慮用戶自己的偏好,又要適當?shù)乜紤]朋友的偏好才能取得最佳值。
圖2 不同β值下的MAE對比(K=10)
圖3 不同β值下的RMSE對比(K=10)
通過融合目標用戶的朋友關系對矩陣分解推薦算法進行改進,實驗結果表明,本文采用的是基于數(shù)據(jù)集Flixster中的朋友關系信息,雖然算法的精度得到了提高,但用戶興趣不僅與自己有關,還受信任朋友和評分項目的影響,因此在此基礎上融合項目的隱式關系成為進一步提高推薦系統(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)絡環(huán)境下的協(xié)同推方法[J].計算機應用,2013,33(11):3067-3070.
[9]郭磊,馬軍,陳竹敏.一種信任關系強度敏感的社會化推薦算法[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