,,,
(西北農(nóng)林科技大學(xué) 信息工程學(xué)院,西安 710000)
協(xié)同過(guò)濾推薦算法的關(guān)鍵步驟是計(jì)算用戶或項(xiàng)目之間的相似度[1]。傳統(tǒng)的相似度計(jì)算方法有余弦相似度、相關(guān)相似度以及修正的余弦相似度等[2-4]。傳統(tǒng)相似度計(jì)算方法計(jì)算的相似度結(jié)果存在諸多問(wèn)題,目前,研究者從多個(gè)方面對(duì)相似度計(jì)算進(jìn)行了改進(jìn)[5-7]。如文獻(xiàn)[8]借用Sigmoid函數(shù)對(duì)相似度計(jì)算進(jìn)行了改進(jìn),從一定程度上提高了準(zhǔn)確率;文獻(xiàn)[9]在文獻(xiàn)[8]的基礎(chǔ)上從用戶評(píng)分相似度、興趣的傾向相似度、置信度等方面對(duì)相似度計(jì)算方法進(jìn)行了改進(jìn),提出了基于用戶屬性和評(píng)分的協(xié)同過(guò)濾算法(Collaborative Filtering Recommendation Algorithm Based on User Attributes and Scores,US-CF),但相似度計(jì)算結(jié)果仍存在很多問(wèn)題。在評(píng)分?jǐn)?shù)據(jù)豐富的情況下,傳統(tǒng)相似度計(jì)算方法能夠較為準(zhǔn)確地計(jì)算出目標(biāo)間的相似度[10]。然而在實(shí)際推薦過(guò)程中可用的評(píng)分?jǐn)?shù)據(jù)稀少,使得系統(tǒng)難以搜尋到目標(biāo)用戶真正的鄰居,產(chǎn)生了數(shù)據(jù)稀疏性問(wèn)題[11-12]。部分學(xué)者采用數(shù)據(jù)填補(bǔ)技術(shù)降低評(píng)分?jǐn)?shù)據(jù)的稀疏性,但存在信息失真或者填充值不可靠的問(wèn)題[13-15]。另外在用戶評(píng)分?jǐn)?shù)據(jù)極端稀疏和用戶間共同評(píng)分項(xiàng)較少的情況下,余弦相似度不能區(qū)分平行評(píng)分向量之間的相似度,相關(guān)相似度以及修正的余弦相似度出現(xiàn)無(wú)法衡量部分用戶間興趣相似程度的現(xiàn)象,導(dǎo)致推薦過(guò)程中得到的相似用戶不準(zhǔn)確,進(jìn)而影響推薦系統(tǒng)的推薦質(zhì)量[16-17]。
為了解決以上問(wèn)題,本文提出一種基于離散量和用戶興趣貼近度的協(xié)同過(guò)濾算法(Collaborative Filtering Recommendation Algorithm Based Discrete Contents and User Interests Appropinquity Degree,DA-CF)。在該算法中,通過(guò)利用離散量相關(guān)的性質(zhì)以及用戶興趣貼近度設(shè)計(jì)一種新的用戶相似度計(jì)算方法。
傳統(tǒng)的相似度計(jì)算方法有余弦相似度(Cosine,COS)、修正余弦相似度(Adjusted Cosine,ACOS)、Pearson相似度(Pearson Correlation Coefficient,PCC)等[5]。計(jì)算用戶相似度是基于用戶的協(xié)同過(guò)濾的關(guān)鍵步驟,其計(jì)算結(jié)果的好壞,直接影響推薦精度[18]。以上的傳統(tǒng)相似度計(jì)算方法均存在缺點(diǎn),以下的例子說(shuō)明傳統(tǒng)方法的缺陷。如表1是用戶項(xiàng)目評(píng)分表,為計(jì)算方便,采用了9個(gè)用戶對(duì)4個(gè)項(xiàng)目的評(píng)分值,其中用戶用{u1,u2,…,u9}表示,項(xiàng)目用{i1,i2,i3,i4}表示,“—”表示未評(píng)分項(xiàng)目,在實(shí)例計(jì)算中用0替代。
表1 用戶項(xiàng)目評(píng)分
本文中利用矩陣S=(sij)n×n表示相似度計(jì)算結(jié)果,其中,n={1,2,…,9},sij表示用戶ui和uj之間的相似度。以余弦相似度方法、修正余弦相似度方法、Pearson相似度方法、US-CF算法[9]為例,分析目前的相似度計(jì)算方法存在的問(wèn)題,4種算法的相似度計(jì)算結(jié)果分別對(duì)應(yīng)于矩陣SCOS、SACOS、SPCC和SUSCF。
分析以上計(jì)算結(jié)果,可知傳統(tǒng)相似度計(jì)算存在以下問(wèn)題:
1)相似度無(wú)法計(jì)算。由結(jié)果矩陣SPCC和SUSCF可知,PCC和US-CF方法計(jì)算相似度時(shí),均出現(xiàn)了無(wú)法計(jì)算的現(xiàn)象(NaN),原因在于當(dāng)公式分母計(jì)算結(jié)果為0時(shí),此2種方法計(jì)算失效。在數(shù)據(jù)量極其稀疏時(shí),此情況經(jīng)常出現(xiàn)。
2)相似度失真。u1的評(píng)分向量為(4,3,5,4),u3為(4,3,3,4),兩者均評(píng)價(jià)了較多的項(xiàng)目,并且有75%的項(xiàng)目評(píng)價(jià)分?jǐn)?shù)完全一樣,具有較大的相似度。而在結(jié)果矩陣SACOS和SPCC中得到的相似度為0,同時(shí)SUSCF中得到的相似度也較低。
3)相似度虛高。u4的評(píng)分向量為(4,2,0,0),u7為(2,1,0,0),雖然兩者具有兩項(xiàng)共同評(píng)分項(xiàng),但u4評(píng)分值較高,對(duì)i1、i2有較大興趣,而u7評(píng)分較低,對(duì)i1、i2有較低興趣,在矩陣SCOS和SPCC中均得到相似度為1,在SACOS中得到的相似度同樣很高。
4)相似度難以區(qū)分的現(xiàn)象。結(jié)果矩陣SCOS、SACOS、SPCC和SUSCF中均出現(xiàn)了部分相同或十分相近的數(shù)值,導(dǎo)致相似度無(wú)法區(qū)分。由3)中分析知,u4對(duì)i1、i2有較大興趣,而u7對(duì)兩者的興趣較低,即u4和u7興趣不同。而在SCOS中,u1和u4、u1和u7的相似度相同,均為0.606,若根據(jù)用戶u1的興趣為u4和u7進(jìn)行推薦時(shí),很可能會(huì)將用戶興趣較低的項(xiàng)目推薦給用戶,從而導(dǎo)致推薦質(zhì)量下降。
5)相似度計(jì)算忽略了共同評(píng)分項(xiàng)數(shù)以及相同評(píng)分值項(xiàng)數(shù)對(duì)興趣的影響。用戶評(píng)分項(xiàng)目越多,共同評(píng)分項(xiàng)越多,并且具有相同評(píng)分項(xiàng)數(shù)越多,可以認(rèn)為具有較高的相似度[13]?;诖?u1和u3的相似度應(yīng)該最高,但矩陣SUSCF中u2和u4的相似度高于u1和u3的相似度,而SPCC中u2和u4以及SCOS中u4和u7的相似度均高達(dá)1。
6)相似度計(jì)算忽略評(píng)分偏好對(duì)興趣度的影響。u5的評(píng)分向量為(5,5,0,0),u7為(2,1,0,0),u5對(duì)項(xiàng)目1和2的傾向度明顯大于u7,但矩陣SCOS和SACOS均得到較大的結(jié)果,分別為0.949和0.948。SPCC中對(duì)此情況計(jì)算無(wú)效,SUSCF中反而呈現(xiàn)出極低的相似度0.033。
以上問(wèn)題導(dǎo)致了計(jì)算相似度時(shí)準(zhǔn)確度不高,最終導(dǎo)致傳統(tǒng)推薦算法的推薦結(jié)果不理想,若要解決相似度計(jì)算出現(xiàn)的種種問(wèn)題,則需更深入地挖掘用戶評(píng)分中所隱藏的興趣信息,本文提出一種新的相似度計(jì)算方法,用于改進(jìn)傳統(tǒng)協(xié)同過(guò)濾算法。
離散量考慮的是全部個(gè)體的總信息量,在離散量的基礎(chǔ)上建立信息相似系數(shù)測(cè)度,可以得到更為全面的相似度信息,但是往往會(huì)忽略個(gè)體間的差異信息,貼近度更偏重于信息組成顆粒間的差異程度,體現(xiàn)了個(gè)體間的差異性,能夠彌補(bǔ)離散量構(gòu)建信息相似系數(shù)測(cè)度的不足。本節(jié)從全信息量的角度深入挖掘評(píng)分與用戶興趣間的關(guān)系,揭示用戶評(píng)分之間的相似度,利用離散量相關(guān)理論來(lái)對(duì)相似度計(jì)算進(jìn)行改進(jìn),同時(shí)利用用戶興趣貼近度對(duì)相似度進(jìn)行加權(quán)處理,最終得到較為準(zhǔn)確合理的相似度計(jì)算結(jié)果。
Shannon把“熵”從物理學(xué)領(lǐng)域引入到信息學(xué)領(lǐng)域,將信息中排除冗余后的平均信息量稱為“信息熵”,并利用概率論與邏輯方法推導(dǎo)出信息熵的計(jì)算公式[19-21]。用X表示信源,該信源發(fā)出的信號(hào)用xi表示,相應(yīng)地發(fā)出各信號(hào)的先驗(yàn)概率為p(xi),其中i=1,2,…,n,則對(duì)該信源的信息熵H(X)定義為式(1),其中使用以2為底的對(duì)數(shù)函數(shù),熵的量綱為比特。
(1)
與Shannon信息量相平行,本文中將引入離散量(Discrete Contents,DC)及其基本性質(zhì)。對(duì)于狀態(tài)空間X={x1,x2,…,xr},在總和N=n1+n2+…+nr的條件下,xi分別出現(xiàn)ni次,其中i=1,2,…,r,則認(rèn)為狀態(tài)空間構(gòu)成一個(gè)離散源[22-24],表示為式(2)。
(2)
從信息論的角度上,度量離散性的量稱為離散量,記為D(n1,n2,…,nr)。
定義1對(duì)于離散源(式(2)),離散量定義[23-24]:
(3)
根據(jù)式(3),可以引申出式(4)和式(5)。
(4)
(5)
由式(4)可以看出,D(X)和N有關(guān)系,刻畫(huà)了N約束下ni的離散性。而式(5)表示了離散量和信息熵之間的關(guān)系,用H(X)和D(X)分析同一事物,沒(méi)有絕對(duì)的相關(guān)性。根據(jù)信息熵的定義可以看出,H(X)表示信源X中每個(gè)個(gè)體所攜帶的平均信息量,而式(5)可以看出,離散量D(X)表示信源X中全部個(gè)體的全信息量。由式(5)可知,離散量同樣具有信息熵的性質(zhì),即具有非負(fù)性、可加性、等倍增性以及和的離散量不小于各離散量之和等性質(zhì)[24]。
在本文的推薦系統(tǒng)中,假設(shè)用戶U和用戶V對(duì)項(xiàng)目集合的評(píng)分矩陣分別為矩陣U和V:
(6)
(7)
評(píng)分矩陣公式式(6)和式(7)從空間角度可以理解為評(píng)分向量,從信息論角度可以理解為離散評(píng)分源。根據(jù)離散量的性質(zhì)——和的離散量不小于各離散量之和,可以得到評(píng)分?jǐn)?shù)據(jù)的離散增量:
Δ(U,V)=D(U+V)-D(U)-D(V)
(8)
評(píng)分?jǐn)?shù)據(jù)的離散增量同樣具有非負(fù)性和對(duì)稱性,是一種半角度的距離測(cè)度或者稱為廣義距離測(cè)度,它從信息量的角度刻畫(huà)了2個(gè)離散評(píng)分源之間的相似度,稱為信息系數(shù)測(cè)度[24]。信息系數(shù)測(cè)度越小,表示2個(gè)離散評(píng)分源之間越相似,否則越相異。根據(jù)離散量可加性以及等倍增性,還可以將評(píng)分?jǐn)?shù)據(jù)的離散增量表示為:
(9)
當(dāng)評(píng)分?jǐn)?shù)據(jù)ni或mi之一等于0時(shí),D(ni,mi)=0,由此可得:
0≤Δ(U,V)≤D(M,N)
(10)
由式(9)和式(10)聯(lián)合可以得到如下關(guān)系:
(11)
(12)
由式(11)可以得到評(píng)分?jǐn)?shù)據(jù)的相似信息系數(shù),用于度量2個(gè)用戶之間的相似程度,本文使用的相似度計(jì)算方法表示為式(12),I1即為基于離散量的相似度計(jì)算方法,利用該式計(jì)算出來(lái)的相似度結(jié)果如矩陣SI:
SI=
由結(jié)果矩陣SI可以看出,基于離散量的相似度計(jì)算方法充分挖掘評(píng)分項(xiàng)之間的關(guān)系,得到了初步的相似度計(jì)算結(jié)果,但由于式(12)只考慮了評(píng)分項(xiàng)目之間的關(guān)系,忽略了用戶之間的興趣傾向與共同偏好,在一定程度上放大了用戶間的相似程度,為此,將使用用戶興趣貼近度進(jìn)行修正。
2.1節(jié)從全信息量的角度刻畫(huà)了用戶評(píng)分信息間的貼近程度,給出了基于離散量的相似度度量方法(式(12)),該方法深入地挖掘和分析了用戶評(píng)分間的信息關(guān)系,但以上方法未關(guān)注用戶興趣偏好問(wèn)題。用戶評(píng)分項(xiàng)目越多,共同評(píng)分項(xiàng)越多,并且具有相同評(píng)分項(xiàng)數(shù)越多,可認(rèn)為具有較高的相似度[13]。基于此假設(shè),本節(jié)提出用戶興趣貼近度的概念,見(jiàn)定義2。
定義2設(shè)項(xiàng)目集合I={i1,i2,…,in},u和v是I上的評(píng)分集合,則稱:
(13)
為u與v的用戶興趣貼近度。其中,α稱為可信度因子,見(jiàn)式(14),可信度因子用來(lái)表示用戶之間共同評(píng)分項(xiàng)目與所有評(píng)分項(xiàng)目的關(guān)系,表示用戶之間實(shí)際興趣貼近關(guān)系。其中,Cu,v表示用戶u和v的共同評(píng)分項(xiàng)目集合,|Cu,v|表示共同評(píng)分項(xiàng)目數(shù),ru,i表示用戶u對(duì)項(xiàng)目i的評(píng)分,Iu表示用戶u的評(píng)分集合,評(píng)分范圍為整數(shù)1~5。
(14)
由式(14)可知,0≤α≤1。當(dāng)用戶u與用戶v沒(méi)有共同評(píng)分項(xiàng)時(shí),α=0。當(dāng)用戶u與用戶v的共同評(píng)分項(xiàng)集合與兩者的所有評(píng)分項(xiàng)集合完全一致時(shí),α=1。
當(dāng)α=1時(shí),可信度因子調(diào)節(jié)失效,針對(duì)此特殊情況,用戶興趣貼近度參考海明貼近度[23]的形式,將其改進(jìn)為評(píng)分環(huán)境下的海明貼近度公式,如式(15)的形式,其中,Iu,v表示用戶u和v共同評(píng)分項(xiàng)目集合。
(15)
經(jīng)過(guò)2.1節(jié)和2.2節(jié)的分析,本節(jié)得到融合離散量和用戶興趣貼近度的相似度計(jì)算方法。在計(jì)算過(guò)程中分用戶間的可信度因子α≠1和α=1,本文所提出的相似度計(jì)算方法如下:
(16)
最終,經(jīng)過(guò)式(13)和式(15)修正后的相似度計(jì)算結(jié)果如矩陣SSIM所示,其中0值表示相似度為0,例如u2和u8、u2和u9都沒(méi)有公共項(xiàng),因此相似度為0,屬正常計(jì)算結(jié)果。從結(jié)果矩陣中可以看出,本文算法計(jì)算的相似度計(jì)算結(jié)果能準(zhǔn)確合理地體現(xiàn)用戶間的相似度,解決了以上提到的6個(gè)問(wèn)題以及其他潛在問(wèn)題,提高了用戶之間相似度的區(qū)分性,從而為推薦系統(tǒng)解決了核心的相似度計(jì)算問(wèn)題,有利于后續(xù)的評(píng)分預(yù)測(cè)和個(gè)性化推薦。
SSIM=
根據(jù)2.3節(jié)提出的融合離散量和用戶興趣貼近度的相似度計(jì)算方法,本節(jié)利用新的相似度計(jì)算方法對(duì)協(xié)同過(guò)濾算法進(jìn)行改造,則新算法的偽代碼見(jiàn)算法1。
算法1基于離散量和用戶興趣貼近度的協(xié)同過(guò)濾算法
輸入評(píng)分矩陣R,目標(biāo)用戶u和近鄰數(shù)K
輸出目標(biāo)用戶u對(duì)項(xiàng)目i的評(píng)分預(yù)測(cè)值Predu,i
2) for 所有用戶 u in 測(cè)試集 Trm,ndo
3) D(u),D(v) ← 計(jì)算用戶u和v的離散量,根據(jù)式(4)
4) D(u+v) ← 計(jì)算用戶u和v聯(lián)合的離散量,根據(jù)式(8)
5) D(u,v) ← 計(jì)算用戶u和v評(píng)分和的離散量,根據(jù)式(4)和式(9)
6) I1← 1-[{D(u+v)-D(u)-D(v)}/D(u,v)] %計(jì)算信息相似系數(shù)測(cè)度
二級(jí)運(yùn)算放大電路主要用于將一級(jí)放大結(jié)果放大調(diào)理以滿足A/D轉(zhuǎn)換芯片輸入范圍,獲取最大的檢測(cè)精度。其電路結(jié)構(gòu)如圖4所示。
7) if α≠1 then
8) σu,v(u,v) ← 計(jì)算用戶興趣貼近度,根據(jù)式(13)
9) end if
10) if α=1 then
11) σ’u,v(u,v) ← 計(jì)算用戶興趣貼近度,根據(jù)式(15)
12) end if
13) sim’’(u,v) ← I1·σu,v(u,v) or I1·σ’u,v(u,v) %計(jì)算最終的相似度結(jié)果
14) K ← u’∈N(u) %尋找活動(dòng)用戶u的K近鄰
15) Predu,i← 計(jì)算目標(biāo)用戶u對(duì)未評(píng)分項(xiàng)目i評(píng)分預(yù)測(cè)值
16) end for
17) 計(jì)算測(cè)試集中預(yù)測(cè)評(píng)分的平均絕對(duì)誤差
實(shí)驗(yàn)數(shù)據(jù)為MovieLens,是由明尼蘇達(dá)大學(xué)GroupLens小組提供的電影評(píng)分[16]。該電影數(shù)據(jù)集具有100k、1m、10m、20m等幾個(gè)不同規(guī)模的評(píng)分集合,如表2所示,該數(shù)據(jù)集可以從網(wǎng)站www.grouplens.org下載所得。為說(shuō)明驗(yàn)證本文的研究問(wèn)題,采用ml-1m數(shù)據(jù)集,該數(shù)據(jù)集是在2000年,大約6 040名用戶對(duì)接近3 900部電影的1 000 209個(gè)匿名評(píng)分?jǐn)?shù)據(jù),數(shù)據(jù)稀疏等級(jí)[17]為{1-[1 000 209/(6 040×3 900)]}=0.957 5,評(píng)分范圍為整數(shù)1~5。數(shù)據(jù)集包含三方面內(nèi)容,用戶信息、電影信息、評(píng)分信息。用戶信息包括用戶ID、性別、年齡、職業(yè)以及郵政編碼;電影信息包括電影ID、標(biāo)題以及類別;評(píng)分信息包括用戶ID、電影ID、評(píng)分值以及時(shí)間戳。
表2 MovieLens數(shù)據(jù)集規(guī)模
實(shí)驗(yàn)環(huán)境為安裝Windows 10操作系統(tǒng)的PC機(jī),內(nèi)存16 GB,磁盤(pán)1 TB,處理器為英特爾Core i7-6700HQ。程序開(kāi)發(fā)環(huán)境為Anaconda2 Spyder,Phython版本號(hào)為2.7版。
推薦系統(tǒng)有多種評(píng)估指標(biāo),如評(píng)分預(yù)測(cè)準(zhǔn)確度、覆蓋率、置信度、信任度等,評(píng)分預(yù)測(cè)準(zhǔn)確度是目前推薦系統(tǒng)研究中討論最多的指標(biāo),評(píng)分預(yù)測(cè)準(zhǔn)確度的評(píng)價(jià)標(biāo)準(zhǔn)主要有均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Error,MAE)、歸一化均方根誤差(Normalized Root Mean Square Error,NRMSE)和歸一化平均絕對(duì)誤差(Normalized Mean Absolute Error,NMAE)等。其中,MAE的應(yīng)用最為廣泛,本文實(shí)驗(yàn)結(jié)果選用MAE來(lái)評(píng)價(jià)。MAE可用來(lái)衡量預(yù)測(cè)的評(píng)價(jià)值同真實(shí)用戶評(píng)價(jià)值之間的接近度,MAE值越小,預(yù)測(cè)效果越好。假設(shè)用戶預(yù)測(cè)評(píng)分集合表示為P={pi|i=1,2,…,n},對(duì)應(yīng)的用戶實(shí)際評(píng)分集合為Q={qi|i=1,2,…,n}[25-26]。其中,n為物品個(gè)數(shù),則MAE計(jì)算方法如下:
(17)
首先對(duì)各種不同的相似度計(jì)算方法計(jì)算出的平均絕對(duì)誤差(MAE)進(jìn)行對(duì)比,分析本文所提出的相似度計(jì)算方法的效果;然后在相同數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),比較本文提出的新算法與傳統(tǒng)算法的推薦質(zhì)量,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析說(shuō)明;最后在不同稀疏度的數(shù)據(jù)集上,驗(yàn)證本文算法在極度稀疏的數(shù)據(jù)集上的推薦效果。
3.3.1 最優(yōu)用戶鄰居數(shù)
本次實(shí)驗(yàn)過(guò)程采用十折交叉驗(yàn)證方法(10-fold cross validation)用來(lái)測(cè)試算法的準(zhǔn)確性。具體操作方法是將數(shù)據(jù)集分成10份,輪流將其中9份作為訓(xùn)練集,剩下的1份作為測(cè)試集,進(jìn)行多次試驗(yàn)后,最終取均值。此方法的優(yōu)勢(shì)在于防止數(shù)據(jù)集之間的數(shù)據(jù)分布不均,同時(shí)多次驗(yàn)證取均值能有效降低因隨機(jī)取樣產(chǎn)生的誤差。
本次實(shí)驗(yàn)的目的是尋找最優(yōu)鄰居數(shù)K,每次實(shí)驗(yàn)將K值從5增加到100,10次實(shí)驗(yàn)的MAE求均值,結(jié)果如圖1所示。從圖中可以清晰看到,本文提出的算法,在用戶鄰居數(shù)達(dá)到40附近時(shí),計(jì)算出來(lái)的MAE值最小,因此最優(yōu)用戶鄰居數(shù)選擇為40。
圖1 MAE值隨最近鄰數(shù)K的變化情況
3.3.2 不同推薦算法的推薦質(zhì)量比較分析
本次實(shí)驗(yàn)比較不同推薦算法的推薦質(zhì)量,利用不同K值下的平均絕對(duì)誤差(MAE)進(jìn)行衡量,平均絕對(duì)誤差值越小,推薦質(zhì)量越好。
實(shí)驗(yàn)中,傳統(tǒng)協(xié)同過(guò)濾算法采用不同的相似度度量標(biāo)準(zhǔn)進(jìn)行近鄰計(jì)算。所使用的算法有基于余弦的協(xié)同過(guò)濾算法(COS-CF)、基于修正余弦的協(xié)同過(guò)濾算法(ACOS-CF)、基于Pearson的協(xié)同過(guò)濾算法(Pearson-CF)、文獻(xiàn)[9]中的算法(US-CF)以及本文提出的算法(DA-CF),實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 不同相似度計(jì)算方法推薦質(zhì)量比較
圖2展示了各種算法在不同K值下MAE值之間的數(shù)量關(guān)系,整體而言,本文改進(jìn)算法的MAE值明顯低于傳統(tǒng)算法。當(dāng)最近鄰居數(shù)K小于30時(shí),各種算法MAE值都較高,隨著最近鄰居數(shù)的增加,各種算法的MAE值均急劇下降,本文改進(jìn)的算法相較其他算法在最近鄰居數(shù)為5時(shí)的MAE值最小,從最近鄰數(shù)從5~30的增加過(guò)程中變化幅度比其他算法小;當(dāng)K值大于30后,各種算法逐漸趨于穩(wěn)定,本文算法的MAE值明顯比其他算法更低,說(shuō)明本文提出的算法在推薦精度方面優(yōu)于其他算法,可以顯著地提高推薦系統(tǒng)的推薦質(zhì)量。
3.3.3 數(shù)據(jù)稀疏度對(duì)算法的影響
本次實(shí)驗(yàn)為比較在不同數(shù)據(jù)稀疏等級(jí)下,本文提出的算法(DA-CF)與3.3.2節(jié)中其他傳統(tǒng)算法性能表現(xiàn)。將數(shù)據(jù)集中的評(píng)分?jǐn)?shù)據(jù)隨機(jī)進(jìn)行刪除調(diào)整,以實(shí)現(xiàn)數(shù)據(jù)稀疏度的變化,根據(jù)文獻(xiàn)[17]的數(shù)據(jù)稀疏等級(jí)計(jì)算方法,將調(diào)整后的數(shù)據(jù)集稀疏度結(jié)果展示如表3所示。
表3 數(shù)據(jù)集各種不同的稀疏度
本文實(shí)驗(yàn)結(jié)果如圖3所示,從圖中可以看出,隨著數(shù)據(jù)稀疏度的變大,所有算法的性能均變低,但變化程度不一樣,本文提出的算法(DA-CF)相對(duì)于其他算法而言,變化幅度最小,同時(shí)在各種場(chǎng)景下,MAE值最低,能較好地適應(yīng)各種不同稀疏度的數(shù)據(jù)。由于DA-CF算法從全信息量的角度深入尋找評(píng)分與用戶興趣間的關(guān)系,因此在數(shù)據(jù)極度稀疏的情況下,也有較好的性能。
圖3 數(shù)據(jù)稀疏度對(duì)不同算法性能的影響
本文提出基于離散量和用戶興趣貼近度的協(xié)同過(guò)濾算法。從用戶評(píng)分全信息量和用戶興趣偏好2個(gè)方面,融合離散量和用戶興趣貼近度,進(jìn)行用戶相似度計(jì)算。實(shí)驗(yàn)結(jié)果表明,DA-CF算法較好地解決了常規(guī)相似度算法中存在的相似度無(wú)法計(jì)算、失真、虛高等現(xiàn)象,提高了系統(tǒng)的推薦質(zhì)量,尤其在數(shù)據(jù)極端情況下,也能保持相對(duì)較好的推薦性能。在未來(lái)的研究中,可以結(jié)合更多的情境因素,緩解算法的冷啟動(dòng)問(wèn)題,進(jìn)一步提高算法的推薦質(zhì)量。
[1] 文俊浩,袁培雷,曾 駿,等.基于標(biāo)簽主題的協(xié)同過(guò)濾推薦算法研究[J].計(jì)算機(jī)工程,2017,43(1):247-252.
[2] 孟祥武,劉樹(shù)棟,張玉潔,等.社會(huì)化推薦系統(tǒng)研究[J].軟件學(xué)報(bào),2015,26(6):1356-1372.
[3] RICCI F,ROKACH L,SHAPIRA B,et al.Recommender Systems Handbook[M].Berlin,Germany:Springer,2011.
[4] 郭 遲,劉經(jīng)南,方 媛,等.位置大數(shù)據(jù)的價(jià)值提取與協(xié)同挖掘方法[J].軟件學(xué)報(bào),2014,25(4):713-730.
[5] CHOI K,SUH Y.A New Similarity Function for Selecting Neighbors for Each Target Item in Collaborative Filtering[J].Knowledge-based Systems,2013,37(1):146-153.
[6] AHN H J.A New Similarity Measure for Collaborative Filtering to Alleviate the New User Cold-starting Problem[J].Information Sciences,2008,178(1):37-51.
[7] 時(shí)念云,葛曉偉,馬 力.基于用戶人口統(tǒng)計(jì)特征與信任機(jī)制的協(xié)同推薦[J].計(jì)算機(jī)工程,2016,42(6):180-184.
[8] LIU H,HU Z,MIAN A,et al.A New User Similarity Model to Improve the Accuracy of Collaborative Filtering[J].Knowledge-based Systems,2014,56(3):156-166.
[9] 丁少衡,姬東鴻,王路路.基于用戶屬性和評(píng)分的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2015(2):487-491.
[10] 劉樹(shù)棟,孟祥武.基于位置的社會(huì)化網(wǎng)絡(luò)推薦系統(tǒng)[J].計(jì)算機(jī)學(xué)報(bào),2015,38(2):322-336.
[11] 林耀進(jìn),張 佳,林夢(mèng)雷,等.一種基于模糊信息熵的協(xié)同過(guò)濾推薦方法[J].山東大學(xué)學(xué)報(bào)(工學(xué)版),2016,46(5):13-20.
[12] 韓亞楠,曹 菡,劉亮亮.基于評(píng)分矩陣填充與用戶興趣的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)工程,2016,42(1):36-40.
[13] TSAI C F,HUNG C.Cluster Ensembles in Collaborative Filtering Recommendation[J].Applied Soft Computing,2012,12(4):1417-1425.
[14] 張燕平,張 順,錢(qián)付蘭,等.基于用戶聲譽(yù)的魯棒協(xié)同推薦算法[J].自動(dòng)化學(xué)報(bào),2015,41(5):1004-1012.
[15] HUETE J F,FERNNDEZ-LUNA J M,CAMPOS L M D,et al.Using Past-prediction Accuracy in Recommender Systems[J].Information Sciences,2012,199(15):78-92.
[16] 鐘 川,陳 軍.基于精確歐式局部敏感哈希的改進(jìn)協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)工程,2017,43(2):74-78.
[17] 鄧愛(ài)林,朱揚(yáng)勇,施伯樂(lè).基于項(xiàng)目評(píng)分預(yù)測(cè)的協(xié)同過(guò)濾推薦算法[J].軟件學(xué)報(bào),2003,14(9):1621-1628.
[18] 周泓宇,梁 剛,馮 程,等.結(jié)合正反相似度的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)工程,2016,42(10):51-56.
[19] WANG W,ZHANG G,LU J.Collaborative Filtering with Entropy-driven User Similarity in Recommender Systems[J].International Journal of Intelligent Systems,2015,30(8):854-870.
[20] 李衛(wèi)東.應(yīng)用多元統(tǒng)計(jì)分析[M].北京:北京大學(xué)出版社,2015.
[21] 汪 濤,王永智.基于信息熵的安徽省創(chuàng)意產(chǎn)業(yè)結(jié)構(gòu)均衡度分析[J].新余學(xué)院學(xué)報(bào),2017,22(1):43-47.
[22] 王保山,邵明星,丁愛(ài)亮,等.證券市場(chǎng)信息熵技術(shù)指標(biāo)構(gòu)建與應(yīng)用[J].寧波大學(xué)學(xué)報(bào)(理工版),2012,25(3):79-82.
[23] 袁志發(fā),宋世德.多元統(tǒng)計(jì)分析[M].2版.北京:科學(xué)出版社,2009.
[24] 丁世飛,靳奉祥,趙相偉.現(xiàn)代數(shù)據(jù)分析與信息模式識(shí)別[M].北京:科學(xué)出版社,2013.
[25] 李曉艷,張子剛,張逸石.集成K-means聚類和有監(jiān)督特征選擇的混合式協(xié)同過(guò)濾推薦[J].管理學(xué)報(bào),2013,10(9):1362-1367.
[26] 劉旭東,吳旭軍,陳德人,等.基于用戶特征分解的協(xié)同過(guò)濾冷啟動(dòng)解決方法[J].山東農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(4):616-619.