李衛(wèi)疆,羅潘虎
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明 650500)
隨著互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)信息的爆炸式增長(zhǎng)給人們帶來(lái)了嚴(yán)重的信息過(guò)載,比如電影、書(shū)籍、音樂(lè)等方面,如何從大量的資源池中準(zhǔn)確的找出用戶(hù)感興趣的信息是各大互聯(lián)網(wǎng)企業(yè)的研究焦點(diǎn).以電影推薦為例,電影市場(chǎng)每年都會(huì)推出數(shù)以千計(jì)的電影,然而如此多的電影中符合某個(gè)用戶(hù)需求的并沒(méi)有多少,這使得用戶(hù)很難快速找出他喜歡的影片,而隨著時(shí)間的推移,積累的影片數(shù)量越來(lái)越多,用戶(hù)就更難尋找到他所感興趣的影片,在這種背景下,推薦系統(tǒng)應(yīng)運(yùn)而生,目前,推薦系統(tǒng)的主要工作內(nèi)容是通過(guò)信息過(guò)濾技術(shù)向用戶(hù)準(zhǔn)確的推送用戶(hù)感興趣的信息,避免用戶(hù)在信息海中浪費(fèi)時(shí)間[1,2].
現(xiàn)今的推薦算法大多關(guān)注推薦的準(zhǔn)確性上,但在實(shí)際中,單純的提高準(zhǔn)確率有時(shí)并不能提高用戶(hù)對(duì)物品推薦的滿(mǎn)意度[3],一方面,這使得展示給用戶(hù)的信息過(guò)于單一,展現(xiàn)在用戶(hù)面前的很多是當(dāng)前時(shí)期的熱門(mén)物品,雖然這提高的準(zhǔn)確率,但用戶(hù)很可能從其它渠道知道了這個(gè)物品,比如他的朋友告訴他或者是滿(mǎn)大街的海報(bào)等等,這樣的推薦顯然是無(wú)效的.另一方面,會(huì)使得推薦系統(tǒng)的數(shù)據(jù)集中于熱門(mén)物品,這將導(dǎo)致嚴(yán)重的馬太效應(yīng),致使資源整體曝光率變得極低,熱門(mén)的物品愈發(fā)熱門(mén),冷門(mén)的更加冷門(mén),從而很多用戶(hù)感興趣的信息埋沒(méi)在龐大的資源池中,因?yàn)橛脩?hù)感興趣的信息不僅僅只有當(dāng)前熱門(mén)信息[4,5].提高物品的多樣化推薦不僅對(duì)提升用戶(hù)滿(mǎn)意度有幫助,它對(duì)網(wǎng)上商店的影響也非常大,根據(jù)帕累托原理可以知道,少數(shù)的商品占據(jù)了大量的市場(chǎng)空間,如果推薦系統(tǒng)能把更多的長(zhǎng)尾商品展示出來(lái),商品制造商會(huì)更有動(dòng)力去豐富商品的種類(lèi)數(shù)量[6,7].如何能讓更多的信息展示在用戶(hù)面前,如何發(fā)現(xiàn)用戶(hù)感興趣的長(zhǎng)尾信息,提高推薦的多樣性,在今后將是研究推薦算法性能的焦點(diǎn)之一.
推薦結(jié)果多樣性研究面臨很多問(wèn)題,準(zhǔn)確率與覆蓋率是一對(duì)相互矛盾的指標(biāo),當(dāng)準(zhǔn)確率較高時(shí)覆蓋率會(huì)相對(duì)低,反之亦然,因此目前面臨最大的難題便是如何即保證準(zhǔn)確性不降低而又能提高推薦多樣性.
針對(duì)此問(wèn)題,本文通過(guò)興趣核密度估計(jì)的方式挖掘用戶(hù)潛在興趣,尋找與用戶(hù)興趣相近的鄰居,由于在同一興趣集合下的物品較多,其鄰居在該興趣集合中選擇的物品在很大可能上也不一樣,由此產(chǎn)生的推薦結(jié)果會(huì)跳出熱門(mén)物品影響,當(dāng)用戶(hù)足夠多的時(shí)候,在該興趣集合下的所有項(xiàng)目都可能被推薦出來(lái),從而提高推薦結(jié)果總體多樣性,得到推薦預(yù)評(píng)分后填充到SVD矩陣中解決數(shù)據(jù)稀疏問(wèn)題.SVD算法具有推薦準(zhǔn)確率高的優(yōu)點(diǎn),可以用其來(lái)保證推薦的準(zhǔn)確率.
一個(gè)好的推薦系統(tǒng)應(yīng)當(dāng)在保證推薦準(zhǔn)確率的前提下充分提高資源池中物品的曝光率,如果推薦系統(tǒng)只以提高準(zhǔn)確率為目標(biāo),隨著推薦數(shù)據(jù)的積累,長(zhǎng)期以后推薦系統(tǒng)將只會(huì)推薦當(dāng)前熱點(diǎn),使得推薦結(jié)果過(guò)于單一.
多樣化推薦研究分為個(gè)體多樣性和總體多樣性?xún)蓚€(gè)方面,個(gè)體多樣性通過(guò)對(duì)用戶(hù)給出的推薦列表計(jì)算,通過(guò)考量推薦列表中物品的相似程度來(lái)確定列表多樣性程度[8,9],其主要目的是避免給用戶(hù)推薦的物品相似度過(guò)高,給單個(gè)用戶(hù)推薦相似度過(guò)高的物品會(huì)導(dǎo)致無(wú)效推薦,比如一個(gè)用戶(hù)喜歡看戰(zhàn)爭(zhēng)片,如果一個(gè)推薦系統(tǒng)采用傳統(tǒng)協(xié)同過(guò)濾的方法來(lái)進(jìn)行推薦,那么它會(huì)盡可能多的推薦當(dāng)前的熱門(mén)戰(zhàn)爭(zhēng)片,而一段相對(duì)短的時(shí)間內(nèi)熱門(mén)戰(zhàn)爭(zhēng)片是有限的,用戶(hù)可能全部都看過(guò),這時(shí)候給出的推薦列表就是無(wú)效推薦.總體多樣性是指在資源池中物品的曝光數(shù)量,總體多樣性高可以為用戶(hù)提供更多的選擇,很多優(yōu)秀的電影作品用戶(hù)自己并不能挖掘出來(lái),這些物品可能是很多年以前的,但是它恰巧是用戶(hù)所需要的,總體多樣性一般用覆蓋率來(lái)衡量,即已推薦出的物品占物品總數(shù)的百分比,本文的工作主要在提高推薦總體多樣性.
現(xiàn)有的多樣化推薦算法主要有兩個(gè)研究方向,第一種是使用現(xiàn)有的協(xié)同過(guò)濾算法來(lái)計(jì)算預(yù)測(cè)評(píng)分,然后對(duì)得出的推薦候選集進(jìn)行重新排序,按比例取出一些長(zhǎng)尾項(xiàng)目推薦給用戶(hù),第二種方法是改進(jìn)計(jì)算預(yù)測(cè)評(píng)分的方法,通過(guò)一些特殊方法提高低流行度項(xiàng)目的優(yōu)先級(jí).
Adomavicius G[10]等在2012年根據(jù)物品的流行度對(duì)推薦列表進(jìn)行重排,首先根據(jù)物品的預(yù)測(cè)評(píng)分進(jìn)行排序,然后設(shè)定流行度閾值,刪除流行度高于此閾值的項(xiàng)目得出推薦列表,此算法對(duì)提高推薦結(jié)果總體多樣性有一定幫助,但是僅僅使用用戶(hù)的行為數(shù)據(jù)作為推薦候選集,推薦結(jié)果往往還是會(huì)偏向熱門(mén)物品;Zhang M[9]等人提出了一種基于聚類(lèi)的的多樣化算法,首先,實(shí)驗(yàn)表明該算法在準(zhǔn)確率和多樣性方面取得比較好的平衡,但該算法只考慮了用戶(hù)興趣范圍內(nèi)的物品,對(duì)于用戶(hù)興趣之外的物品不會(huì)被推薦;Mcnee S M[11]提出了一種貪心選擇算法,追求最大化推薦列表的多樣化程度,該方法以常用預(yù)測(cè)評(píng)分方法為基礎(chǔ),在組織推薦列表時(shí)加以考慮物品與推薦列表中其它物品的相異程度,雖然該方法在多樣化方面的性能優(yōu)秀,但由于不考慮用戶(hù)興趣分布導(dǎo)致準(zhǔn)確率太低;Adomavicius G[12]等人在2011提出了一種基于圖論的算法,首先用常用的系統(tǒng)過(guò)濾算法得出候選集,并計(jì)算他們的預(yù)測(cè)得分,然后把用戶(hù)集合和其對(duì)應(yīng)的候選物品集合分為兩組建立二分圖,對(duì)應(yīng)的預(yù)測(cè)評(píng)分為用戶(hù)頂點(diǎn)到對(duì)應(yīng)推薦物品頂點(diǎn)的權(quán)值,最后通過(guò)二分圖最大匹配的方式得出每個(gè)用戶(hù)的推薦結(jié)果集合,該方法的精確度和多樣化程度取決于訓(xùn)練集中每個(gè)用戶(hù)的物品數(shù),用戶(hù)的物品數(shù)越多,推薦結(jié)果多樣化程度就越高,但它的精度就會(huì)相應(yīng)降低.
針對(duì)以上問(wèn)題,本文提出了的KDE-SVD算法,該算法是通過(guò)預(yù)評(píng)分公式(6)計(jì)算得到的預(yù)評(píng)分來(lái)提高低流行度物品的優(yōu)先級(jí)來(lái)實(shí)現(xiàn)多樣化推薦的,與其它算法相比,該算法只需要用到用戶(hù)對(duì)物品的評(píng)分和物品的基本特征屬性,對(duì)于在不容易采集用戶(hù)或物品更多信息的情況下比較方便和實(shí)用,該算法的第一個(gè)部分是從與用戶(hù)興趣相近的鄰居那里獲得鄰居的物品集合,然后對(duì)當(dāng)前用戶(hù)不曾擁有的物品進(jìn)行預(yù)評(píng)分,在預(yù)評(píng)分的過(guò)程中就已經(jīng)對(duì)低流行度的物品提高了它的優(yōu)先級(jí),所以它是獨(dú)立的一部分,因此,用戶(hù)興趣估計(jì)這部分可以和其它推薦精度高而多樣化程度差的算法結(jié)合使用.
核密度估計(jì)是統(tǒng)計(jì)學(xué)上一種常用于估算樣本概率密度的方法,是對(duì)直方圖的自然拓展,通過(guò)擬合函數(shù)曲線(xiàn)的方式消除直方圖圖像不連續(xù)和bins對(duì)圖像觀察的影響,如圖1、圖2所示,圖1bins過(guò)大掩蓋了數(shù)據(jù)細(xì)節(jié),而圖2通過(guò)減小bins顯示出了數(shù)據(jù)細(xì)節(jié),然而,bins不可能無(wú)限減小,這時(shí)由數(shù)據(jù)擬合出的函數(shù)曲線(xiàn)便可很好的描述數(shù)據(jù)分布.

圖1 學(xué)生成績(jī)統(tǒng)計(jì)圖1Fig.1 Student achievement statistics 1
定義1.設(shè)數(shù)據(jù)集{X|x1,x2,x3,…,xn}為X的獨(dú)立同分布隨機(jī)變量,且它服從的密度分布函數(shù)為f(x),其中x∈X,定義函數(shù):
(1)
公式(1)稱(chēng)為函數(shù)f(x)的核密度估計(jì),其中,參數(shù)h為帶寬,用于,通常是一個(gè)預(yù)先給定的正數(shù),φ(°) 為該核密度估計(jì)的核函數(shù).
定義2.一件物品在分類(lèi)上可以同時(shí)屬于多種類(lèi)屬,比如一部電影可以同時(shí)屬于戰(zhàn)爭(zhēng)片與愛(ài)情片,假設(shè)C={c1,c2,c3,…,cn}為物品空間的所有類(lèi)別集合,物品i的所屬類(lèi)別C={c1,c2,c4,c5},物品j的所屬類(lèi)別C={c2,c3,c5,c6},此時(shí)物品i與物品j之間有兩個(gè)相同的類(lèi)別屬性,即它們之間有一定的共同點(diǎn),這種共同點(diǎn)稱(chēng)為類(lèi)別相似度,它的計(jì)算公式定義為:
(2)
定義兩個(gè)物品類(lèi)別間距離公式為:
di,j=1-simc(i,j)
di,j越大表示兩個(gè)物品的共同點(diǎn)越少.
進(jìn)行用戶(hù)興趣分布計(jì)算時(shí),核函數(shù)的對(duì)密度估計(jì)影響較小[13],為方便計(jì)算,本文選用高斯核函數(shù)作為本文核密度估計(jì)的核函數(shù).
(3)
用戶(hù)u在高斯核函數(shù)下的興趣分布公式為:
(4)
其中Iu表示用戶(hù)u評(píng)價(jià)過(guò)的物品,I表示整個(gè)物品空間,ru,i表示用戶(hù)u對(duì)物品i的評(píng)分,h為核密度估計(jì)的帶寬.

圖2 學(xué)生成績(jī)統(tǒng)計(jì)圖2Fig.2 Student achievement statistics 2
在興趣分布屬于概率分布,無(wú)法用計(jì)算距離的方式計(jì)算用戶(hù)之間的相似度.在信息論中,往往使用KL散度計(jì)算兩個(gè)概率間的差異,由于KL散度不具備對(duì)稱(chēng)性,用于計(jì)算用戶(hù)相似度時(shí)需先對(duì)稱(chēng)化,兩個(gè)用戶(hù)間的相似度計(jì)算公式定義為:
(5)

D(Pu‖Pv)為用戶(hù)u和用戶(hù)v之間的KL散度.
根根據(jù)由KL散度計(jì)算的用戶(hù)相似度,便可用近鄰算法即可獲得離目標(biāo)用戶(hù)最近的鄰居集,然后用相似度作為權(quán)重加權(quán)計(jì)算鄰居用戶(hù)對(duì)目標(biāo)物品的評(píng)分,該值即可作為目標(biāo)用戶(hù)對(duì)目標(biāo)物品的預(yù)測(cè)評(píng)分,預(yù)測(cè)評(píng)分公式定義為:
(6)
其中,μ為用戶(hù)的評(píng)分平均值.
核核密度估計(jì)中的帶寬指的是核函數(shù)的方差,帶寬大小對(duì)核密度估計(jì)的影響要遠(yuǎn)大于核函數(shù)種類(lèi)的影響[14],當(dāng)帶寬過(guò)小時(shí)得到的概率密度曲線(xiàn)極其陡峭,雖然能最大限度地描述樣本分布,但卻不利于觀察樣本的分布特點(diǎn),當(dāng)帶寬過(guò)大時(shí)得到的概率密度函數(shù)曲線(xiàn)過(guò)于平滑,會(huì)掩蓋樣本分布細(xì)節(jié).
在數(shù)據(jù)樣本確定的情況下,可以先計(jì)算樣本的概率密度,然后使用最小化L2風(fēng)險(xiǎn)函數(shù)(MISE)的方式求得最佳帶寬h,設(shè):
(7)
在Weak-Assumptions的情況下有:
(8)
其中AMISE為漸進(jìn)均平方積分誤差[15],從而有:
(9)

用求AMISE(h)一階導(dǎo)數(shù)0點(diǎn)的方式獲取AMISE(h)的最小值,其最小值即為MISE(h)的最小值,根據(jù)公式(9)有:
(10)
得:
(11)
在3.2節(jié)中,我們使用核密度估計(jì)的方式估計(jì)用戶(hù)興趣分布,通過(guò)匹配用戶(hù)之間興趣相似度的差異程度獲取與用戶(hù)興趣相似的鄰居,但這樣產(chǎn)生的鄰居用戶(hù)是興趣相似的鄰居而不是行為相似的鄰居,比如用戶(hù)i和用戶(hù)j都喜歡看戰(zhàn)爭(zhēng)電影,他們此時(shí)是興趣相似的鄰居,但能把用戶(hù)i看過(guò)的戰(zhàn)爭(zhēng)電影全部推薦給用戶(hù)j嗎,這顯然是不行的,雖然都是戰(zhàn)爭(zhēng)電影,但電影的劇情、演員等因素仍然會(huì)極大影響一個(gè)用戶(hù)的行為,由此產(chǎn)生的推薦列表多樣性較高但精度相對(duì)低,因此需要結(jié)合奇異值分解算法提高推薦結(jié)果的精確度.
奇異值分解算法(SVD)是推薦系統(tǒng)中常用的一種方法,具有速度快、精度高等優(yōu)點(diǎn),是目前最流行的推薦算法之一.對(duì)于任意一個(gè)Rm×n(m>n)矩陣,均可分解成Rm×n=U×Σ×V,其中U為m×m的矩陣,Σ為m×n的矩陣,其為一個(gè)對(duì)角矩陣,除了對(duì)角線(xiàn)外,其余地方值均為0,對(duì)角線(xiàn)上的值稱(chēng)為奇異值,V為n×n的矩陣,U和V均為正交矩陣.


本文實(shí)驗(yàn)使用的數(shù)據(jù)集是GroupLens提供的ML-1M數(shù)據(jù)集進(jìn)行對(duì)算法的評(píng)估.該數(shù)據(jù)集一共有1000209個(gè)評(píng)分,由6040名用戶(hù)對(duì)3962部電影評(píng)分而產(chǎn)生,每名用戶(hù)至少有20個(gè)評(píng)分,評(píng)分值為1-5的整數(shù),電影共分為19大類(lèi),整個(gè)用戶(hù)-評(píng)分矩陣填充率為4.1%.實(shí)驗(yàn)時(shí)隨機(jī)抽取80%的用戶(hù)作為訓(xùn)練數(shù)據(jù),其余作為測(cè)試數(shù)據(jù).
本文采用準(zhǔn)確率(Precision)和覆蓋率(Coverage)兩個(gè)指標(biāo)來(lái)評(píng)價(jià)本文模型.令P(u)為模型給用戶(hù)的推薦列表,Q(u)為用戶(hù)的實(shí)際看過(guò)的電影列表.
準(zhǔn)確率用于評(píng)價(jià)該模型推薦的準(zhǔn)確度,計(jì)算公式為:
(12)
覆蓋率是衡量推薦系統(tǒng)對(duì)長(zhǎng)尾物品發(fā)掘能力的指標(biāo),覆蓋率越大表示物品庫(kù)中被推薦的物品個(gè)數(shù)越多,其計(jì)算公式為:
(13)
其中|∪u∈UP(u)|表示推薦系統(tǒng)推薦出的電影集合,集合中元素互斥,|I|為電影總數(shù).
在推薦系統(tǒng)中,對(duì)于準(zhǔn)確率和覆蓋率到目前還沒(méi)有統(tǒng)一的綜合評(píng)價(jià)方法,為了在準(zhǔn)確度和覆蓋率找到比較好的平衡點(diǎn),受F值的啟發(fā),本文提出了P-C值的概念,P-C值計(jì)算公式為:
(14)
其中,α為調(diào)節(jié)P和C重要程度的參數(shù),P為準(zhǔn)確率,C為覆蓋率.
在協(xié)同過(guò)濾中,相似度算法用于計(jì)算用戶(hù)之間的相似度,常用的有余弦相似度、歐氏距離等,本實(shí)驗(yàn)采用余弦相似度作為相似度計(jì)算方式,其公式為:
(15)
其中vi、vj分別表示用戶(hù)i和用戶(hù)j在用戶(hù)-評(píng)分矩陣SVD分解后而得的Vm×m向量中的位置向量,vi,k、vj,k分別為用戶(hù)i和用戶(hù)j在m維空間中第k維的值.
余弦相似度在計(jì)算用戶(hù)相似度時(shí)并沒(méi)有考慮用戶(hù)的評(píng)分習(xí)慣.因此本文對(duì)余弦相似度算法進(jìn)行改進(jìn),對(duì)用戶(hù)的每個(gè)評(píng)分都減去他的評(píng)分平均值,改進(jìn)后的余弦相似度公式為:
(16)

實(shí)驗(yàn)1.圖3為使用核密度估計(jì)對(duì)三位用戶(hù)估計(jì)其興趣分布的興趣分布函數(shù)圖,從圖中可以看出,用戶(hù)3和用戶(hù)100的興趣分布比較相近,和用戶(hù)5差別較大.在數(shù)據(jù)集中,用戶(hù)3和用戶(hù)100喜愛(ài)的電影類(lèi)型較為相似,與用戶(hù)5差別較大,與函數(shù)圖像所展示的情況一致,因此本文提出的用戶(hù)興趣分布估計(jì)方法可以比較好的估計(jì)用戶(hù)興趣分布.

圖3 三個(gè)用戶(hù)的興趣分布函數(shù)圖Fig.3 Three users′ interest distribution function graph
實(shí)驗(yàn)2.本組實(shí)驗(yàn)意在考量在不同的帶寬下,核函數(shù)的差異和對(duì)實(shí)驗(yàn)結(jié)果的影響,由于推薦列表的長(zhǎng)度和Σk×k維度也會(huì)影響推薦的準(zhǔn)確度,因此本實(shí)驗(yàn)的結(jié)果為針對(duì)不同核函數(shù)和不同帶寬調(diào)節(jié)推薦列表參數(shù)和Σk×k維度參數(shù)達(dá)到最優(yōu)的結(jié)果,Gaussian Kernel與Cosin Kernel做對(duì)比得到的結(jié)果如下:

圖4 兩種核函數(shù)隨帶寬的變化情況Fig.4 Variation of two kernel functions with bandwidth
從圖4中可以看到,帶寬在0.5到1.4之間變化時(shí),兩個(gè)核函數(shù)在最高點(diǎn)處的差距非常小,Cosin Kernel核函數(shù)在帶寬為0.7處取得最大準(zhǔn)確率0.292,Gaussian Kernel核函數(shù)在帶寬為1.0處取得最大準(zhǔn)確率0.311.兩條曲線(xiàn)走勢(shì)基本相同,Cosin Kernel對(duì)應(yīng)的折線(xiàn)從0.5到0.7時(shí)持續(xù)上漲,0.7以后下降非常迅速,Gaussian Kernel對(duì)應(yīng)的折線(xiàn)在0.5到1.0之間持續(xù)上漲,當(dāng)帶寬大于1.0時(shí),開(kāi)始下降,但下降幅度沒(méi)有Cosin Kernel對(duì)應(yīng)的折線(xiàn)陡峭,兩條折線(xiàn)的最高點(diǎn)處所對(duì)應(yīng)的帶寬與3.3節(jié)所述方法計(jì)算而得的帶寬差值很小,驗(yàn)證了3.3節(jié)所述帶寬計(jì)算方法真實(shí)有效.隨著帶寬的增長(zhǎng),兩個(gè)核函數(shù)對(duì)應(yīng)的準(zhǔn)確率有越來(lái)越低的趨勢(shì),這是因?yàn)閹掃^(guò)大時(shí)會(huì)掩蓋掉大量的數(shù)據(jù)分布細(xì)節(jié),導(dǎo)致對(duì)用戶(hù)某個(gè)項(xiàng)目的興趣進(jìn)行估計(jì)時(shí)產(chǎn)生很大的泛化.
實(shí)驗(yàn)3.本組實(shí)驗(yàn)意在對(duì)比本文算法與其它算法之間的準(zhǔn)確率和覆蓋率,評(píng)估本文算法性能.為此,本文算法將與SVD(Singular Value Decomposition)、PS[7](Probabilistic Selection)、PSVM[16]三種算法進(jìn)行比較,表1為本組實(shí)驗(yàn)結(jié)果.
SVD:SVD是矩陣分解類(lèi)算法中最有代表的算法之一.該算法的提出是為了解決推薦準(zhǔn)確率差問(wèn)題,在覆蓋率上考慮較少,本文算法便是在SVD的基礎(chǔ)上進(jìn)行改進(jìn),提高其覆蓋率.
PS:PS是采用概率選擇的方式對(duì)初始排序列表進(jìn)行抽選生成推薦列表,對(duì)于一個(gè)項(xiàng)目,先按一定概率確定它是不是需要推薦的類(lèi)型,再按一定的概率確定它是不是要推薦的項(xiàng)目,該算法在準(zhǔn)確率和覆蓋率上有比較好的平衡.
PSVM:該模型是LAD模型與結(jié)構(gòu)化支持向量機(jī)SSVM相融合的一個(gè)模型,它在組織推薦列表時(shí)充分考慮了時(shí)間推移對(duì)用戶(hù)興趣的變化,在準(zhǔn)確率和覆蓋率上也有比較好的平衡.表1中的四組實(shí)驗(yàn)結(jié)果均為通過(guò)參數(shù)對(duì)準(zhǔn)確率與覆蓋率進(jìn)行平衡得比較好的結(jié)果.在三組實(shí)驗(yàn)中,均取推薦列表長(zhǎng)度為70,以此消除召回率不同而帶來(lái)的實(shí)驗(yàn)誤差.
表1 三種算法實(shí)驗(yàn)結(jié)果對(duì)比
Table 1 Comparison of experimental results of three algorithms

KDE-SVDSVDPSPSVMPrecision0.3110.3350.2890.316Diversity0.8750.6210.8160.856P-C0.4590.4350.4270.466
從表1中可以看到,KDE-SVD算法由于在推薦時(shí)充分考慮了用戶(hù)的興趣分布,相比于只考慮用戶(hù)評(píng)分的SVD算法雖然Precision有小幅度降低,但Coverage卻有大幅度提升,說(shuō)明在推薦過(guò)程中考慮用戶(hù)興趣分布可以得到更好的推薦效果.和PS對(duì)比,KDE-SVD比PS有更好的準(zhǔn)確率和覆蓋率,從P-C值可以看出KDE-SVD在準(zhǔn)確率與覆蓋率的平衡上也明顯比PS好,.和PSVM相比,雖然在準(zhǔn)確率方面略低,但在覆蓋率上略有優(yōu)勢(shì).綜上三點(diǎn)說(shuō)明本文提出的融合核密度估計(jì)與奇異值分解推薦算法可以提高推薦系統(tǒng)在準(zhǔn)確率與覆蓋率方面的平衡能力,可以在精度不明顯下降的情況下大幅提高覆蓋率.
隨著互聯(lián)網(wǎng)的發(fā)展,推薦系統(tǒng)作為互聯(lián)網(wǎng)個(gè)性化服務(wù)的主要實(shí)現(xiàn)方式受到越來(lái)越多的研究者的關(guān)注.針對(duì)如何提高總體覆蓋率,本文用核密度估計(jì)的方式估計(jì)用戶(hù)的興趣分布,然后用與戶(hù)興趣分布相似的鄰居的評(píng)分對(duì)當(dāng)前用戶(hù)未評(píng)分的物品進(jìn)行預(yù)測(cè)評(píng)分,以此提高物品曝光率,在同一興趣下有很多物品,不同的用戶(hù)在一個(gè)興趣下選擇的物品往往是不一樣的,在用戶(hù)量大的情況下,任何一個(gè)物品都可能被推薦出來(lái).針對(duì)如何保證準(zhǔn)確率不明顯下降問(wèn)題,本文將上階段得到的預(yù)測(cè)評(píng)分填入用戶(hù)-評(píng)分矩陣,然后用推薦算法中準(zhǔn)確率高的SVD算法對(duì)其進(jìn)行分解,在SVD分解而得的m維空間中用相似度算法找出對(duì)當(dāng)前用戶(hù)行為相似的鄰居,此時(shí)得出鄰居即是興趣相似和行為相似調(diào)和的鄰居.在真實(shí)數(shù)據(jù)集上實(shí)驗(yàn)表明,本文算法可以保證精確率較高的情況下提高總體覆蓋率.在本文,僅考慮了總體多樣性的提升,而在個(gè)體多樣性考慮較少,因此,下一步將研究如何提升個(gè)體多樣性,提高推薦質(zhì)量.