摘 要: 數(shù)據(jù)稀疏性問(wèn)題是傳統(tǒng)的協(xié)同過(guò)濾算法主要的瓶頸之一。遷移學(xué)習(xí)利用輔助領(lǐng)域的用戶評(píng)分信息,有效地緩解了目標(biāo)領(lǐng)域的稀疏性問(wèn)題?,F(xiàn)有的遷移學(xué)習(xí)推薦算法中,普遍存在領(lǐng)域間的用戶需要一致、模型平衡參數(shù)較多等限制。針對(duì)這些局限性,提出了一種用戶相似度遷移的模型,利用輔助領(lǐng)域的用戶相似度幫助目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)。此外,通過(guò)一種用戶特征子空間的距離來(lái)度量模型的平衡參數(shù),使模型更加具有智能性。實(shí)驗(yàn)結(jié)果表明,該模型與其他協(xié)同過(guò)濾算法相比較能夠更有效地緩解數(shù)據(jù)稀疏性問(wèn)題。
關(guān)鍵詞: 數(shù)據(jù)稀疏性;協(xié)同過(guò)濾;遷移學(xué)習(xí);用戶相似度;特征子空間
協(xié)同過(guò)濾技術(shù)是推薦系統(tǒng)中應(yīng)用最為廣泛和成功的推薦技術(shù)之一[1],其基本思想是:利用整個(gè)用戶集對(duì)項(xiàng)目集的歷史評(píng)分?jǐn)?shù)據(jù)來(lái)預(yù)測(cè)目標(biāo)用戶對(duì)其未評(píng)分的項(xiàng)目集的偏好程度,從而選擇若干個(gè)預(yù)測(cè)后偏好程度最高的項(xiàng)目作為推薦結(jié)果[2]。
傳統(tǒng)的協(xié)同過(guò)濾算法最為關(guān)鍵的步驟是度量用戶之間或項(xiàng)目之間的相似度。隨著系統(tǒng)規(guī)模的不斷擴(kuò)大,用戶對(duì)項(xiàng)目評(píng)分?jǐn)?shù)據(jù)極端稀疏時(shí),利用傳統(tǒng)的方法難以準(zhǔn)確地度量相似性,導(dǎo)致了推薦系統(tǒng)的推薦質(zhì)量降低。為了緩解稀疏性的問(wèn)題,多領(lǐng)域數(shù)據(jù)的遷移學(xué)習(xí)已受到了學(xué)者們的高度關(guān)注。目前,研究者已提出了多種基于遷移學(xué)習(xí)的推薦算法,如SINGH等人提出了一種聯(lián)合矩陣分解模型CMF(Collective Matrix Factorization)[3],Li Bin等人提出了一種評(píng)分矩陣生成模型RMGM(Rating Matrix Generative Model)[4], Pan Weike等人則提出了一種坐標(biāo)系統(tǒng)遷移模型CST(Coordinate System Transfer)[5]。這些算法均通過(guò)對(duì)輔助領(lǐng)域的知識(shí)進(jìn)行遷移來(lái)幫助提高目標(biāo)領(lǐng)域的推薦精度。
然而,在現(xiàn)有的遷移學(xué)習(xí)推薦算法中,如CMF模型和CST模型,需要輔助領(lǐng)域與目標(biāo)領(lǐng)域的用戶空間一致,并且模型中需要控制較多的參數(shù),受到了一定的限制。針對(duì)這些局限,本文提出一種用戶相似度遷移的協(xié)同過(guò)濾模型UST(User Similarity Transfer),對(duì)輔助領(lǐng)域和目標(biāo)領(lǐng)域共同用戶的相似度進(jìn)行遷移。為了能夠充分利用輔助領(lǐng)域的用戶評(píng)分信息,本文的模型在輔助領(lǐng)域里采用先填充后計(jì)算用戶相似度的策略。另一方面,通過(guò)一種用戶特征子空間的距離來(lái)度量模型中的平衡參數(shù),一定程度上消除了人為調(diào)控的局限性。
1 相關(guān)定義
首先給出本文中所使用的符號(hào)及含義。在輔助領(lǐng)域里,定義一個(gè)p×q的矩陣RA來(lái)表示p個(gè)用戶對(duì)q個(gè)項(xiàng)目的評(píng)分;在目標(biāo)領(lǐng)域里,定義一個(gè)m×n的評(píng)分矩陣RT來(lái)表示m個(gè)用戶對(duì)n個(gè)項(xiàng)目的評(píng)分。評(píng)分矩陣的項(xiàng)ri,j表示用戶ui對(duì)項(xiàng)目vj的偏好程度,分值越大表示用戶對(duì)項(xiàng)目的偏好程度越高。為了方便描述評(píng)分矩陣的項(xiàng)是否被評(píng)分,在輔助領(lǐng)域和目標(biāo)領(lǐng)域里分別定義一個(gè)只有0和1值的標(biāo)記矩陣WA和WT,其中0表示該項(xiàng)未被評(píng)分,1表示該項(xiàng)已被評(píng)分。
2 基于用戶的協(xié)同過(guò)濾算法
基于用戶的協(xié)同過(guò)濾算法根據(jù)其他用戶的觀點(diǎn)產(chǎn)生目標(biāo)用戶的推薦列表。首先利用已有的評(píng)分?jǐn)?shù)據(jù)計(jì)算目標(biāo)用戶與其他用戶的相似度,其次通過(guò)目標(biāo)用戶的最近鄰居對(duì)某個(gè)項(xiàng)目的評(píng)分來(lái)預(yù)測(cè)目標(biāo)用戶對(duì)該項(xiàng)目的評(píng)分[6]。
2.1 相似度的計(jì)算方法
相似度的計(jì)算是基于用戶的協(xié)同過(guò)濾算法中最為關(guān)鍵的一步。傳統(tǒng)的相似度度量方法有余弦相似度、修正的余弦相似度和pearson相關(guān)系數(shù)[2],本文采用實(shí)踐中實(shí)現(xiàn)效果較好的pearson相關(guān)系數(shù)來(lái)度量[7]。設(shè)I是ui和uj共同評(píng)分的項(xiàng)目集合,則ui和uj的pearson相似度計(jì)算方法如下:
其中,ri、rj分別表示ui、uj對(duì)它們共同評(píng)分項(xiàng)目的平均評(píng)分。
2.2 產(chǎn)生推薦結(jié)果
根據(jù)目標(biāo)用戶ui的最近鄰居集合C對(duì)項(xiàng)目的評(píng)分信息預(yù)測(cè)ui對(duì)未評(píng)分項(xiàng)目的評(píng)分,選擇預(yù)測(cè)評(píng)分最高的若干個(gè)項(xiàng)目作為推薦結(jié)果反饋給目標(biāo)用戶。目標(biāo)用戶ui對(duì)未評(píng)分項(xiàng)目vk的預(yù)測(cè)評(píng)分,可以根據(jù)ui的最近鄰居集合C對(duì)vk評(píng)分的平均加權(quán)得到[8],計(jì)算方法如下:
其中,ri、rj分別表示用戶ui、uj對(duì)其已知評(píng)分項(xiàng)目的平均評(píng)分。
3 基于用戶相似度遷移的推薦模型
3.1 UST模型介紹
現(xiàn)實(shí)世界中,輔助領(lǐng)域和目標(biāo)領(lǐng)域往往只有部分共同的用戶或項(xiàng)目,導(dǎo)致大部分現(xiàn)有的遷移學(xué)習(xí)算法在實(shí)際應(yīng)用中具有一定的局限性。為了能夠提高傳統(tǒng)協(xié)同過(guò)濾算法用戶相似度計(jì)算的準(zhǔn)確性,本文從相似度遷移的角度出發(fā),建立用戶相似度遷移模型,以更好地利用輔助領(lǐng)域的評(píng)分信息幫助目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)。
定義Asim為輔助領(lǐng)域計(jì)算得到的用戶相似度矩陣,Tsim為目標(biāo)領(lǐng)域計(jì)算得到的用戶相似度矩陣,通過(guò)加權(quán)的方法建立如下UST模型:
Usim=?琢Tsim+(1-?琢)Asim,0<?琢≤1(3)
其中,?琢為平衡參數(shù),用來(lái)控制輔助領(lǐng)域的用戶相似度對(duì)目標(biāo)領(lǐng)域用戶相似度學(xué)習(xí)的遷移程度。
在UST模型中,首先利用輔助領(lǐng)域用戶評(píng)分?jǐn)?shù)據(jù)計(jì)算用戶之間的相似度,然后通過(guò)式(3)計(jì)算目標(biāo)領(lǐng)域的用戶相似度矩陣,最后對(duì)目標(biāo)領(lǐng)域未評(píng)分的項(xiàng)目進(jìn)行預(yù)測(cè)。
3.2 輔助領(lǐng)域用戶相似度的學(xué)習(xí)
為了利用輔助領(lǐng)域的評(píng)分?jǐn)?shù)據(jù)來(lái)計(jì)算用戶相似度矩陣,UST模型首先通過(guò)一種填充的方法對(duì)輔助領(lǐng)域的缺失評(píng)分矩陣進(jìn)行填充,然后對(duì)填充后的矩陣計(jì)算用戶間的相似度。這樣做的好處是能夠更有效地利用輔助領(lǐng)域已知評(píng)分的信息來(lái)計(jì)算用戶的相似性度。
矩陣分解MF(Matrix Factorization)技術(shù)是一種有效的填充方式,它希望通過(guò)找到一個(gè)低秩的矩陣來(lái)逼近RA[9]。記填充后的低秩矩陣為ZA,則通過(guò)矩陣分解的方法可以將ZA近似分解成如下形式:
進(jìn)一步地,將輔助領(lǐng)域填充后的矩陣ZA通過(guò)式(1)計(jì)算出輔助領(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)域的用戶特征子空間距離來(lái)估計(jì)。設(shè)正交矩陣UT和UA分別是目標(biāo)領(lǐng)域和輔助領(lǐng)域的用戶特征矩陣,則UT和UA的子空間距離可由下式計(jì)算:
其中,?滓 min(Z)表示Z的最小奇異值。為了獲得輔助領(lǐng)域和目標(biāo)領(lǐng)域的用戶特征子空間UT和UA,可以通過(guò)矩陣的QR分解將U分解成一個(gè)列正交的矩陣Q和上三角矩陣T[11]:
U=Q×T(10)
確定了平衡參數(shù)α,根據(jù)模型式(3)計(jì)算出目標(biāo)領(lǐng)域最終的用戶相似度矩陣,最后通過(guò)式(2)為目標(biāo)用戶產(chǎn)生推薦結(jié)果。
4 實(shí)驗(yàn)結(jié)果和分析
為了驗(yàn)證UST-CF算法的有效性,選取了以下幾種經(jīng)典的非遷移學(xué)習(xí)協(xié)同過(guò)濾算法和遷移學(xué)習(xí)的協(xié)同過(guò)濾算法做比較:基于pearson相關(guān)相似性的協(xié)同過(guò)濾算法(PCC)[6];基于傳統(tǒng)矩陣分解的單個(gè)目標(biāo)領(lǐng)域協(xié)同過(guò)濾算法(RMF)[10],即本文式(6)的模型;聯(lián)合矩陣分解的協(xié)同過(guò)濾算法(CMF)。為了驗(yàn)證輔助領(lǐng)域評(píng)分矩陣填充后是否有利于提高目標(biāo)領(lǐng)域用戶相似度計(jì)算的準(zhǔn)確性,本文還對(duì)輔助領(lǐng)域未填充的UST-unImpute算法進(jìn)行比較。
4.1 實(shí)驗(yàn)數(shù)據(jù)集
采用MovieLens(http://www. gouplens.org/node/73)站點(diǎn)的電影評(píng)分?jǐn)?shù)據(jù)集來(lái)對(duì)比各種算法的效果。MovieLens數(shù)據(jù)集包括71 567個(gè)用戶對(duì)10 681個(gè)電影項(xiàng)目的約107條評(píng)分?jǐn)?shù)據(jù),其評(píng)分形式為{0.5,1.0,1.5,…,5.0}。為了度量整個(gè)數(shù)據(jù)集的稀疏性,引入數(shù)據(jù)稀疏度的概念,定義為用戶已評(píng)分?jǐn)?shù)據(jù)占整個(gè)數(shù)據(jù)集的比例,可以得到該數(shù)據(jù)集的稀疏度為107/(71 567×10 681)≈1.31%。
4.2 評(píng)價(jià)標(biāo)準(zhǔn)
推薦系統(tǒng)的質(zhì)量由預(yù)測(cè)結(jié)果的精度決定。實(shí)驗(yàn)中,采用兩種廣泛的評(píng)價(jià)方法:均方根誤差RMSE(Root Mean Square Error)和平均絕對(duì)誤差MAE(Mean Absolute Error),具體計(jì)算方式如下:
其中,pi,j、ri,j分別表示預(yù)測(cè)評(píng)分值和實(shí)際評(píng)分值,TE表示訓(xùn)練集的下標(biāo)集合。
4.3 參數(shù)設(shè)定
對(duì)幾種比較算法的參數(shù)做如下設(shè)定:對(duì)于基于最近鄰的協(xié)同過(guò)濾算法(如PCC、UST-unImpute、UST-CF),選擇的最近鄰居數(shù)為{5~300};對(duì)于RMF模型和CMF模型,選擇的特征維度為{4,5,…,10},正則項(xiàng)參數(shù)為{0.1,1,
5,10},平衡參數(shù)為{0.1,0.5,0.9}。
4.4 實(shí)驗(yàn)方案和結(jié)果分析
根據(jù)目標(biāo)和輔助領(lǐng)域的用戶集相同且評(píng)分形式一致、用戶集相同但評(píng)分形式不一致、用戶集不相同但評(píng)分形式一致這三種情形設(shè)計(jì)3個(gè)實(shí)驗(yàn)方案,每種方案的輔助領(lǐng)域的稀疏度均固定為5%。
方案1 用戶集相同且評(píng)分形式一致
從數(shù)據(jù)集中隨機(jī)選取1 000個(gè)用戶對(duì)2 000個(gè)電影的評(píng)分?jǐn)?shù)據(jù),將其中1 000部電影作為輔助領(lǐng)域的項(xiàng)目,剩余的1 000部電影作為目標(biāo)領(lǐng)域的項(xiàng)目。目標(biāo)領(lǐng)域內(nèi)每個(gè)用戶至少評(píng)價(jià)過(guò)25部以上的電影。進(jìn)一步地劃分目標(biāo)領(lǐng)域的訓(xùn)練集和測(cè)試集,其中訓(xùn)練集按照不同的數(shù)據(jù)稀疏度劃分為5組,每一組的稀疏度依次為1.0%、1.5%、2.0%、2.5%和3.0%,而每組剩余的評(píng)分?jǐn)?shù)據(jù)作為測(cè)試集。
方案2 用戶集相同但評(píng)分形式不一致
從數(shù)據(jù)集中隨機(jī)選取1 000個(gè)用戶對(duì)1 500個(gè)電影的評(píng)分?jǐn)?shù)據(jù),將其中1 000部電影作為輔助領(lǐng)域的項(xiàng)目,剩余的500部電影作為目標(biāo)領(lǐng)域的項(xiàng)目。在輔助領(lǐng)域里人為地對(duì)用戶評(píng)分?jǐn)?shù)據(jù)進(jìn)行如下轉(zhuǎn)化:對(duì)評(píng)分≧4的項(xiàng)用1來(lái)代替,評(píng)分<4的項(xiàng)用0來(lái)代替。目標(biāo)領(lǐng)域里每個(gè)用戶至少評(píng)價(jià)過(guò)20部以上的電影,訓(xùn)練集和測(cè)試集的劃分同方案1。
方案3 用戶集不同但評(píng)分形式一致
從數(shù)據(jù)集中隨機(jī)選取2 000部電影,其中1 000部作為輔助領(lǐng)域的項(xiàng)目,剩下的1 000部作為目標(biāo)領(lǐng)域的項(xiàng)目。輔助領(lǐng)域和目標(biāo)領(lǐng)域的用戶數(shù)均固定為1 500個(gè),并且按照兩個(gè)領(lǐng)域的共同用戶數(shù)劃分5組實(shí)驗(yàn)。每組實(shí)驗(yàn)的共同用戶數(shù)分別為300、600、900、1 200、1 500。目標(biāo)領(lǐng)域里每個(gè)用戶至少評(píng)價(jià)25部以上電影,并且訓(xùn)練集的稀疏度為1%。
三個(gè)實(shí)驗(yàn)方案的結(jié)果分別如表1~表3所示。從實(shí)驗(yàn)結(jié)果可以看出,與其他協(xié)同過(guò)濾算法相比較,本文提出的UST-CF算法均能取得最好的推薦效果。從表1和表2可以看出,目標(biāo)領(lǐng)域的稀疏度越低,UST-CF算法取得的優(yōu)勢(shì)越明顯,這說(shuō)明對(duì)評(píng)分?jǐn)?shù)據(jù)極其稀疏的情形,UST-CF算法體現(xiàn)了更好的適應(yīng)性,能有效緩解數(shù)據(jù)稀疏的問(wèn)題。從表3可以看出,即使只有部分的共同用戶,UST-CF算法也能有效利用這部分共同用戶的評(píng)分?jǐn)?shù)據(jù),改進(jìn)目標(biāo)領(lǐng)域測(cè)試集的推薦精度。
本文提出了一種用戶相似度遷移的協(xié)同過(guò)濾推薦算法,有效地緩解了目標(biāo)領(lǐng)域數(shù)據(jù)稀疏性的問(wèn)題。此外,算法采用一種用戶特征子空間的距離來(lái)度量UST模型中的平衡參數(shù),大大提高了模型的智能性。本文算法只考慮了對(duì)輔助領(lǐng)域的用戶相似度進(jìn)行遷移,因此如何改進(jìn)模型,使模型能夠?qū)o助領(lǐng)域的其他知識(shí)進(jìn)行遷移(如用戶的評(píng)價(jià)特征、項(xiàng)目的屬性等),進(jìn)一步提高目標(biāo)領(lǐng)域的推薦精度,是一個(gè)有意義的研究方向。
參考文獻(xiàn)
[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é)同過(guò)濾推薦算法綜述[J].小型微型計(jì)算機(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é)同過(guò)濾算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(30):4-7.