黃 凱,張曦煌
(江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214122)
基于階段時序效應的奇異值分解推薦模型
黃 凱*,張曦煌
(江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214122)
(*通信作者電子郵箱569261386@qq.com)
針對傳統(tǒng)基于時序效應的奇異值分解(SVD)推薦模型在對用戶預測評分建模過程中只考慮評分矩陣,采用復雜的時間函數(shù)擬合項目的生命周期、用戶偏好的時序變化過程,造成模型難于解釋、用戶偏好捕獲不準、評分預測精度不夠高等問題,提出了一種改進的綜合考慮評分矩陣、項目屬性、用戶評論標簽和時序效應的推薦模型。首先,通過將時間軸劃分時間段,利用sigmoid函數(shù)將項目的階段流行度變換為[0,1]區(qū)間上的影響力來改進項目偏置;其次,利用非線性函數(shù)將用戶偏置的時序變化轉(zhuǎn)變?yōu)殡A段評分均值與總體均值偏差的時序變化來改進用戶偏置;最后,通過捕獲用戶對項目的階段興趣度,結(jié)合其相似用戶在此時間段對該項目的好評率,生成用戶項目交互作用影響因子,實現(xiàn)用戶項目交互作用的改進。在Movielence 10M和20M電影評分數(shù)據(jù)集上的測試表明,改進模型能更好地捕獲用戶偏好的時序變化過程,提高評分預測準確性,均方根誤差平均提高了2.5%。
推薦系統(tǒng);時序效應;奇異值分解;項目流行度;協(xié)同過濾
推薦系統(tǒng)作為解決互聯(lián)網(wǎng)“信息過載”的一種有效手段,已得到人們的普遍關(guān)注和高速的發(fā)展,并已發(fā)展成一門獨立的學科[1]。尤其自2006年Netflix推薦系統(tǒng)比賽以來,大量關(guān)于推薦系統(tǒng)的算法接踵而至,掀起了推薦系統(tǒng)研究的熱潮。近年的研究中,許多研究員開始關(guān)注時序效應對用戶興趣愛好的影響,并在傳統(tǒng)的協(xié)同過濾[2-4]、二部圖[5]等推薦算法的基礎(chǔ)上進行改進,取得了一定成果:文獻[6]認為項目的最新評分數(shù)據(jù)對用戶評分的影響比歷史數(shù)據(jù)更大,提出了一種加權(quán)皮爾遜相關(guān)系數(shù)度量項目相似性的協(xié)同過濾推薦算法,有效提高了用戶最新評分數(shù)據(jù)對用戶推薦結(jié)果的影響;文獻[7]根據(jù)用戶消費項目的時序行為構(gòu)建用戶(項目)關(guān)系結(jié)構(gòu)圖,并將其成功融合到基于概率矩陣分解的協(xié)同過濾算法中,不僅提高了預測精度,而且因子向量也具備一定的解釋性;文獻[8]基于矩陣奇異值分解(Singular Value Decomposition,SVD)技術(shù)提出了一種融合時序效應的奇異值分解推薦模型(TimeSVD),該模型引人時間函數(shù)擬合用戶偏置、項目偏置、用戶項目交互作用的時序變化過程,但模型中并未融入引起這些變化的主要因素;文獻[9]將時間效應看成與用戶、項目特征向量同維度的隱因子向量融入到加入偏置的SVD推薦模型(BiasSVD)[10]中,雖精度得到一定的提高,但過多的隱因子容易造成模型的過擬合現(xiàn)象;文獻[11]對上下文(包括時間上下文)相關(guān)推薦算法進行了階段性綜述,闡述了時間上下文等信息能對推薦結(jié)果產(chǎn)生積極的作用。
值得注意的是,現(xiàn)有的各種考慮時序效應的推薦算法大多只針對評分矩陣建模(如文獻[7-9]),而忽略了項目本身屬性和用戶評論標簽對用戶評分預測的影響。本文主要針對文獻[8]中提出的TimeSVD模型利用復雜的時間函數(shù)對用戶偏好建模,造成模型解釋困難、用戶偏好捕獲不準、評分預測精度不夠高等一系列問題,在充分挖掘評分矩陣,項目屬性和用戶評論標簽等有用資源隱藏信息的基礎(chǔ)上,將影響項目偏置、用戶偏置、用戶項目交互作用時序變化的主要因素融入模型,從而提高模型的評分預測精度。下面先對BiasSVD和TimeSVD模型進行介紹,并在其后章節(jié)詳細闡述本文改進模型的建模思想。
1.1 加入偏置的SVD推薦模型(BiasSVD)
(1)
1.2 考慮時序效應的SVD推薦模型(TimeSVD)
TimeSVD模型在BiasSVD模型的基礎(chǔ)上考慮了時間t對基準預測和用戶項目交互作用的影響。模型如下:
bi(tui)=bi+bi,Bin(tui)
(2)
(3)
devu(t)=sign(tui-tu)·|tui-tu|β
(4)
(5)
(6)
TimeSVD模型雖已取得較好的預測精度,但整個模型建立在復雜的時間函數(shù)之上,并不能解釋項目的生命周期、用戶興趣愛好隨時間的變化為何會是這樣的一個函數(shù)關(guān)系。與TimeSVD建模思想完全不同的是,本文將這種時序變化的關(guān)系建模在其主要影響因素基礎(chǔ)之上,從而精確擬合用戶真實的評分過程。
2.1 項目偏置bi(tui)的改進
不同于TimeSVD模型對項目偏置的建模,本文認為項目的流行度(popularity)在一定程度上影響著項目的基準得分,因此本文將項目偏置的時序變化建模在項目的階段流行度基礎(chǔ)之上。
圖1 項目偏置時間軸時間段的劃分Fig. 1 Phase division of item bias time axis
項目的階段流行度直接反映為此階段項目得到的評分和評論數(shù)的總數(shù), 因此直接對評分矩陣和評論標簽進行統(tǒng)計,獲取項目i的階段流行度,計算方法如式(7)所示:
(7)
其中:card{·}為求取集合元素個數(shù),集合κ(i)、TAG(i)分別為項目i的評分集合和評論集合。階段流行度表示為本階段內(nèi)評分和評論的人數(shù),不能直接作為項目偏置的影響力,因此需要找到合適的變換方式將流行度值變化為[0,1]區(qū)間上。慶幸的是sigmoid函數(shù)正好滿足這樣的變換,計算公式為:f(x)=1/[(1+exp(-x))],其能實現(xiàn)(-∞,+∞)的數(shù)值變換到[0,1]區(qū)間。變換前需要將流行度值作適當調(diào)整,調(diào)整方法如式(8)所示:
(8)
其中常數(shù)C對變換結(jié)果起縮放作用,取值根據(jù)數(shù)據(jù)庫中用戶評分數(shù)量的多少而定。為了使每個項目流行度影響力幅度可以動態(tài)調(diào)整,以適應不斷變化的項目偏置,本文為每個項目引入一個流行度影響力變換因子γi,則流行度的階段影響力可表示為式(9):
(9)
圖2 項目階段流行度對項目偏置的影響力Fig. 2 Influence of item phase popularity to item bias
從圖2可以看出,項目階段流行度的影響力隨著時間的增大呈衰減震蕩的形式,這正符合項目的生命周期過程??紤]到除流行度外還有其他因素對項目偏置產(chǎn)生影響,本文為每個項目引入一個參數(shù)δi表示其他因素造成的項目偏置的變化。這樣項目偏置的時序變化最終被建模為:
(10)
式(10) 把時序?qū)椖科玫挠绊懡殡A段流行度對目偏置的影響,這樣更能反映項目生命周期隨時間的變化過程,其中bi為項目偏置變化的基準。
2.2 用戶偏置bu(tui)的改進
TimeSVD算法在對用戶偏置建模時利用兩種非線性函數(shù)模擬用戶偏置隨時間可能的變化過程,雖已取得一定效果,但也有其不妥之處。其中式(4)的主要缺點在于隨著時間的不斷推進|tui-tu|的值將不斷增大,這勢必造成參數(shù)β調(diào)整幅度變得很大,若初始化不恰當極有可能造成訓練時均方根誤差不收斂;而式(5)極其復雜,需對每個用戶u指定ku個控制點(也稱為控制核),一方面ku的值較難確定,另一方面算法復雜度也大,很難用于實際的推薦系統(tǒng)。
用戶偏置本身被定義為用戶的評分均值與總體均值的偏差,此偏差自然反應用戶偏置的變化。類似于式(3),用戶偏置階段時序變化被建模為:
(11)
(12)
式(12)為用戶階段評分均值,式(11)中各參數(shù)的含義與式(3)相同。這樣建模的好處在于充分利用用戶評分的階段統(tǒng)計信息來模擬用戶偏置的變化過程,使模型更加合理可靠。
2.3 用戶項目交互作用的改進
本文認為正是用戶與項目的交互作用才產(chǎn)生了千變?nèi)f化的評分。用戶與項目的交互作用,一方面受用戶興趣愛好的影響,另一方面與其相似用戶對該項目的喜好有很大的關(guān)系。用戶喜歡一個項目,首先要對這種類型的項目感興趣,其次是其相似用戶群也覺得這個項目好,那么這個項目可能會得到目標用戶的青睞。
基于這種想法,本文對評分矩陣、項目屬性進行深度挖掘,捕獲用戶在不同時間段對不同類型的項目的興趣度以及在此時間段內(nèi)其相似用戶群對該項目的好評率,融合二者以得到用戶項目交互作用影響因子。
為了捕獲用戶在不同時間段對不同類型的項目的興趣度,參照文獻[12]為所有項目建立項目屬性表。屬性表為每個項目附屬了一個長度為p的屬性向量(ai,1,ai,2,…,ai,p),i∈[1,m],屬性值1代表該項目具有此屬性,0則無?;趯傩员恚Y(jié)合用戶評分矩陣,可以統(tǒng)計用戶在不同時間段上對各個屬性的評價次數(shù),注意這里的時間段的劃分應和用戶偏置時間段的劃分保持一致。這樣便得到一個與屬性向量同維度的項目屬性階段評價次數(shù)向量:
(13)
其中,wu,i(i=1,2,…,p)為用戶在項目屬性上的評價次數(shù)。通過用戶階段屬性評價次數(shù)向量,可以了解用戶近期對項目各個屬性的感興趣程度,從而進一步了解到用戶對項目的綜合興趣度。
為了消除不同時間段內(nèi)評價次數(shù)大小不一帶來的差異,將用戶階段屬性評價次數(shù)向量進行歸一化處理,如式(14):
(14)
(15)
(16)
(17)
其中:N1為用戶u的K近鄰中評分了項目i的用戶數(shù);N2為N1中4分以上評分的用戶數(shù)(對于5星級評分項目,4分以上為好評)。這樣用戶項目交互作用影響因子為:
ω(u,i,tui)∈[0,1],用戶項目交互作用部分被建模為:
(18)
2.4 改進模型的確定
通過前面對項目偏置、用戶偏置、用戶項目交互作用三部分的改進,用戶預測評分最終被建模為式(19):
(19)
本文把這個模型稱作TimeSVD#。為了學習模型中的參數(shù)bi、γi、δi、bu、αu、qi、pu、xi、yu,可以最小化以下平方誤差:
‖xi‖2+‖yu‖2)
常量λ控制正則化程度,一般通過交叉驗證獲得,最小化過程通過隨機梯度下降法實現(xiàn),算法偽代碼如下:
輸入 評分矩陣、電影屬性、評論標簽;迭代次數(shù)Iter、學習步長η、正則化參數(shù)λ;CI、C、CU;模型參數(shù)bi、γi、δi、bu、αu、β、qi、pu、xi、yu初始化值。
輸出 TimeSVD#模型參數(shù)。
1)
forcount=0;count≤Iter;Iter++ do
2)
foreach (u,i,tui)∈κdo
3)
4)
5)
δi=δi+η·(eui-λδi)
6)
bu=bu+η·(eui-λbu)
7)
8)
fork=0;k 9) qi,k=qi,k+η·(eui·pu,k·ω(u,i,tui)-λ·qi,k) 10) pu,k=pu,k+η·(eui·qi,k·ω(u,i,tui)-λ·pu,k) 11) xi,k=xi,k+η·(eui·yu,k-λ·xi,k) 12) yu,k=yu,k+η·(eui·xi,k-λ·yu,k) 13) η=0.9η 2.5 時間復雜度分析 TimeSVD#模型的計算過程主要包括兩個步驟:第1步計算項目的階段流行度影響力、用戶階段評分均值與總體均值偏差、用戶階段項目屬性評價次數(shù)向量和用戶相似性系數(shù)等信息;第2步利用第1步獲得的數(shù)據(jù)計算各變量的導數(shù),對模型進行訓練。 3.1 評價標準 本實驗采用推薦系統(tǒng)廣泛使用的均方根誤差(Root Mean Square Error,RMSE)作為性能評判指標。定義為: 3.2 實驗數(shù)據(jù)集 實驗采用著名電影評分數(shù)據(jù)集Movielens 10M和20M,該數(shù)據(jù)集由Minnesota大學研究項目組GroupLens團隊提供(http://www.gouplens.org),供推薦系統(tǒng)學習和科研使用。該數(shù)據(jù)集由ratings.txt、movies.txt、tags.txt三個文件組成,分別存儲用戶評分、電影屬性、用戶評論標簽信息。具體信息見表1。 表1 實驗數(shù)據(jù)集Tab. 1 Experimental datasets 本文采取兩種方法提取訓練集和測試集。方法一分別提取每個用戶最新的20%的數(shù)據(jù)作為測試集,剩余的80%的數(shù)據(jù)作為訓練集;方法二隨機提取每個用戶20%的數(shù)據(jù)作為測試集,剩余的80%的數(shù)據(jù)作為訓練集。 3.3 模型參數(shù)的設(shè)置 3.3.1 參數(shù)初始化 3.3.2 學習速率η和正則化參數(shù)λ的選取 學習速率η不僅影響模型的訓練時間而且影響模型的預測精度。其值設(shè)置過大,雖然訓練誤差下降快,但是模型參數(shù)調(diào)整粗糙,容易產(chǎn)生過擬合現(xiàn)象;設(shè)置過小,模型參數(shù)調(diào)整精細,但訓練時間較長。正則化參數(shù)λ也稱懲罰因子,用來避免過擬合現(xiàn)象發(fā)生。圖3顯示了Movielens 20M數(shù)據(jù)集上提取用戶最新的20%的數(shù)據(jù)作為測試數(shù)據(jù),在不同學習率η和正則化參數(shù)λ交叉作用下的RMSE三維圖。圖3呈多波峰多波谷狀,二者對RMSE的影響并沒有嚴格的規(guī)律可循,一般的做法是選取效果較好的學習率η和正則化參數(shù)λ的組合用于模型的訓練。本文設(shè)置η=0.020、λ=0.028,能取得較為理想的效果。 圖3 不同學習率η和正則化參數(shù)λ交叉作用下的RMSEFig. 3 Test RMSE under cross influence of different learning rate η and regular parameter λ 3.4 比較實驗 本文選取BiasSVD、TimeSVD1、TimeSVD2(用戶偏置分別使用式(3)和式(5))與TimeSVD#模型進行實驗對比。 圖4顯示了不同測試集上,訓練RMSE降到0.80時,各模型隱因子數(shù)(f)與測試RMSE的關(guān)系曲線??梢钥闯?,TimeSVD#模型在較少的隱因子數(shù)目下已能取得比其他模型較優(yōu)異的性能,從圖(a)與圖(b)或圖(c)與圖(d)的對比看出,TimeSVD#對用戶最新評分的預測更為精準,與其他三個模型相比,性能平均提高了3.7%,2.5%和1.4%左右, 說明此模型比TimeSVD模型對用戶近期興趣愛好的捕獲更加準確,具有更好的實際應用價值。 圖4 Movielens 10M和20M數(shù)據(jù)集上的實驗結(jié)果Fig. 4 Experimental results tested on Movielens 10M and 20M datasets 圖5顯示了Movielens 20M數(shù)據(jù)集上,選取用戶最新20%的作為測試集,f=50時, RMSE與迭代次數(shù)的變化關(guān)系曲線??梢钥闯鯰imeSVD#在5次迭代后即表現(xiàn)出比其他模型優(yōu)秀的性能,誤差能收斂到0.82~0.83,與TimeSVD2模型相比,性能平均提高了2.5%; 而且隨著迭代次數(shù)的增加,RMSE仍有下降趨勢,而其他模型幾乎已經(jīng)收斂。主要原因在于TimeSVD#建立在影響項目生命周期和用戶偏好變化的主要因素之上,能有效捕獲它們的變化過程,而TimeSVD模型直接利用函數(shù)進行擬合,對項目生命周期和用戶興趣漂移的正確捕獲具有一定局限性。 圖5 不同迭代次數(shù)下的RMSE變化曲線Fig. 5 RMSE curves under different number of iterations 本文從影響項目偏置、用戶偏置和用戶項目交互作用的主要因素對用戶偏好建模,通過劃分時間段的方式充分挖掘評分矩陣、項目屬性和評論標簽中的有用信息,能有效地捕獲項目生命周期和用戶興趣愛好變化的過程。實驗表明,該模型能有效提高用戶評分預測精度,取得較好的推薦結(jié)果。在接下來的研究中,將嘗試對模型引入社交網(wǎng)絡(luò)、項目結(jié)構(gòu)網(wǎng)絡(luò)等方面的信息,解決推薦系統(tǒng)用戶冷啟動和項目冷啟動兩大經(jīng)典難題,同時尋求并行化策略,使算法在性能和效率兩方面得到進一步提升。 References) [1] 王國霞,劉賀平.個性化推薦系統(tǒng)綜述[J].計算機工程與應用,2012, 48(7):66-76.(WANG G X, LIU H P. Survey of personalized recommendation system[J]. Computer Engineering and Applications, 2012, 48(7): 66-76.) [2] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]// Proceedings of the 10th International Conference on World Wide Web. New York: ACM, 2001: 285-295. [3] SALAKHUTDINOV R, MNIH A, HINTON G. Restricted boltzmann machines for collaborative filtering[C]// Proceedings of the 24th International Conference on Machine Learning. New York: ACM, 2007: 791-798. [4] KOREN Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]// Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2008: 426-434. [5] ZHOU T, REN J, MEDO M, et al. Bipartite network projection and personal recommendation[J]. Physical Review E, 2007, 76(4): 046115. [6] DING Y, LI X. Time weight collaborative filtering[C]// Proceedings of the 14th ACM International Conference on Information and Knowledge Management. New York: ACM, 2005: 485-492. [7] 孫光福,吳樂,劉淇,等.基于時序行為的協(xié)同過濾推薦算法[J].軟件學報, 2013,24(11):2721-2733.(SUN G F, WU L, LIU Q, et al. Recommendations based on collaborative filtering by exploiting sequential behaviors[J]. Journal of Software, 2013, 24(11): 2721-2733.)[8] KOREN Y. Collaborative filtering with temporal dynamics[J]. Communications of the ACM, 2010, 53(4): 89-97. [9] XIANG L, YANG Q. Time-dependent models in collaborative filtering based recommender system[C]// Proceedings of the 2009 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technologies. Piscataway, NJ: IEEE, 2009: 450-457. [10] KOREN Y, BELL R, VOLINSKY C. Matrix factorization techniques for recommender systems[J]. Computer, 2009, 42(8): 30-37. [11] ADOMAVICIUS G, TUZHILIN A. Context-aware recommender systems[M]// Recommender Systems Handbook. Berlin: Springer, 2011: 217-253. [12] 楊興耀,于炯,吐爾根·依布拉音,等.考慮項目屬性的協(xié)同過濾推薦模型[J].計算機應用, 2013, 33(11):3062-3066.(YANG X Y, YU J, TURGUN I, et al. Collaborative filtering recommendation models considering item attributes[J]. Journal of Computer Applications, 2013, 33(11):3062-3066.) [13] RESNICK P, IACOVOU N, SUCHAK M, et al. GroupLens: an open architecture for collaborative filtering of netnews[C]// Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work. New York: ACM, 1994: 175-186. HUANG Kai, born in 1988, M. S. candidate. His research interests include data mining, recommender system. ZHANG Xihuang, born in 1962, Ph. D., professor. Her research interests include embedded system, computer networking. Singular value decomposition recommender model based on phase sequential effect HUANG Kai*, ZHANG Xihuang (CollegeofInternetofThingsEngineering,JiangnanUniversity,WuxiJiangsu214122,China) The traditional Singular Value Decomposition (SVD) recommender model based on sequential effect only considers scoring matrix and uses complicated time function to fit item’s life cycle and user’s preferences, which leads to many problems, such as difficult to explain model, inaccurate to capture user’s preferences and low prediction accuracy. In view of the drawbacks, an improved sequential effect model was proposed which considered scoring matrix, item attributes and user rating labels comprehensively. Firstly, the time axis was divided into different phases, the project’s popularity was converted to influence in [0,1] to improve project bias by sigmoid function. Secondly, the time variation changes of the user bias were transformed into time variation changes of user rating mean and overall rating mean by nonlinear function. Finally, the influence factors of the user project interaction were generated to achieve the user project interaction improvement by capturing the user’s interest, combining with favorable rate of the similar users. The tests on the Movielence 10M and 20M movie scoring data sets show that the improved model can better capture the time variation change of user preferences, improve the accuracy of scoring prediction, and improve the root mean square error by 2.5%. recommender system; sequential effect; singular value decomposition(SVD); item popularity; collaborative filtering 2016-09-27; 2016-11-26。 黃凱(1988—),男,貴州畢節(jié)人,碩士研究生,CCF會員,主要研究方向:數(shù)據(jù)挖掘、推薦系統(tǒng); 張曦煌(1962—),男,江蘇無錫人,教授,博士,主要研究方向:嵌入式系統(tǒng)、計算機網(wǎng)絡(luò)。 1001-9081(2017)05-1392-05 10.11772/j.issn.1001-9081.2017.05.1392 TP311.13 A3 實驗評估
4 結(jié)語