摘 要: 數(shù)據(jù)稀疏性問題是傳統(tǒng)的協(xié)同過濾算法主要的瓶頸之一。遷移學(xué)習(xí)利用輔助領(lǐng)域的用戶評分信息,有效地緩解了目標(biāo)領(lǐng)域的稀疏性問題?,F(xiàn)有的遷移學(xué)習(xí)推薦算法中,普遍存在領(lǐng)域間的用戶需要一致、模型平衡參數(shù)較多等限制。針對這些局限性,提出了一種用戶相似度遷移的模型,利用輔助領(lǐng)域的用戶相似度幫助目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)。此外,通過一種用戶特征子空間的距離來度量模型的平衡參數(shù),使模型更加具有智能性。實驗結(jié)果表明,該模型與其他協(xié)同過濾算法相比較能夠更有效地緩解數(shù)據(jù)稀疏性問題。
關(guān)鍵詞: 數(shù)據(jù)稀疏性;協(xié)同過濾;遷移學(xué)習(xí);用戶相似度;特征子空間
協(xié)同過濾技術(shù)是推薦系統(tǒng)中應(yīng)用最為廣泛和成功的推薦技術(shù)之一[1],其基本思想是:利用整個用戶集對項目集的歷史評分?jǐn)?shù)據(jù)來預(yù)測目標(biāo)用戶對其未評分的項目集的偏好程度,從而選擇若干個預(yù)測后偏好程度最高的項目作為推薦結(jié)果[2]。
傳統(tǒng)的協(xié)同過濾算法最為關(guān)鍵的步驟是度量用戶之間或項目之間的相似度。隨著系統(tǒng)規(guī)模的不斷擴大,用戶對項目評分?jǐn)?shù)據(jù)極端稀疏時,利用傳統(tǒng)的方法難以準(zhǔn)確地度量相似性,導(dǎo)致了推薦系統(tǒng)的推薦質(zhì)量降低。為了緩解稀疏性的問題,多領(lǐng)域數(shù)據(jù)的遷移學(xué)習(xí)已受到了學(xué)者們的高度關(guān)注。目前,研究者已提出了多種基于遷移學(xué)習(xí)的推薦算法,如SINGH等人提出了一種聯(lián)合矩陣分解模型CMF(Collective Matrix Factorization)[3],Li Bin等人提出了一種評分矩陣生成模型RMGM(Rating Matrix Generative Model)[4], Pan Weike等人則提出了一種坐標(biāo)系統(tǒng)遷移模型CST(Coordinate System Transfer)[5]。這些算法均通過對輔助領(lǐng)域的知識進行遷移來幫助提高目標(biāo)領(lǐng)域的推薦精度。
然而,在現(xiàn)有的遷移學(xué)習(xí)推薦算法中,如CMF模型和CST模型,需要輔助領(lǐng)域與目標(biāo)領(lǐng)域的用戶空間一致,并且模型中需要控制較多的參數(shù),受到了一定的限制。針對這些局限,本文提出一種用戶相似度遷移的協(xié)同過濾模型UST(User Similarity Transfer),對輔助領(lǐng)域和目標(biāo)領(lǐng)域共同用戶的相似度進行遷移。為了能夠充分利用輔助領(lǐng)域的用戶評分信息,本文的模型在輔助領(lǐng)域里采用先填充后計算用戶相似度的策略。另一方面,通過一種用戶特征子空間的距離來度量模型中的平衡參數(shù),一定程度上消除了人為調(diào)控的局限性。
1 相關(guān)定義
首先給出本文中所使用的符號及含義。在輔助領(lǐng)域里,定義一個p×q的矩陣RA來表示p個用戶對q個項目的評分;在目標(biāo)領(lǐng)域里,定義一個m×n的評分矩陣RT來表示m個用戶對n個項目的評分。評分矩陣的項ri,j表示用戶ui對項目vj的偏好程度,分值越大表示用戶對項目的偏好程度越高。為了方便描述評分矩陣的項是否被評分,在輔助領(lǐng)域和目標(biāo)領(lǐng)域里分別定義一個只有0和1值的標(biāo)記矩陣WA和WT,其中0表示該項未被評分,1表示該項已被評分。
2 基于用戶的協(xié)同過濾算法
基于用戶的協(xié)同過濾算法根據(jù)其他用戶的觀點產(chǎn)生目標(biāo)用戶的推薦列表。首先利用已有的評分?jǐn)?shù)據(jù)計算目標(biāo)用戶與其他用戶的相似度,其次通過目標(biāo)用戶的最近鄰居對某個項目的評分來預(yù)測目標(biāo)用戶對該項目的評分[6]。
2.1 相似度的計算方法
相似度的計算是基于用戶的協(xié)同過濾算法中最為關(guān)鍵的一步。傳統(tǒng)的相似度度量方法有余弦相似度、修正的余弦相似度和pearson相關(guān)系數(shù)[2],本文采用實踐中實現(xiàn)效果較好的pearson相關(guān)系數(shù)來度量[7]。設(shè)I是ui和uj共同評分的項目集合,則ui和uj的pearson相似度計算方法如下:
其中,ri、rj分別表示ui、uj對它們共同評分項目的平均評分。
2.2 產(chǎn)生推薦結(jié)果
根據(jù)目標(biāo)用戶ui的最近鄰居集合C對項目的評分信息預(yù)測ui對未評分項目的評分,選擇預(yù)測評分最高的若干個項目作為推薦結(jié)果反饋給目標(biāo)用戶。目標(biāo)用戶ui對未評分項目vk的預(yù)測評分,可以根據(jù)ui的最近鄰居集合C對vk評分的平均加權(quán)得到[8],計算方法如下:
其中,ri、rj分別表示用戶ui、uj對其已知評分項目的平均評分。
3 基于用戶相似度遷移的推薦模型
3.1 UST模型介紹
現(xiàn)實世界中,輔助領(lǐng)域和目標(biāo)領(lǐng)域往往只有部分共同的用戶或項目,導(dǎo)致大部分現(xiàn)有的遷移學(xué)習(xí)算法在實際應(yīng)用中具有一定的局限性。為了能夠提高傳統(tǒng)協(xié)同過濾算法用戶相似度計算的準(zhǔn)確性,本文從相似度遷移的角度出發(fā),建立用戶相似度遷移模型,以更好地利用輔助領(lǐng)域的評分信息幫助目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)。
定義Asim為輔助領(lǐng)域計算得到的用戶相似度矩陣,Tsim為目標(biāo)領(lǐng)域計算得到的用戶相似度矩陣,通過加權(quán)的方法建立如下UST模型:
Usim=?琢Tsim+(1-?琢)Asim,0<?琢≤1(3)
其中,?琢為平衡參數(shù),用來控制輔助領(lǐng)域的用戶相似度對目標(biāo)領(lǐng)域用戶相似度學(xué)習(xí)的遷移程度。
在UST模型中,首先利用輔助領(lǐng)域用戶評分?jǐn)?shù)據(jù)計算用戶之間的相似度,然后通過式(3)計算目標(biāo)領(lǐng)域的用戶相似度矩陣,最后對目標(biāo)領(lǐng)域未評分的項目進行預(yù)測。
3.2 輔助領(lǐng)域用戶相似度的學(xué)習(xí)
為了利用輔助領(lǐng)域的評分?jǐn)?shù)據(jù)來計算用戶相似度矩陣,UST模型首先通過一種填充的方法對輔助領(lǐng)域的缺失評分矩陣進行填充,然后對填充后的矩陣計算用戶間的相似度。這樣做的好處是能夠更有效地利用輔助領(lǐng)域已知評分的信息來計算用戶的相似性度。
矩陣分解MF(Matrix Factorization)技術(shù)是一種有效的填充方式,它希望通過找到一個低秩的矩陣來逼近RA[9]。記填充后的低秩矩陣為ZA,則通過矩陣分解的方法可以將ZA近似分解成如下形式:
進一步地,將輔助領(lǐng)域填充后的矩陣ZA通過式(1)計算出輔助領(lǐng)域的用戶相似度矩陣Asim。
3.3 目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)
在UST模型中,α的大小受到目標(biāo)領(lǐng)域和輔助領(lǐng)域相關(guān)性的影響。為了度量α的值,采用一種目標(biāo)領(lǐng)域和輔助領(lǐng)域的用戶特征子空間距離來估計。設(shè)正交矩陣UT和UA分別是目標(biāo)領(lǐng)域和輔助領(lǐng)域的用戶特征矩陣,則UT和UA的子空間距離可由下式計算:
其中,?滓 min(Z)表示Z的最小奇異值。為了獲得輔助領(lǐng)域和目標(biāo)領(lǐng)域的用戶特征子空間UT和UA,可以通過矩陣的QR分解將U分解成一個列正交的矩陣Q和上三角矩陣T[11]:
U=Q×T(10)
確定了平衡參數(shù)α,根據(jù)模型式(3)計算出目標(biāo)領(lǐng)域最終的用戶相似度矩陣,最后通過式(2)為目標(biāo)用戶產(chǎn)生推薦結(jié)果。
4 實驗結(jié)果和分析
為了驗證UST-CF算法的有效性,選取了以下幾種經(jīng)典的非遷移學(xué)習(xí)協(xié)同過濾算法和遷移學(xué)習(xí)的協(xié)同過濾算法做比較:基于pearson相關(guān)相似性的協(xié)同過濾算法(PCC)[6];基于傳統(tǒng)矩陣分解的單個目標(biāo)領(lǐng)域協(xié)同過濾算法(RMF)[10],即本文式(6)的模型;聯(lián)合矩陣分解的協(xié)同過濾算法(CMF)。為了驗證輔助領(lǐng)域評分矩陣填充后是否有利于提高目標(biāo)領(lǐng)域用戶相似度計算的準(zhǔn)確性,本文還對輔助領(lǐng)域未填充的UST-unImpute算法進行比較。
4.1 實驗數(shù)據(jù)集
采用MovieLens(http://www. gouplens.org/node/73)站點的電影評分?jǐn)?shù)據(jù)集來對比各種算法的效果。MovieLens數(shù)據(jù)集包括71 567個用戶對10 681個電影項目的約107條評分?jǐn)?shù)據(jù),其評分形式為{0.5,1.0,1.5,…,5.0}。為了度量整個數(shù)據(jù)集的稀疏性,引入數(shù)據(jù)稀疏度的概念,定義為用戶已評分?jǐn)?shù)據(jù)占整個數(shù)據(jù)集的比例,可以得到該數(shù)據(jù)集的稀疏度為107/(71 567×10 681)≈1.31%。
4.2 評價標(biāo)準(zhǔn)
推薦系統(tǒng)的質(zhì)量由預(yù)測結(jié)果的精度決定。實驗中,采用兩種廣泛的評價方法:均方根誤差RMSE(Root Mean Square Error)和平均絕對誤差MAE(Mean Absolute Error),具體計算方式如下:
其中,pi,j、ri,j分別表示預(yù)測評分值和實際評分值,TE表示訓(xùn)練集的下標(biāo)集合。
4.3 參數(shù)設(shè)定
對幾種比較算法的參數(shù)做如下設(shè)定:對于基于最近鄰的協(xié)同過濾算法(如PCC、UST-unImpute、UST-CF),選擇的最近鄰居數(shù)為{5~300};對于RMF模型和CMF模型,選擇的特征維度為{4,5,…,10},正則項參數(shù)為{0.1,1,
5,10},平衡參數(shù)為{0.1,0.5,0.9}。
4.4 實驗方案和結(jié)果分析
根據(jù)目標(biāo)和輔助領(lǐng)域的用戶集相同且評分形式一致、用戶集相同但評分形式不一致、用戶集不相同但評分形式一致這三種情形設(shè)計3個實驗方案,每種方案的輔助領(lǐng)域的稀疏度均固定為5%。
方案1 用戶集相同且評分形式一致
從數(shù)據(jù)集中隨機選取1 000個用戶對2 000個電影的評分?jǐn)?shù)據(jù),將其中1 000部電影作為輔助領(lǐng)域的項目,剩余的1 000部電影作為目標(biāo)領(lǐng)域的項目。目標(biāo)領(lǐng)域內(nèi)每個用戶至少評價過25部以上的電影。進一步地劃分目標(biāo)領(lǐng)域的訓(xùn)練集和測試集,其中訓(xùn)練集按照不同的數(shù)據(jù)稀疏度劃分為5組,每一組的稀疏度依次為1.0%、1.5%、2.0%、2.5%和3.0%,而每組剩余的評分?jǐn)?shù)據(jù)作為測試集。
方案2 用戶集相同但評分形式不一致
從數(shù)據(jù)集中隨機選取1 000個用戶對1 500個電影的評分?jǐn)?shù)據(jù),將其中1 000部電影作為輔助領(lǐng)域的項目,剩余的500部電影作為目標(biāo)領(lǐng)域的項目。在輔助領(lǐng)域里人為地對用戶評分?jǐn)?shù)據(jù)進行如下轉(zhuǎn)化:對評分≧4的項用1來代替,評分<4的項用0來代替。目標(biāo)領(lǐng)域里每個用戶至少評價過20部以上的電影,訓(xùn)練集和測試集的劃分同方案1。
方案3 用戶集不同但評分形式一致
從數(shù)據(jù)集中隨機選取2 000部電影,其中1 000部作為輔助領(lǐng)域的項目,剩下的1 000部作為目標(biāo)領(lǐng)域的項目。輔助領(lǐng)域和目標(biāo)領(lǐng)域的用戶數(shù)均固定為1 500個,并且按照兩個領(lǐng)域的共同用戶數(shù)劃分5組實驗。每組實驗的共同用戶數(shù)分別為300、600、900、1 200、1 500。目標(biāo)領(lǐng)域里每個用戶至少評價25部以上電影,并且訓(xùn)練集的稀疏度為1%。
三個實驗方案的結(jié)果分別如表1~表3所示。從實驗結(jié)果可以看出,與其他協(xié)同過濾算法相比較,本文提出的UST-CF算法均能取得最好的推薦效果。從表1和表2可以看出,目標(biāo)領(lǐng)域的稀疏度越低,UST-CF算法取得的優(yōu)勢越明顯,這說明對評分?jǐn)?shù)據(jù)極其稀疏的情形,UST-CF算法體現(xiàn)了更好的適應(yīng)性,能有效緩解數(shù)據(jù)稀疏的問題。從表3可以看出,即使只有部分的共同用戶,UST-CF算法也能有效利用這部分共同用戶的評分?jǐn)?shù)據(jù),改進目標(biāo)領(lǐng)域測試集的推薦精度。
本文提出了一種用戶相似度遷移的協(xié)同過濾推薦算法,有效地緩解了目標(biāo)領(lǐng)域數(shù)據(jù)稀疏性的問題。此外,算法采用一種用戶特征子空間的距離來度量UST模型中的平衡參數(shù),大大提高了模型的智能性。本文算法只考慮了對輔助領(lǐng)域的用戶相似度進行遷移,因此如何改進模型,使模型能夠?qū)o助領(lǐng)域的其他知識進行遷移(如用戶的評價特征、項目的屬性等),進一步提高目標(biāo)領(lǐng)域的推薦精度,是一個有意義的研究方向。
參考文獻
[1] SU X,KHOSHGOFTAAR T M.A survey of collaborative filtering techniques[J].Advances in Artificial Intelligence,2009(4):1-19.
[2] 馬宏偉,張光衛(wèi),李鵬.協(xié)同過濾推薦算法綜述[J].小型微型計算機系統(tǒng),2009,30(7):1282-1288.
[3] SINGH A P,GORDON G J.Relational learning via collectivematrix factorization[C].Proceeding of the 14th ACM SIGKDDInternational Conference on Knowledge Discovery and Data Mining,ACM,2008:650-658.
[4] Li Bin,Yang Qiang,Xue Xiangyang.Transfer learning for collaborative filtering via a rating-matrix generative model[C].Proceeding of the 26th Annual Internatioal Conference on Machine Learning,ACM,2009:617-624.
[5] Pan Weike,XIANG E W,LIU N N,et al.Transfer Learningin Collaborative Filtering for Sparsity Reduction[C].AAAI,2010(10):230-235.
[6] BREESE J S,HECKERMAN D,KADIE C.Empirical analysisof predictive algorithms for collaborative filtering[C].Proceed-ing of the 14th Conference on Uncertainty in ArtificialIntelligence,Morgan Kaufmann Publishers Inc.,1998:43-52.
[7] MCLAUGHLIN M R,HERLOCKER J L.A collaborative fil-tering algorithm and evaluation metric that accurately modelthe user experience[C].Proceeding of the 27th Annual In-ternational ACM SIGIR Conference on Research and devel-opment in Information Retrieval,ACM,2004:329-336.
[8] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C].Proceed-ing of the 10th International Conference on World Wide Web,ACM,2001:285-295.
[9] BUCHANAN A M,F(xiàn)ITZGIBBON A W.Damped newton algorithms for matrix factorization with missing data[C].IEEE Computer Society Conference on Computer Vision and Pat-tern Recognition,CVPR 2005,2005(2):316-322.
[10] 李改,李磊.基于矩陣分解的協(xié)同過濾算法[J].計算機工程與應(yīng)用,2011,47(30):4-7.