柯良文,王 靖
(華僑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門361021)
協(xié)同過濾技術(shù)是推薦系統(tǒng)中應(yīng)用最為廣泛和成功的推薦技術(shù)之一[1],其基本思想是:利用整個(gè)用戶集對(duì)項(xiàng)目集的歷史評(píng)分?jǐn)?shù)據(jù)來預(yù)測(cè)目標(biāo)用戶對(duì)其未評(píng)分的項(xiàng)目集的偏好程度,從而選擇若干個(gè)預(yù)測(cè)后偏好程度最高的項(xiàng)目作為推薦結(jié)果[2]。
傳統(tǒng)的協(xié)同過濾算法最為關(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ì)量降低。為了緩解稀疏性的問題,多領(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]。這些算法均通過對(duì)輔助領(lǐng)域的知識(shí)進(jìn)行遷移來幫助提高目標(biāo)領(lǐng)域的推薦精度。
然而,在現(xiàn)有的遷移學(xué)習(xí)推薦算法中,如CMF模型和CST模型,需要輔助領(lǐng)域與目標(biāo)領(lǐng)域的用戶空間一致,并且模型中需要控制較多的參數(shù),受到了一定的限制。針對(duì)這些局限,本文提出一種用戶相似度遷移的協(xié)同過濾模型 UST(User Similarity Transfer),對(duì)輔助領(lǐng)域和目標(biāo)領(lǐng)域共同用戶的相似度進(jìn)行遷移。為了能夠充分利用輔助領(lǐng)域的用戶評(píng)分信息,本文的模型在輔助領(lǐng)域里采用先填充后計(jì)算用戶相似度的策略。另一方面,通過一種用戶特征子空間的距離來度量模型中的平衡參數(shù),一定程度上消除了人為調(diào)控的局限性。
首先給出本文中所使用的符號(hào)及含義。在輔助領(lǐng)域里,定義一個(gè)p×q的矩陣RA來表示p個(gè)用戶對(duì)q個(gè)項(xiàng)目的評(píng)分;在目標(biāo)領(lǐng)域里,定義一個(gè)m×n的評(píng)分矩陣RT來表示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)分。
基于用戶的協(xié)同過濾算法根據(jù)其他用戶的觀點(diǎn)產(chǎn)生目標(biāo)用戶的推薦列表。首先利用已有的評(píng)分?jǐn)?shù)據(jù)計(jì)算目標(biāo)用戶與其他用戶的相似度,其次通過目標(biāo)用戶的最近鄰居對(duì)某個(gè)項(xiàng)目的評(píng)分來預(yù)測(cè)目標(biāo)用戶對(duì)該項(xiàng)目的評(píng)分[6]。
相似度的計(jì)算是基于用戶的協(xié)同過濾算法中最為關(guān)鍵的一步。傳統(tǒng)的相似度度量方法有余弦相似度、修正的余弦相似度和pearson相關(guān)系數(shù)[2],本文采用實(shí)踐中實(shí)現(xiàn)效果較好的pearson相關(guān)系數(shù)來度量[7]。設(shè)I是ui和uj共同評(píng)分的項(xiàng)目集合,則 ui和uj的pearson相似度計(jì)算方法如下:
其中,ri、rj分別表示ui、uj對(duì)它們共同評(píng)分項(xiàng)目的平均評(píng)分。
根據(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)分。
現(xiàn)實(shí)世界中,輔助領(lǐng)域和目標(biāo)領(lǐng)域往往只有部分共同的用戶或項(xiàng)目,導(dǎo)致大部分現(xiàn)有的遷移學(xué)習(xí)算法在實(shí)際應(yīng)用中具有一定的局限性。為了能夠提高傳統(tǒng)協(xié)同過濾算法用戶相似度計(jì)算的準(zhǔn)確性,本文從相似度遷移的角度出發(fā),建立用戶相似度遷移模型,以更好地利用輔助領(lǐng)域的評(píng)分信息幫助目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)。
定義Asim為輔助領(lǐng)域計(jì)算得到的用戶相似度矩陣,Tsim為目標(biāo)領(lǐng)域計(jì)算得到的用戶相似度矩陣,通過加權(quán)的方法建立如下UST模型:
其中,α為平衡參數(shù),用來控制輔助領(lǐng)域的用戶相似度對(duì)目標(biāo)領(lǐng)域用戶相似度學(xué)習(xí)的遷移程度。
在UST模型中,首先利用輔助領(lǐng)域用戶評(píng)分?jǐn)?shù)據(jù)計(jì)算用戶之間的相似度,然后通過式(3)計(jì)算目標(biāo)領(lǐng)域的用戶相似度矩陣,最后對(duì)目標(biāo)領(lǐng)域未評(píng)分的項(xiàng)目進(jìn)行預(yù)測(cè)。
為了利用輔助領(lǐng)域的評(píng)分?jǐn)?shù)據(jù)來計(jì)算用戶相似度矩陣,UST模型首先通過一種填充的方法對(duì)輔助領(lǐng)域的缺失評(píng)分矩陣進(jìn)行填充,然后對(duì)填充后的矩陣計(jì)算用戶間的相似度。這樣做的好處是能夠更有效地利用輔助領(lǐng)域已知評(píng)分的信息來計(jì)算用戶的相似性度。
矩陣分解MF(Matrix Factorization)技術(shù)是一種有效的填充方式,它希望通過找到一個(gè)低秩的矩陣來逼近RA[9]。記填充后的低秩矩陣為ZA,則通過矩陣分解的方法可以將ZA近似分解成如下形式:
其中,d 表示特征的維度,d< 其中,||·||F表示 Frobenius范數(shù),⊙表示 Hadamard積,例如(W⊙R)i,j=Wi,jRi,j。 為 了 避 免 過 度 擬 合 , 在 式 (5)中 引入了正則項(xiàng),則矩陣分解的模型可以修改為: 其中,λ1、λ2為正則項(xiàng)的控制參數(shù),用來協(xié)調(diào)實(shí)際用戶評(píng)分矩陣和矩陣分解模型學(xué)習(xí)后的填充矩陣之間的訓(xùn)練誤差。為了獲得式(6)模型的最優(yōu)解,參考文獻(xiàn)[10]提出了一種交替最小二乘ALS(Alternation Least Squares)的迭代算法,它通過求 ?Γ(U,V)/?U=0 和 ?Γ(U,V)/?V=0 來交替地更新U和V,使模型逼近最小值,具體計(jì)算公式如下: 進(jìn)一步地,將輔助領(lǐng)域填充后的矩陣ZA通過式(1)計(jì)算出輔助領(lǐng)域的用戶相似度矩陣Asim。 在UST模型中,α的大小受到目標(biāo)領(lǐng)域和輔助領(lǐng)域相關(guān)性的影響。為了度量α的值,采用一種目標(biāo)領(lǐng)域和輔助領(lǐng)域的用戶特征子空間距離來估計(jì)。設(shè)正交矩陣UT和UA分別是目標(biāo)領(lǐng)域和輔助領(lǐng)域的用戶特征矩陣,則UT和UA的子空間距離可由下式計(jì)算: 其中,σ min(Z)表示Z的最小奇異值。為了獲得輔助領(lǐng)域和目標(biāo)領(lǐng)域的用戶特征子空間UT和UA,可以通過矩陣的QR分解將U分解成一個(gè)列正交的矩陣Q和上三角矩陣 T[11]: 確定了平衡參數(shù)α,根據(jù)模型式(3)計(jì)算出目標(biāo)領(lǐng)域最終的用戶相似度矩陣,最后通過式(2)為目標(biāo)用戶產(chǎn)生推薦結(jié)果。 為了驗(yàn)證UST-CF算法的有效性,選取了以下幾種經(jīng)典的非遷移學(xué)習(xí)協(xié)同過濾算法和遷移學(xué)習(xí)的協(xié)同過濾算法做比較:基于pearson相關(guān)相似性的協(xié)同過濾算法(PCC)[6];基于傳統(tǒng)矩陣分解的單個(gè)目標(biāo)領(lǐng)域協(xié)同過濾算法(RMF)[10],即本文式(6)的模型;聯(lián)合矩陣分解的協(xié)同過濾算法(CMF)。為了驗(yàn)證輔助領(lǐng)域評(píng)分矩陣填充后是否有利于提高目標(biāo)領(lǐng)域用戶相似度計(jì)算的準(zhǔn)確性,本文還對(duì)輔助領(lǐng)域未填充的UST-unImpute算法進(jìn)行比較。 采用 MovieLens(http://www.gouplens.org/node/73)站點(diǎn)的電影評(píng)分?jǐn)?shù)據(jù)集來對(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%。 推薦系統(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)集合。 對(duì)幾種比較算法的參數(shù)做如下設(shè)定:對(duì)于基于最近鄰的協(xié)同過濾算法(如 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}。 根據(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à)過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來代替,評(píng)分<4的項(xiàng)用0來代替。目標(biāo)領(lǐng)域里每個(gè)用戶至少評(píng)價(jià)過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é)同過濾算法相比較,本文提出的UST-CF算法均能取得最好的推薦效果。從表1和表2可以看出,目標(biāo)領(lǐng)域的稀疏度越低,UST-CF算法取得的優(yōu)勢(shì)越明顯,這說明對(duì)評(píng)分?jǐn)?shù)據(jù)極其稀疏的情形,UST-CF算法體現(xiàn)了更好的適應(yīng)性,能有效緩解數(shù)據(jù)稀疏的問題。從表3可以看出,即使只有部分的共同用戶,UST-CF算法也能有效利用這部分共同用戶的評(píng)分?jǐn)?shù)據(jù),改進(jìn)目標(biāo)領(lǐng)域測(cè)試集的推薦精度。 本文提出了一種用戶相似度遷移的協(xié)同過濾推薦算法,有效地緩解了目標(biāo)領(lǐng)域數(shù)據(jù)稀疏性的問題。此外,算法采用一種用戶特征子空間的距離來度量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è)有意義的研究方向。 表1 方案1實(shí)驗(yàn)結(jié)果比較 表2 方案2實(shí)驗(yàn)結(jié)果比較 表3 方案3實(shí)驗(yàn)結(jié)果比較 [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].小型微型計(jì)算機(jī)系統(tǒng),2009,30(7):1282-1288. [3]SINGH A P,GORDON G J.Relational learning via collective matrix factorization[C].Proceeding of the 14th ACM SIGKDD International 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 Learning in Collaborative Filtering for Sparsity Reduction[C].AAAI,2010(10):230-235. [6]BREESE J S,HECKERMAN D,KADIE C.Empirical analysis of predictive algorithms for collaborative filtering[C].Proceeding of the 14th Conference on Uncertainty in Artificial Intelligence,Morgan Kaufmann Publishers Inc.,1998:43-52. [7]MCLAUGHLIN M R,HERLOCKER J L.A collaborative filtering algorithm and evaluation metric that accurately model the user experience[C].Proceeding of the 27th Annual International ACM SIGIR Conference on Research and development in Information Retrieval,ACM,2004:329-336. [8]SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C].Proceeding 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 Pattern Recognition,CVPR 2005,2005(2):316-322. [10]李改,李磊.基于矩陣分解的協(xié)同過濾算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(30):4-7.3.3 目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)
4 實(shí)驗(yàn)結(jié)果和分析
4.1 實(shí)驗(yàn)數(shù)據(jù)集
4.2 評(píng)價(jià)標(biāo)準(zhǔn)
4.3 參數(shù)設(shè)定
4.4 實(shí)驗(yàn)方案和結(jié)果分析