袁正午,陳 然
(重慶郵電大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065)
隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算等技術(shù)的快速發(fā)展,全球數(shù)據(jù)量呈爆炸式增長,大數(shù)據(jù)時(shí)代已經(jīng)到來。“信息過載”[1]是目前人們所面臨的主要問題,所謂的“信息過載”就是社會信息數(shù)據(jù)量超過了個(gè)人或系統(tǒng)所能接受、處理或有效利用的范圍,并導(dǎo)致故障的狀況。在電商、音樂視頻、新聞等領(lǐng)域頻發(fā)這種問題。
個(gè)性化推薦引擎是信息過濾的一種手段,在解決信息過載問題中具有重要的應(yīng)用與研究價(jià)值。個(gè)性化推薦系統(tǒng)中最常使用的推薦技術(shù)是基于協(xié)同過濾的推薦技術(shù),而對于傳統(tǒng)協(xié)同過濾算法來說,可以分為基于用戶的協(xié)同過濾算法和基于項(xiàng)目的協(xié)同過濾算法[2],但傳統(tǒng)的協(xié)同過濾算法也存在一些問題。首先其算法自身就存在數(shù)據(jù)稀疏性[3]問題,當(dāng)用戶數(shù)和項(xiàng)目數(shù)急劇增長時(shí),評分矩陣變得極其稀疏,在這種情況下其鄰居用戶的推薦質(zhì)量是非常差的;其次算法的相似性度量過于簡單,例如余弦相似度、皮爾遜(Pearson)相似性度[4],這些度量指標(biāo)都只能描述數(shù)據(jù)某一方面的相似程度,并不能全面地概括數(shù)據(jù)之間的相似程度。對此,許多學(xué)者提出了自己的解決方案。為了解決數(shù)據(jù)稀疏情況下推薦精度低的問題,黃創(chuàng)光等[5]提出了一種不確定近鄰的協(xié)同過濾推薦算法,根據(jù)推薦系統(tǒng)應(yīng)用的實(shí)際情況,動態(tài)地選擇推薦的度量方法來對預(yù)測結(jié)果進(jìn)行平衡的推薦。文獻(xiàn)[6]在計(jì)算用戶評分相似度時(shí)融合用戶人口統(tǒng)計(jì)特征產(chǎn)生總體相似度,并引入信任機(jī)制,將總體相似度和信任度相結(jié)合的混合值作為推薦權(quán)重,為用戶進(jìn)行推薦。文獻(xiàn)[7]提出了使用奇異值分解(Singular Value Decomposition, SVD)的方法,來對稀疏的用戶-物品矩陣進(jìn)行降維,并挖掘降維后的矩陣與原始矩陣之間的關(guān)系,有效解決矩陣信息密度過低的問題。任看看等[8]將Jaccard相似性系數(shù)與用戶在共同評價(jià)項(xiàng)目上的評分差異度相融合,從而獲取更加精確的用戶相似度矩陣。Al-Shamri等[9]提出了基于模糊權(quán)重[10]的相似性的策略,該方法將單一的評分?jǐn)?shù)值模糊化,從一定程度上消除了推薦結(jié)果的不準(zhǔn)確性。胡偉健等[11]提出了適應(yīng)用戶興趣變化的改進(jìn)型協(xié)同過濾算法,根據(jù)時(shí)間轉(zhuǎn)移興趣變化的特點(diǎn),改進(jìn)了相似度的度量方法。賈冬艷等[12]提出了基于雙重鄰居選取策略的協(xié)同過濾推薦算法,以雙重指標(biāo)來確定用戶的鄰居集合,這種策略提高了鄰居集合的準(zhǔn)確性,使得推薦更加可靠。王明佳等[13]對項(xiàng)目的特征進(jìn)行分析,引入項(xiàng)目特征矩陣, 然后結(jié)合余弦相似性和基于用戶對項(xiàng)目屬性偏好相似性綜合計(jì)算用戶的相似性。Polatidis等[14]提出了用戶的多分層模型,以一種全新的度量方法來確定用戶之間的相似度,提高了用戶推薦精度。張南等[15]考慮了用戶評分差值、用戶全局評分偏好和用戶共同評分物品數(shù)等三個(gè)因素提出了基于改進(jìn)型啟發(fā)式相似度模型的協(xié)同過濾推薦方法。這些方法在一定程度上提高了推薦的精度,同時(shí)也減少了矩陣稀疏性對推薦算法的影響,但沒有全面地挖掘用戶潛在的相似度,度量方法也存在過于單一和片面的情況。
本文算法主要從改進(jìn)相似性度量的方法出發(fā),充分挖掘用戶之間的潛在的相似度。該方法首先將用戶評分模糊化求出用戶模糊偏好并結(jié)合傳統(tǒng)的用戶相似度來度量用戶相似程度,以此來克服傳統(tǒng)協(xié)同過濾算法相似度度量的各種缺點(diǎn);其次不以用戶評分相似度作為衡量用戶之間相似的唯一標(biāo)準(zhǔn),而是在此基礎(chǔ)上加入了用戶興趣相似度及用戶特征相似度,當(dāng)用戶評分較少(數(shù)據(jù)較為稀疏時(shí))甚至用戶公共評分項(xiàng)為空時(shí),該方法通過用戶興趣相似度和用戶特征相似度也能一定程度度量用戶的相似程度,從而杜絕了用戶之間零相似度情況的發(fā)生;最后根據(jù)用戶評分?jǐn)?shù)量來動態(tài)地融合用戶興趣相似度和用戶特征相似度,使得算法更加靈活多變??傮w來說,該算法有效地緩解了數(shù)據(jù)稀疏性問題和單一度量方法的影響。
傳統(tǒng)協(xié)同過濾算法首先計(jì)算用戶或項(xiàng)目之間的相似度,然后選擇與目標(biāo)用戶或項(xiàng)目相似度最大的一組用戶或項(xiàng)目作為其最近鄰居,最后根據(jù)這些鄰居產(chǎn)生推薦結(jié)果。
用戶評分?jǐn)?shù)據(jù)Rmn用矩陣表示,m表示參與評分的m個(gè)用戶,n表示評分矩陣中的n個(gè)項(xiàng)目,其中Ri,c代表用戶i對項(xiàng)目c的評分,用戶未評分的項(xiàng)目Ri,c記為0。
計(jì)算相似度作為協(xié)同過濾算法最核心的部分,傳統(tǒng)的主要有3種:余弦相似度、修正的余弦相似度和皮爾遜相似度。
1)余弦相似度。
余弦相似性是一種向量夾角的表示方法,將評分矩陣的每一行看成用戶的一個(gè)評分向量。
(1)
2)修正的余弦相似度。
修正的余弦相似度,在每個(gè)維度減去均值進(jìn)行修正操作,得到了用戶的修正余弦相似性。
(2)
3)皮爾遜相似度。
皮爾遜相似度,主要用于度量兩個(gè)用戶i和j之間的線性相關(guān)程度。
(3)
計(jì)算完用戶之間的相似度,推薦系統(tǒng)會根據(jù)目標(biāo)用戶與其他用戶之間的相似度按大小排序,選取前L個(gè)用戶作為目標(biāo)用戶的最近鄰居集合。對于用戶的最近鄰的集合產(chǎn)生預(yù)測評分的過程由式(4)給出:
(4)
Pi,c表示用戶i對項(xiàng)目c的推薦評分,sim(i,j)表示用戶之間的某種相似度,L表示用戶以某種相似度選出的用戶鄰近集合,j表示用戶鄰近集合中的任意元素。
在推薦系統(tǒng)中Ri,c表示用戶i對項(xiàng)目c的評分,Ri,c的大小體現(xiàn)了用戶i對項(xiàng)目c的偏好程度,Ri,c的值越大說明用戶i對項(xiàng)目c的偏好程度越大。在現(xiàn)實(shí)生活中,大多評價(jià)系統(tǒng)要求用戶采用數(shù)值的形式對項(xiàng)目進(jìn)行評價(jià),但其不能精確表達(dá)用戶偏好程度。例如,某電影網(wǎng)站采用5分制評價(jià)標(biāo)準(zhǔn),1分代表最差,5分代表最好,某用戶評分為4分,就不能很快地得出用戶對該影片的偏好程度,只能從評分出發(fā),大致預(yù)測該用戶可能很大程度會喜歡該影片,但偏好程度具體為多少就不得而知。在這種情況下,本文將單一的數(shù)值豐富化,采用模糊邏輯的方法來表達(dá)用戶偏好程度。
定義1 設(shè)U是一個(gè)論域,如果給定了一個(gè)映射:μA:U→[0,1],x→μA(x)∈[0,1],則確定了一個(gè)模糊集A,其映射μA稱為模糊集A的隸屬函數(shù),μA稱為x對模糊集A的隸屬度。
對評分模糊化,采用圖1的定義方法。
μgood(x)=(x-1)/4; 1≤x≤5
(5)
μbad(x)=(5-x)/4; 1≤x≤5
(6)
圖1 評分三角模糊集隸屬函數(shù) Fig. 1 Membership function for score triangular fuzzy set
例如,某用戶對一項(xiàng)目的評分為4分,則他對該項(xiàng)目的模糊偏好程度為(0.75,0.25),前者表示用戶對該項(xiàng)目的喜愛程度,后者表示用戶對該項(xiàng)目不喜好的程度。其模糊偏好程度的計(jì)算如下:
μgood=(4-1)/4=0.75
μbad=(5-4)/4=0.25
根據(jù)式(5)、(6),可以得到每個(gè)用戶的模糊偏好程度;而對于任意的兩個(gè)用戶,他們之間的差異程度往往與每個(gè)人的對同一項(xiàng)目的偏好程度息息相關(guān)。兩用戶對同一項(xiàng)目的偏好程度差距越大,即他們之間的評分差異也越大。至此,本文用Ps(i,j)來衡量兩個(gè)用戶i、j對公共項(xiàng)目的平均偏好相似度,可以由式(7)、(8)、(9)得出:
(7)
(8)
(9)
在計(jì)算用戶評分相似性sima(i,j)的時(shí)候,同時(shí)結(jié)合用戶評分的修正余弦相似度和用戶評分的Jarccad相似度以此來體現(xiàn)每個(gè)用戶對項(xiàng)目量綱的平衡和用戶之間共同評分項(xiàng)目所占的比例。
sima(i,j)=sim(i,j)adcos×Ps(i,j)×Jaccard(i,j)
(10)
Jaccard(i,j)=|Ii∩Ij|/|Ii∪Ij|
(11)
其中:Ii表示用戶i的評分項(xiàng)目集合,Ii∩Ij表示用戶i、j共同評論的項(xiàng)目集合,Ii∪Ij表示用戶i、j所評論項(xiàng)目集合。
在傳統(tǒng)的協(xié)同過濾推薦算法中,通常沒有將用戶興趣相似度考慮在內(nèi),但是在現(xiàn)實(shí)生活中,用戶的興趣相似度往往對整個(gè)推薦系統(tǒng)有著比較重要的作用。例如某個(gè)用戶他喜歡的影片類型為動作、喜劇,現(xiàn)在有一部電影,它類別可以歸為動作、冒險(xiǎn)和喜劇等,那么該用戶對影片感興趣的程度很大。這樣,可以認(rèn)為如果兩用戶i、j的興趣相似度非常大,j向i進(jìn)行項(xiàng)目推薦,那么i對推薦的項(xiàng)目感興趣的程度也很大?;诖送普摚x用戶對每類項(xiàng)目的興趣權(quán)重,以此組成用戶的興趣向量。
(12)
(13)
在式(12)、(13)中,interesti,t表示用戶i對類別t的項(xiàng)目的興趣度,avgi(t)表示用戶i對類別t的平均評分,T表示類別集合,Nt表示用戶i評論類別為t的項(xiàng)目數(shù)量,N表示用戶i的所有評分項(xiàng)目數(shù)量,α表示興趣權(quán)重,It表示用戶i評論類別為t的項(xiàng)目的集合,Ri,c表示用戶i對項(xiàng)目c的評分。
例如某用戶根據(jù)上面的公式可以得到對各類別影片的感興趣程度,對感興趣程度進(jìn)行歸一化處理,得到Action、Adventure、Crime、Sci-Fi等興趣權(quán)重分別為24%、15%、12%、15%…,由此,可以看出該用戶比較鐘情于動作片。至此,可以得出每個(gè)用戶興趣向量,而對任意的兩個(gè)用戶i、j來說,其用戶的興趣相似度simb(i,j)可以用式(14)表示:
(14)
其中,interesti,t表示用戶i對類別t的項(xiàng)目的興趣度,T表示類別集合。
人的興趣愛好很大程度上取決于人的特征屬性,其中這些屬性包括年齡、性別、 職業(yè)、生活的區(qū)域位置等。具有不同特征屬性的人,其興趣愛好往往天差地別,例如一個(gè)家住城市職業(yè)是程序員的年輕男孩與一個(gè)家住農(nóng)村職業(yè)是農(nóng)民的老婆婆,他們之間的興趣愛好肯定有很大的差別,男孩可能比較熱衷于動漫、運(yùn)動、科技等,但老婆婆可能比較喜歡古典、鄉(xiāng)村、健康養(yǎng)生等。因此,本文算法利用這些用戶的特征屬性,充分挖掘用戶之間的隱式相似度。由于年齡、性別、職業(yè)、所在區(qū)域郵編4個(gè)基本特征屬性屬于比較典型的特征,所以本文采用以上4個(gè)特征屬性來計(jì)算用戶的特征相似性。
首先,將用戶的特征屬性轉(zhuǎn)化成特征向量R(age,sex,work,place),對于特征屬性取值可分為離散的和連續(xù)的,對此,作如下定義:用戶的年齡取值是連續(xù)的整數(shù),所以把用戶年齡劃分成五個(gè)典型的年齡階段,分別為:1對應(yīng)0 ~ 18 歲、2對應(yīng)19 ~ 35 歲、 3對應(yīng)36 ~ 45歲、 4對應(yīng)46 ~ 60歲、5對應(yīng)60歲以上;用戶的性別取值是離散的,用m和f對應(yīng),m表示用戶為男, f表示用戶為女;用戶的職業(yè)取值是離散的,其中取值表示為:occu= {occu1,occu2,…,occun},其中occun代表具體某個(gè)職業(yè);對于所在區(qū)域的編碼,由于位數(shù)多且規(guī)律性較強(qiáng),所以選擇編碼的前3位數(shù)字作為用戶的所在的區(qū)域。例如某個(gè)用戶的屬性為1|24|M|technician|85711,則該用戶所對應(yīng)特征向量為(2,m,technician,857)。
其次,計(jì)算每兩個(gè)用戶之間的相異度。
設(shè)用戶i、j的特征向量分別為Ri(agei,sexi,worki,placei),Rj(agej,sexj,workj,placej)。
表1 年齡相異度Tab. 1 Age disparity
(15)
最后,得到用戶i、j的特征相似度為:
(16)
本文將得到的用戶興趣相似度和用戶特征相似度進(jìn)行動態(tài)的融合得到用戶類型相似度,其融合因子跟隨用戶的評分?jǐn)?shù)量變化而變化。當(dāng)用戶的評分?jǐn)?shù)量少于給定閾值d1時(shí),用戶興趣相似度與用戶特征相似度的融合因子隨用戶評論數(shù)量的減少而減小。這種情況可以理解為當(dāng)用戶評分?jǐn)?shù)量較少時(shí),用戶的興趣相似度不是很明顯,就可以從特征相似度來分別用戶,此時(shí)降低融合因子即適當(dāng)減少用戶興趣相似度的權(quán)重,同時(shí)增加用戶的特征相似度的權(quán)重來區(qū)別用戶;當(dāng)用戶評論的數(shù)量大于d1同時(shí)小于給定閾值d2時(shí),其融合因子穩(wěn)定在一個(gè)特定的值;當(dāng)用戶評論的數(shù)量大于d2時(shí);用戶此時(shí)評論數(shù)量較多,只以用戶的評分相似度為主來進(jìn)行推薦。這種策略使得用戶之間的相似度呈一種不平衡的分布,隨著用戶評分?jǐn)?shù)量的增長,用戶的鄰居集合不固定,確保算法更加靈活。
(17)
其中:count表示用戶的評分?jǐn)?shù)量,β為固定的融合因子。
最后將三者融合,得到用戶混合相似度:
sim(i,j)=λsima(i,j)+(1-λ)simt(i,j)
(18)
其中:sim(i,j)表示用戶i、j的相似度,sima(i,j)表示用戶i、j的評分相似度,simt(i,j)表示用戶i、j的類型相似度,λ表示平衡因子。
改進(jìn)后的基于用戶的協(xié)同過濾推薦算法的具體步驟如下。
輸入:用戶-項(xiàng)目評分矩陣、項(xiàng)目信息、用戶信息、目標(biāo)用戶i、目標(biāo)項(xiàng)目c;
輸出:目標(biāo)用戶i對未評分目標(biāo)項(xiàng)目c的預(yù)測評分。
步驟1 根據(jù)用戶-項(xiàng)目評分矩陣和式(10),計(jì)算用戶的之間的評分相似度sima(i,j);
步驟2 根據(jù)用戶-項(xiàng)目評分矩陣、項(xiàng)目信息和式(14)計(jì)算用戶之間的興趣相似性,得到用戶興趣相似性simb(i,j);
步驟3 根據(jù)用戶特征信息和式(16)計(jì)算用戶之間的特征相似性,得到用戶特征相似性simc(i,j);
步驟4 根據(jù)式(17),根據(jù)用戶評論數(shù)量動態(tài)地融合用戶興趣相似性和用戶特征相似性,得到用戶類型相似度simt(i,j);
步驟5 根據(jù)式(18),將用戶評分相似度和用戶類型相似度進(jìn)行融合,得到混合的相似性sim(i,j);
步驟6 通過用戶混合相似性大小得到用戶i的鄰居集L;
步驟7 根據(jù)式(4)計(jì)算用戶i對目標(biāo)項(xiàng)目c的預(yù)測評分Pi,c。
本文的實(shí)驗(yàn)數(shù)據(jù)采用由明尼蘇達(dá)州大學(xué)在GroupLens研究項(xiàng)目中收集的MovieLens公用數(shù)據(jù)集,GroupLens站點(diǎn)提供了不同大小的數(shù)據(jù)集,本文采用ml-100k數(shù)據(jù)集,該數(shù)據(jù)集包含943個(gè)用戶對1 628部電影的100 000個(gè)評分,且評分范圍為1~5,其數(shù)據(jù)集的稀疏性為1~100 000/(943×1 682) = 0.936 953,該文件主要存儲在u.data中。其中,本文還涉及到兩個(gè)很重要的文件u.item和u.user:u.item文件描述了這1 683部電影的相關(guān)屬性,包含電影id、電影名、電影上映時(shí)間、電影鏈接和最重要的電影類別;u.user文件描述了用戶的特征屬性,包括年齡、性別、 職業(yè)、生活的區(qū)域郵編等。首先進(jìn)行數(shù)據(jù)集的劃分,隨機(jī)地將原有數(shù)據(jù)分為80%的u.base和20%的u.test,其中u.base用于數(shù)據(jù)的訓(xùn)練,u.test用于數(shù)據(jù)的測試。本文算法為多層次混合協(xié)同過濾(User Score and Interest and Characteristic Cooperative Filtering, USICCF)推薦算法。
在推薦系統(tǒng)中,有很多不同的評價(jià)方式來預(yù)測推薦是否成功,本文采用平均絕對偏差(Mean Absolute Error, MAE)作為推薦準(zhǔn)確度評價(jià)標(biāo)準(zhǔn)。MAE通過計(jì)算目標(biāo)用戶的預(yù)測評分與實(shí)際評分之間的偏差度量預(yù)測的準(zhǔn)確性,因而MAE指標(biāo)的值越小,推薦質(zhì)量越高。假設(shè)推薦系統(tǒng)預(yù)測項(xiàng)目評分集合為{pre1,pre2,…,pren},項(xiàng)目實(shí)際評分集合為{real1,real2,…,realn},MAE計(jì)算公式如下:
)/n
(19)
實(shí)驗(yàn)在基于Scala的IDEA仿真環(huán)境下,采用十折交叉驗(yàn)證的方式進(jìn)行。主要采用MAE評價(jià)指標(biāo)來證明本文所提算法的有效性,首先通過實(shí)驗(yàn)確定其未知參數(shù),其次對比分析本文算法和其他幾種算法的評價(jià)指標(biāo)。本文取d1=15、d2=150進(jìn)行下面的實(shí)驗(yàn)確定未知參數(shù)的取值。
實(shí)驗(yàn)一 未知參數(shù)的確定。
1)興趣權(quán)重α的確定。
用戶興趣權(quán)重主要用于調(diào)整用戶類別平均分占比和類別數(shù)量占比的權(quán)重,實(shí)驗(yàn)通過改變興趣權(quán)重α和鄰居集合數(shù)K的取值來觀測MAE的變化,其中α的值以0.1為步長從0變化到1,鄰居集合數(shù)量K以10為步長從10變化到60,USICCF的平均絕對誤差MAE如圖2所示。
圖2 興趣權(quán)重α的確定 Fig. 2 Determination of interest weight α
從圖2可以看出,隨著鄰居數(shù)量的增加,當(dāng)興趣權(quán)重處于0.6左右時(shí),其MAE值最小,至此,本文選取α=0.6。
2)動態(tài)融合因子β的確定。
用戶類型相似度的動態(tài)融合因子主要用于調(diào)整用戶興趣相似度和用戶特征相似度的權(quán)重,確定β的值后,可以根據(jù)用戶的評論數(shù)量動態(tài)的確定融合因子。實(shí)驗(yàn)通過改變?nèi)诤弦蜃应潞袜従蛹蠑?shù)K的取值來觀測MAE的變化,其中β的值以0.1為步長從0變化到1,鄰居集合數(shù)量K以10為步長從10變化到60,USICCF的平均絕對誤差MAE如圖3所示。
圖3 動態(tài)融合因子β的確定 Fig. 3 Determination of dynamic fusion factor β
從圖3可以看出,當(dāng)動態(tài)融合因子小于0.9左右時(shí),其MAE隨融合因子的增加而減少,當(dāng)動態(tài)融合因子大于0.9左右時(shí),其MAE隨融合因子的增加而增加,并且可以得出隨用戶的鄰居數(shù)逐漸增加,MAE呈下降趨勢。至此,本文選取β=0.9。
3)USICCF平衡因子λ的確定。
用戶混合相似度平衡因子λ主要調(diào)整用戶評分相似度和用戶類型相似度的權(quán)重。實(shí)驗(yàn)通過改變?nèi)诤掀胶庖蜃应撕袜従蛹蠑?shù)K的值來觀測MAE的變化,其中λ的值以0.1為步長從0變化到1,鄰居集合數(shù)量K以10為步長從10變化到60,混合算法的平均絕對誤差MAE如圖4所示。
圖4 USICCF融合因子λ的確定 Fig. 4 Determination of fusion factor λ of USICCF
從圖4可以看出,隨著鄰居集合數(shù)K的增加,相似度平衡因子λ在0.9附近時(shí),MAE的值趨于最小,且前期MAE隨平衡因子增加呈遞減的趨勢,后期隨融合因子增加呈遞增的趨勢。因此本文取λ=0.9進(jìn)行下面的實(shí)驗(yàn),來對比改進(jìn)的多層次混合推薦算法與幾種協(xié)同過濾算法的優(yōu)劣。
實(shí)驗(yàn)二 比較USICCF與幾種協(xié)同過濾算法的優(yōu)劣。
本文將改進(jìn)后的混合推薦算法與幾種協(xié)同過濾算法進(jìn)行對比,通過改變鄰居集合數(shù)K值來比較MAE的變化,鄰居集合數(shù)量K以10為步長從10變化到100,其平均絕對誤差MAE變化結(jié)果如圖5所示。對比算法如下:
1)CSCF(Cosine-based Similarity Cooperative Filtering)為采用余弦相關(guān)系數(shù)計(jì)算相似性的用戶協(xié)同過濾算法;
2)ACSCF(Adjusted Cosine-based Similarity Cooperative Filtering)為采用修正余弦相關(guān)系數(shù)計(jì)算相似性的用戶協(xié)同過濾算法;
3)文獻(xiàn)[8]提出的修正的 Jaccard相似性系數(shù)的協(xié)同過濾(Modified K-pow Jaccard similarity Cooperative Filtering, MKJCF)算法;
4)NUSCF(Native User Score Cooperative Filtering)為只以用戶的評分相似性作為唯一評判用戶相似度的標(biāo)準(zhǔn)的協(xié)同過濾算法。
從圖5的實(shí)驗(yàn)結(jié)果可以看出,隨著鄰居集合數(shù)目的增加,圖中5種算法的MAE呈下降趨勢,并且隨著鄰居數(shù)目的增加MAE的下降趨勢越來越平緩。其中,對于傳統(tǒng)協(xié)同過濾算法,在前期CSCF算法比ACSCF算法的MAE值要小,但隨著鄰居數(shù)的增加,ACSCF算法MAE值要略小于CSCF算法。MKJCF算法和NUSCF算法,它們的MAE都要小于傳統(tǒng)的協(xié)同過濾算法,且小于的程度隨鄰居數(shù)量的增加呈遞減趨勢。隨著鄰居數(shù)目的增加,本文提供的多層次混合推薦算法USICCF的MAE都要小于其他幾種算法;尤其在K較小時(shí),其MAE要明顯低于其他幾種算法:較ACSCF算法來說,在MAE上減少了大約5%;相對于CSCF,在MAE上性能大約提升3%;對于改進(jìn)后的MKJCF算法,USICCF也存在優(yōu)勢,隨著鄰居集合數(shù)的增加MAE也平均下降了 1%左右;較NUSCF算法來說,USICCF算法也存在略微的優(yōu)勢,隨著鄰居集合數(shù)量的增加,USICCF算法的MAE值都要低于NUSCF算法。最后,本文算法隨著鄰居數(shù)目的增加在MAE上還有逐漸下降的趨勢。
圖5 USICCF與幾種協(xié)同過濾算法的MAE Fig. 5 MAE comparison of USICCF and several cooperative filtering algorithms
針對傳統(tǒng)協(xié)同過濾中的數(shù)據(jù)稀疏性問題,本文改進(jìn)得到一種多層次混合相似度的協(xié)同過濾推薦算法,該方法在一定程度上減少數(shù)據(jù)稀疏帶來的負(fù)面影響,實(shí)驗(yàn)結(jié)果表明與傳統(tǒng)算法相比,尤其在鄰居數(shù)量較少的情況下,其推薦精度有明顯優(yōu)勢,并且比其他幾種改進(jìn)的協(xié)同過濾算法的表現(xiàn)也要好。本文方法雖然緩解了算法稀疏性,但算法本身還存在冷啟動和拓展性問題,因此需重點(diǎn)研究解決冷啟動問題和算法并行化以提高算法的時(shí)效。
參考文獻(xiàn)(References)
[1] 王娜,任婷.移動社交網(wǎng)站中的信息過載與個(gè)性化推薦機(jī)制研究[J]. 情報(bào)雜志,2015,34(8):190-194.(WANG N, REN T. Information overload and personalized recommendations mechanism in the mobile social networking sites [J]. Journal of Intelligence, 2015,34(8):190-194.)
[2] SAWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms [C]// WWW ’01: Proceedings of the 10th International Conference on World Wide Web. New York: ACM, 2001:285-295.
[3] 孫小華.協(xié)同過濾系統(tǒng)的稀疏性與冷啟動問題研究[D].杭州:浙江大學(xué),2005.(SUN X H. Research on sparseness and cold start of collaborative filtering system [D]. Hangzhou: Zhejiang University, 2005.)
[4] 冷亞軍,陸青,梁昌勇.協(xié)同過濾推薦技術(shù)綜述[J].模式識別與人工智能,2014,27(8):720-734.(LENG Y J, LU Q, LIANG C Y. Survey of recommendation based on collaborative filtering [J]. Pattern Recognition and Artificial Intelligence, 2014, 27(8): 720-734.)
[5] 黃創(chuàng)光,印鑒,汪靜,等.不確定近鄰的協(xié)同過濾推薦算法[J].計(jì)算機(jī)學(xué)報(bào), 2010,33(8):1369-1377.(HUANG C G, YIN J, WANG J, et al. Uncertain neighbors’ collaborative filtering recommendation algorithm [J]. Chinese Journal of Computers, 2010, 33(8): 1369-1377.)
[6] 時(shí)念云,葛曉偉,馬力.基于用戶人口統(tǒng)計(jì)特征與信任機(jī)制的協(xié)同推薦[J]. 計(jì)算機(jī)工程, 2016,42(6):180-184.(SHI N Y, GE X W, MA L. Collaborative recommendation based on user demographics and trust mechanism [J]. Computer Engineering, 2016, 42(6): 180-184.)
[7] YU K, XU X, ESTER M, et al. Feature weighting and instance selection for collaborative filtering: an information-theoretic approach [J]. Knowledge and Information Systems, 2003, 5(2): 201-224.
[8] 任看看,錢雪忠.協(xié)同過濾算法中的用戶相似性度量方法研究[J].計(jì)算機(jī)工程,2015,41(8):18-22.(REN K K, QIAN X Z. Research on user similarity measure method in collaborative filtering algorithm [J]. Computer Engineering, 2015, 41(8): 18-22.)
[9] AL-SHAMRI M Y H, AL-ASHWAL N H. Fuzzy-weighted similarity measures for memory-based collaborative recommender systems [J]. Journal of Intelligent Learning Systems and Applications, 2014, 6(1): 1-10.
[10] 陳雪,黃智力,羅鍵.基于相對相似度關(guān)系的三角模糊數(shù)型不確定多屬性決策法[J].控制與決策,2016,31(12):2232-2240.(CHEN X, HUANG Z L, LUO J. Approach for triangular fuzzy number-based uncertain multi-attribute decision making based on relative similarity degree relation [J]. Control and Decision, 2016, 31(12): 2232-2240.)
[11] 胡偉健,滕飛,李靈芳.適應(yīng)用戶興趣變化的改進(jìn)型協(xié)同過濾算法[J]. 計(jì)算機(jī)應(yīng)用,2016,36(8):2087-2091.(HU W J, TENG F, LI L F. Improved adaptive collaborative filtering algorithm to change of user interest [J]. Journal of Computer Applications, 2016, 36(8): 2087-2091.)
[12] 賈冬艷,張付志.基于雙重鄰居選取策略的協(xié)同過濾推薦算法[J].計(jì)算機(jī)研究與發(fā)展,2013,50(5):1076-1084.(JIA D Y, ZHANG F Z. A collaborative filtering recommendation algorithm based on double neighbor choosing strategy [J]. Journal of Computer Research and Development, 2013, 50(5): 1076-1084.)
[13] 王明佳,韓景倜.基于用戶對項(xiàng)目屬性偏好的協(xié)同過濾算法[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(6):106-110.(WANG M J, HAN J T. Collaborative filtering algorithm based on item attribute preference [J]. Computer Engineering and Applications, 2017, 53(6): 106-110.)
[14] POLATIDIS N, GEORGIADIS C K. A multi-level collaborative filtering method that improves recommendations [J]. Expert Systems with Applications, 2016,48: 100-110.
[15] 張南,林曉勇,史晟輝.基于改進(jìn)型啟發(fā)式相似度模型的協(xié)同過濾推薦方法[J].計(jì)算機(jī)應(yīng)用,2016,36(8):2246-2251.(ZHANG N, LIN X Y, SHI S H. Collaborative filtering recommendation method based on improved heuristic similarity model [J]. Journal of Computer Applications, 2016, 36(8): 2246-2251.)
This work is partially supported by the National Natural Science Foundation of China (61471077), the Program for Changjiang Scholars and Innovative Research Teams in Universities (IRT1299).
YUANZhengwu, born in 1968, Ph. D., professor. His research interests include technology of remote sensing, big data, cloud computing.
CHENRan, born in 1992,M.S. candidate. His research interests include data mining, recommendation algorithm.