聶常超
(南京理工大學 計算機科學與工程學院,江蘇 南京210014)
一種基于矩陣分解的電影推薦算法
聶常超
(南京理工大學 計算機科學與工程學院,江蘇 南京210014)
針對目前的電影推薦算法中,傳統的矩陣分解算法對于用戶的離散型評分數據集的數據利用率不高的問題,提出基于二項分布的矩陣分解算法的模型,在假定用戶的評分數據是服從二項分布的前提下,利用最大后驗估計學習得出損失函數,將用戶的興趣度作為影響因子,加入項目之間的鄰域影響,其后利用隨機梯度下降法針對問題求解。通過在MovieLens數據集上與傳統的矩陣分解算法的對比實驗,結果表明,提出的算法可以有效的提高推薦精度,表現出良好的穩定性。
推薦算法;二項分布;隨機梯度下降;矩陣分解
飛速發展的互聯網是現代社會人們獲得信息的重要途徑,與此同時,信息過載問題已經是網民必須要面對的一個問題。推薦系統就是為了解決信息過載問題[1]而提出的強有力的工具,同時也是目前學術界和互聯網企業大力研究的熱門問題。協同過濾推薦算法[2]在目前是使用最廣泛的推薦算法,近些年來基于矩陣分解的推薦算法[3]越來越引起人們的重視。
目前的推薦系統中,用戶對于電影的實際評分數據都是正整數,傳統的矩陣分解算法不能對這些信息進行有效的利用,有鑒于此,提出了一種假設,即用戶的評分數據服從二項分布。在此前提之下,從概率論的角度,假設模型中的參數都服從一定的分布模型,從機器學習的角度用最大后驗估計[4]進行模型的推導,并將項目之間的相互作用加入到模型之中,矩陣分解模型因此更加健壯,具備更好的可解釋性。
在MovieLens電影數據集上,對提出的算法和傳統的矩陣分解算法進行實驗對比的結果表明,所提出推薦算法可以有效提高推薦精度,并表現出較高的穩定性。
傳統的矩陣分解模型對于用戶的評分并沒有特別要求,因此有文獻提出用戶評分服從正態分布的矩陣分解(PMF)模型[5]。但在現實的評分系統中,用戶的評分基本都是整數。因此,用戶的評分服從正態分布的假定是不成立的。提出一種合理的假設,即用戶的評分服從二項分布。并由此引出的二項分布矩陣分解模型[6]。
1.1二項分布模型
假設用戶評分服從下面公式中的二項分布:

其中βu,i表示用戶u對于項目i的評分概率。pu,qi分別滿足正態分布并且相互獨立。進一步假設在該二項分布中,對于不同u或i是相互之間獨立的。因此,整個二項分布模型可以用如下形式表示:


1.2最大后驗估計學習
在統計學理論中,最大后驗(MAP)估計方法是根據經驗數據來獲取難以觀測到的變量的點估計,這在統計學中是一種比較常用的估計方法。最大后驗估計與最大似然估計中的Fisher方法有密切的聯系,但是最大后驗估計使用了增大的優化目標,它將被估計量先驗分布融合其中,據此,最大后驗估計可被看作規則化的最大似然估計。
假定x是獨立同分布的樣本,θ為模型的調整參數,f是的模型,后驗分布函數可以用下式表示:

通過以上對最大后驗估計的初步介紹,現在對式(2)求最大后驗估計(MAP),將式(3)和式(4)代入得到:

令μ=θ=0,將式(3)和式(4)代入,并加上ci,j的規則化項用以防止過度擬合,得到最后的目標函數如下:

1.3隨機梯度下降法
隨機梯度下降法(SGD),在最優化理論中是最基礎的算法之一。這種算法通過對參數求導的方法來找到目標函數的參數下降最快的方向,然后通過迭代求解來使目標函數逐步收斂。
對于式(7)中的目標函數,可以通過使用隨機梯度下降法來進行求解。具體算法如下:
輸入:用戶評分矩陣R,隱含類別個數K。
輸出:用戶興趣度矩陣P,項目隱類矩陣Q以及興趣度偏移矩陣c。
(1)把實驗數據集按照M:1的比例采用隨機分配的方法分成訓練集和測試集。
(2)選擇合適的常量α,學習率η,以及正則化參數λ1,λ2的值,對用戶興趣矩陣P,項目隱類矩陣Q,興趣度偏移矩陣c進行初始化。
6)根據公式(7)對P,Q,c分別求偏導得到更新規則,按如下方式分別更新P,Q,c矩陣:

7)對均方根誤差RMSE進行計算,如果本次計算結果與上次結果之差的絕對值小于某一特定閾值,則迭代結束;否則,轉到步驟3)。
2.1M ovieLens數據集
本實驗所采用的數據集是GroupLens研究小組 (明尼蘇達大學)提供的,包括MovieLens-100k以及MovieLens-1m兩個數據集。MovieLens-100k數據集包括943個用戶針對1682個商品進行的100 000條評分信息,MovieLens-1m數據集則包含了6 040個用戶針對3 900個商品的1 000 209條評分記錄,每個用戶對20或20部以上的電影進行過評分,用戶對每部電影的評分為5個等級(1到5分)。除了有評分信息之外,數據集中還包含有用戶信息,電影信息,對電影評分的時戳等信息。即便如此,數據依然非常稀疏,在用戶-項目的評分矩陣中,評分信息只有6.3%。
本實驗中,會把數據集隨機分成M份,把其中的一份作為測試集來用,另外M-1份則作為訓練集。訓練集用來進行相應的實驗,測試集用來統計相應的評價指標。實驗一共進行M次,M次實驗結果的平均值將作為最終的評測指標,這樣可以防止評價結果過擬合。
2.2實驗分析
本實驗采用RMSE(RootMean Square Error,即均方根誤差)作為評價推薦系統的指標。均方根誤差計算評分和實際評分之間誤差的平方和的均值的平方根。RMSE的值如果越小,則說明精度越高。RMSE的計算公式如下:

其中ru,i表示的是用戶u對于項目i的真實評分,表示的是預測評分,T表示測試集,表示測試集的大小。
為了比較傳統的矩陣分解算法與所提出的二項矩陣分解算法的異同,這里提出3種方法來進行對照實驗:
1)規范化矩陣奇異值分解Funk-SVD
2)非負矩陣分解NMF
3)改進的二項矩陣分解BMF
其中第三種是提出的方法。
首先在MovieLens-100k數據集上調整隱含因子的個數,比較隱含因子數K的不同對BMF和傳統的矩陣分解算法的推薦效果。這里令學習速率η=0.01,正則化參數λ1=λ2=0.05,令α=0.5,將迭代學習率每次按照0.99倍的速度遞減。讓K的值分別取10、20、50、100、150、200、250、300、350、400、500等值,觀察不同的K值對于推薦結果的影響。

圖1 3種算法隨隱含因子數不同的RMSE值
圖1中展示了3種不同的矩陣分解算法在隱含因子數K取值不同的情況下RMSE的情況。由圖中可看出,當隱含因子數取200左右時,幾種算法的結果最為理想。而當K值取更大時,計算復雜度隨之增加,但是精度方面卻沒有明顯改變。由圖中還可看出,BMF具有良好的穩定性,當隱含因子數K改變時波動不大,在推薦精度方面,BMF要好于Funk-SVD、NMF,最好情況下,RMSE達到0.923 4。
表1中列出了幾種算法在K=200的情況下在MovieLens-1m這個更大的數據集上的實驗結果。從表中可看出BMF在學習率取值0.01的情況下,只需55次迭代就能達到最優值,RMSE最低達0.845 0。該實驗表明,當數據集更大時,BMF優于其他兩種矩陣分解算法。

表1 在MovieLens-1m數據集下3種算法的迭代次數和RMSE
隨著近年來對于推薦算法的研究逐漸深入,越來越多的研究者開始關注矩陣分解算法。但是基于矩陣分解的推薦算法依然存在一些不足,如算法復雜度高,對用戶數據利用率低等。針對現實中用戶評分普遍具有離散性的特點,提出基于二項分布的矩陣分解算法和改進,在二項分布中考慮了鄰域的影響,從概率方面對傳統的矩陣分解方法進行改進。在MovieLens數據集下,對提出的算法和傳統的矩陣分解算法進行了對比分析。實驗表明,這種基于二項分布的矩陣分解推薦算法能夠有效的提高推薦精度,具有較好的穩定性。
[1]許海玲,李曉東,吳瀟.互聯網推薦系統比較研究[J].軟件學報,2009,20(2):74-80.
[2]周靜.基于信任的協同過濾推薦算法研究[D].秦皇島:燕山大學,2013.
[3]JingLong Wu.Binomial Matrix Factorization for Discrete Collaborate Filterring[C]∥.DataMining,ICDM's09.Ninth IEEE international conference.[S.I.]:IEEE,2009:262-272.
[4]丁振國,陳靜,吳金龍.基于關聯規則的個性化推薦系統[J].計算機集成制造系統,2003,9(10):890-894.
[5]Li Pu,Faltings B.Understanding and Improving Relational Matrix Factorization in Recommender Systems[C].Procee dings of the 7thACM conference on Recommender systems,New York:ACM,2013:41-48.
[6]陳天奇.基于特征的矩陣分解模型[D].上海:上海交通大學,2013.
【相關參考文獻鏈接】
陳小輝,高燕,劉漢燁.基于歸一化方法的協同過濾推薦算法[J].2014,22(14):17-20.
魏嬋娟,張春水,劉健.一種基于Cholesky分解的快速矩陣求逆方法設計[J].2014,22(1):159-161,164.
曹旭東,孫敬晶,張實.基于ARM及μC/OS-Ⅱ的RGB視頻矩陣設計[J].2014,22(2):180-184.
張祎煊,殷新社,張燚.基于耦合矩陣修正和空間映射法的濾波器設計[J].2015,23(1);130-133.
馬琳,王直杰,朱曉明,等 .基于灰度共生矩陣的注塑模具瑕疵檢測[J].2015,23(7):138-140.
張衛華.基于矩陣的apriori算法的改進[J].2015,23(13):52-54.
曾弘揚.基于Epiphany計算并行矩陣乘法的研究[J].2015,23(24):52-55.
路振民,王陽,陸圣宇,等.基于矩陣鍵盤和QT/E的中文輸入設計[J].2016,24(4):161-163.
張茗茗,周詮.基于修正正態分布的噴泉編碼[J].2015,23(19):89-93.
彭鑫.一種基于稀疏矩陣的指紋識別新方法 [J].2014,22(23):54-55.
徐彬,張建明.基于標簽與協同過濾算法的淘書吧應用[J]. 2014,22(23):21-23.
郭秀琪.基于本體的旅游資源推薦算法研究[J].2016(6):108-110.
袁小艷.基于情境的個性化學習云服務推薦模型研究[J].2016(4):39-41.
唐積益,黃樹成.優化相似度計算在推薦系統中的應用[J]. 2015(23):46-48.
史玉珍,鄭浩.基于協同過濾技術的個性化推薦系統研究[J]. 2012(11):41-44.
譚林,朱江,楊軍,等.近地應用CCSDS標準LDPC碼動態補償譯碼算法研究[J].2011(18):36-38.
A movie recommendation algorithm based on matrix decomposition
NIE Chang-chao
(Computer Science and Engineering,Nanjing University of Technology and Engineering,Nanjing 210014,China)
For the currentmovie recommendation algorithm,the traditionalmatrix factorization algorithm score for the user's discrete data set is not high data availability problem,matrix decomposition algorithm based on the binomialmodel,on the assumption that the user data is to obey ratings under the premise of the binomial,using themaximum a posterioriestimation loss function study results,the user's interest degree as the impact factor,join neighborhood impact between projects,followed by the use of stochastic gradient descentmethod for problem solving.By the MovieLens datasetswith conventional matrix factorization algorithm comparison test results show that the proposed algorithm can effectively improve the recommendation accuracy,showing good stability.
recommendation algorithm;binomial distribution;stochastic gradient descent;matrix factorization
TN99
A
1674-6236(2016)19-0073-03
2015-10-21稿件編號:201510147
聶常超(1986—),男,河南新鄉人,碩士研究生。研究方向:機器學習、計算機視覺。