柯良文,王 靖
(華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,福建 廈門361021)
協(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)域的知識進(jìn)行遷移來幫助提高目標(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)域共同用戶的相似度進(jìn)行遷移。為了能夠充分利用輔助領(lǐng)域的用戶評分信息,本文的模型在輔助領(lǐng)域里采用先填充后計算用戶相似度的策略。另一方面,通過一種用戶特征子空間的距離來度量模型中的平衡參數(shù),一定程度上消除了人為調(diào)控的局限性。
首先給出本文中所使用的符號及含義。在輔助領(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表示該項已被評分。
基于用戶的協(xié)同過濾算法根據(jù)其他用戶的觀點產(chǎn)生目標(biāo)用戶的推薦列表。首先利用已有的評分?jǐn)?shù)據(jù)計算目標(biāo)用戶與其他用戶的相似度,其次通過目標(biāo)用戶的最近鄰居對某個項目的評分來預(yù)測目標(biāo)用戶對該項目的評分[6]。
相似度的計算是基于用戶的協(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對它們共同評分項目的平均評分。
根據(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對其已知評分項目的平均評分。
現(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模型:
其中,α為平衡參數(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)域未評分的項目進(jìn)行預(yù)測。
為了利用輔助領(lǐng)域的評分?jǐn)?shù)據(jù)來計算用戶相似度矩陣,UST模型首先通過一種填充的方法對輔助領(lǐng)域的缺失評分矩陣進(jìn)行填充,然后對填充后的矩陣計算用戶間的相似度。這樣做的好處是能夠更有效地利用輔助領(lǐng)域已知評分的信息來計算用戶的相似性度。
矩陣分解MF(Matrix Factorization)技術(shù)是一種有效的填充方式,它希望通過找到一個低秩的矩陣來逼近RA[9]。記填充后的低秩矩陣為ZA,則通過矩陣分解的方法可以將ZA近似分解成如下形式:
其中,d 表示特征的維度,d< 其中,||·||F表示 Frobenius范數(shù),⊙表示 Hadamard積,例如(W⊙R)i,j=Wi,jRi,j。 為 了 避 免 過 度 擬 合 , 在 式 (5)中 引入了正則項,則矩陣分解的模型可以修改為: 其中,λ1、λ2為正則項的控制參數(shù),用來協(xié)調(diào)實際用戶評分矩陣和矩陣分解模型學(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ìn)一步地,將輔助領(lǐng)域填充后的矩陣ZA通過式(1)計算出輔助領(lǐng)域的用戶相似度矩陣Asim。 在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]: 確定了平衡參數(shù)α,根據(jù)模型式(3)計算出目標(biāo)領(lǐng)域最終的用戶相似度矩陣,最后通過式(2)為目標(biāo)用戶產(chǎn)生推薦結(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算法進(jìn)行比較。 采用 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%。 推薦系統(tǒng)的質(zhì)量由預(yù)測結(jié)果的精度決定。實驗中,采用兩種廣泛的評價方法:均方根誤差RMSE(Root Mean Square Error)和平均絕對誤差 MAE(Mean Absolute Error),具體計算方式如下: 其 中 ,pi,j、ri,j分 別 表 示 預(yù) 測 評 分 值 和 實 際 評 分 值 ,TE表示訓(xùn)練集的下標(biāo)集合。 對幾種比較算法的參數(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}。 根據(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部以上的電影。進(jìn)一步地劃分目標(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ù)進(jìn)行如下轉(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ù),改進(jìn)目標(biāo)領(lǐng)域測試集的推薦精度。 本文提出了一種用戶相似度遷移的協(xié)同過濾推薦算法,有效地緩解了目標(biāo)領(lǐng)域數(shù)據(jù)稀疏性的問題。此外,算法采用一種用戶特征子空間的距離來度量UST模型中的平衡參數(shù),大大提高了模型的智能性。本文算法只考慮了對輔助領(lǐng)域的用戶相似度進(jìn)行遷移,因此如何改進(jìn)模型,使模型能夠?qū)o助領(lǐng)域的其他知識進(jìn)行遷移(如用戶的評價特征、項目的屬性等),進(jìn)一步提高目標(biāo)領(lǐng)域的推薦精度,是一個有意義的研究方向。 表1 方案1實驗結(jié)果比較 表2 方案2實驗結(jié)果比較 表3 方案3實驗結(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].小型微型計算機系統(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].計算機工程與應(yīng)用,2011,47(30):4-7.3.3 目標(biāo)領(lǐng)域用戶相似度的學(xué)習(xí)
4 實驗結(jié)果和分析
4.1 實驗數(shù)據(jù)集
4.2 評價標(biāo)準(zhǔn)
4.3 參數(shù)設(shè)定
4.4 實驗方案和結(jié)果分析