• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用余弦相似度修正評(píng)分的協(xié)同過(guò)濾推薦算法*

      2020-06-22 12:50:18張瑞典錢(qián)曉東
      關(guān)鍵詞:余弦不合理修正

      張瑞典,錢(qián)曉東

      (蘭州交通大學(xué)經(jīng)濟(jì)管理學(xué)院,甘肅 蘭州 730070)

      1 引言

      在互聯(lián)網(wǎng)高速發(fā)展的時(shí)代,信息處于一個(gè)爆炸增長(zhǎng)的狀態(tài),為緩解信息過(guò)載問(wèn)題,互聯(lián)網(wǎng)會(huì)為用戶(hù)推薦各種信息,比如淘寶商品,今日頭條的新聞,愛(ài)奇藝的電影電視等等。由于信息量太大,需要針對(duì)不同用戶(hù)選擇其需要或者感興趣的項(xiàng)目進(jìn)行推薦,既不會(huì)使用戶(hù)厭煩,又可高效地為用戶(hù)推薦有用的項(xiàng)目。

      根據(jù)評(píng)分計(jì)算用戶(hù)相似性[1],并依據(jù)相似性進(jìn)行項(xiàng)目推薦[2]是目前常用的協(xié)同過(guò)濾推薦[3]手段。而在評(píng)分時(shí),由于某些不合理因素可能導(dǎo)致少量用戶(hù)對(duì)項(xiàng)目做出與自身意志不相符的評(píng)分,比如因一時(shí)情緒導(dǎo)致評(píng)分的極端化,這類(lèi)評(píng)分會(huì)使相似度計(jì)算出現(xiàn)較大偏差,從而引起推薦結(jié)果出現(xiàn)明顯誤差。

      事實(shí)上,用戶(hù)的評(píng)分是由用戶(hù)的多種有關(guān)評(píng)分特征最終決定的,就是說(shuō)如果影響某用戶(hù)對(duì)某項(xiàng)目評(píng)分的所有相關(guān)信息一定,那么該用戶(hù)對(duì)該項(xiàng)目的評(píng)分就如同基因決定生物性狀一樣確定。然而,由于無(wú)法全面收集用戶(hù)有關(guān)評(píng)分的特征信息,因此在實(shí)際操作中,都是依據(jù)同一用戶(hù)對(duì)大量不同項(xiàng)目所做評(píng)分來(lái)衡量其評(píng)分特征,以不同用戶(hù)對(duì)同一組(多個(gè))項(xiàng)目做出的評(píng)分來(lái)衡量相互之間的相似度。但是,評(píng)分是離散數(shù)據(jù),不能準(zhǔn)確反映用戶(hù)的特征和不同用戶(hù)間的相似度,因此需要結(jié)合用戶(hù)具體的特征,以達(dá)到提高反映準(zhǔn)確度的目的。這種將評(píng)分與多種特征相結(jié)合的方法,可在一定程度上修正不合理評(píng)分帶來(lái)的相似度偏差,這也是大多數(shù)文獻(xiàn)所采用的方法。比如,文獻(xiàn)[4]利用用戶(hù)文本評(píng)論特征來(lái)修正可信度不高的評(píng)分?jǐn)?shù)據(jù),并將其與用戶(hù)偏好相結(jié)合來(lái)增加評(píng)分的可信度與區(qū)分度;文獻(xiàn)[5]采用多層次的推薦策略,將用戶(hù)的評(píng)分相似度[6]、興趣相似度[7]、特征相似度[5]進(jìn)行動(dòng)態(tài)融合,來(lái)挖掘目標(biāo)用戶(hù)的相似用戶(hù)集合。這2種方法都能削弱不合理評(píng)分對(duì)用戶(hù)相似度計(jì)算的影響,但效果均不明顯。

      為了更大程度地減小不合理評(píng)分帶來(lái)的影響,本文采用評(píng)分矩陣的多種維度進(jìn)行余弦相似度[8]比較的方法修正不合理評(píng)分。用不同用戶(hù)對(duì)高相似度的多個(gè)項(xiàng)目所做評(píng)分構(gòu)成的評(píng)分向量計(jì)算余弦相似度,首先將評(píng)分向量按元素個(gè)數(shù)均分為多組,分別求取對(duì)應(yīng)的余弦相似度,如果某組余弦相似度過(guò)小,表明該組存在不合理評(píng)分,再對(duì)帶不合理評(píng)分的數(shù)組進(jìn)行降維分組,如此往復(fù),最終可確定不合理評(píng)分;再對(duì)第1次分組的不帶不合理評(píng)分的各組余弦相似度求取平均值,將其作為帶不合理評(píng)分?jǐn)?shù)組的余弦相似度,從而計(jì)算出1個(gè)評(píng)分來(lái)取代所確定的不合理評(píng)分。

      修正評(píng)分后,結(jié)合皮爾遜相似度[9]、模糊偏好相似度[10]和Jaccard相似度[11]計(jì)算用戶(hù)相似度,以推薦評(píng)分[12]與實(shí)際評(píng)分間的平均絕對(duì)偏差(MAE)[13]、準(zhǔn)確率(Precision)[9]和覆蓋率(Coverage)[14]來(lái)衡量推薦性能。利用MovieLens數(shù)據(jù)庫(kù)[15]和Bookcrossing[16]數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn),結(jié)果表明:用余弦相似度修正評(píng)分的協(xié)同過(guò)濾算法相比未修正評(píng)分前的算法具有更高的推薦精度,其推薦評(píng)分MAE明顯下降。此外,本文算法與對(duì)照算法在MAE、Precision、Coverage指標(biāo)上的仿真實(shí)驗(yàn)均表明,本文算法具有更好的推薦效果。

      2 評(píng)分修正可行性分析及修正方案

      2.1 相似項(xiàng)目評(píng)分的余弦相似度的分析

      若存在A(yíng)1,A2,…,AT共T個(gè)用戶(hù),分別對(duì)2個(gè)項(xiàng)目C1和C2做出評(píng)分。表1所示為對(duì)應(yīng)評(píng)分情況,rtd表示At對(duì)Cd做出的評(píng)分。

      Table 1 T users’ ratings for 2 items表1 T個(gè)用戶(hù)對(duì)2個(gè)項(xiàng)目的評(píng)分

      如果C1和C2的理想相似度高,則兩者的余弦相似度高:

      (1)

      事實(shí)上,sim(C1,C2)cos≤1,當(dāng)且僅當(dāng)rt1∝rt2時(shí)取等號(hào)。設(shè)l為比例系數(shù),則在式(1)成立的情況下,有rt2≈lrt1成立。

      綜上所述,同一用戶(hù)對(duì)相似項(xiàng)目的評(píng)分大約成正比。

      求第e個(gè)用戶(hù)和第f個(gè)用戶(hù)相似度:

      (2)

      而當(dāng)re2≈lre1,rf2≈lrf1時(shí)則有:

      (3)

      因此,不同用戶(hù)對(duì)相似度高的項(xiàng)目所做評(píng)分的余弦相似度也高。顯然,當(dāng)被評(píng)分的相似項(xiàng)目數(shù)大于2時(shí),依然符合此規(guī)律。

      2.2 不合理評(píng)分的確定

      若存在2個(gè)用戶(hù)A和B,他們均對(duì)相同的項(xiàng)目組做了評(píng)分,且在這些項(xiàng)目組中存在各類(lèi)相似項(xiàng)目,抽取某類(lèi)高相似度鄰居項(xiàng)目N(N為小于或等于該類(lèi)相似項(xiàng)目所有個(gè)數(shù)的最大可被10 整除的數(shù),以便多次分組)個(gè),即A的評(píng)分向量為RA=(rA1,rA2,…,rAN),B的評(píng)分向量為RB=(rB1,rB2,…,rBN),將這N個(gè)項(xiàng)目分為n組,每組m個(gè)分?jǐn)?shù),則有:

      N=mn

      (4)

      規(guī)定A和B的第n組的評(píng)分向量為:

      (5)

      單獨(dú)計(jì)算每組相似度,由于所有項(xiàng)目相似度較高,在合理情況下,根據(jù)式(3)的結(jié)論有:

      (6)

      如果某組出現(xiàn)了不合理評(píng)分,則該組與其它組的相似度會(huì)出現(xiàn)較大的差異,其余弦相似度則會(huì)遠(yuǎn)小于1。為了給出更具體的判斷標(biāo)準(zhǔn),人為設(shè)定Δsim(A,B)cos,如果:

      (7)

      則認(rèn)為RAn或RBn中存在不合理評(píng)分;否則,均不存在。

      為了在A(yíng),B的評(píng)分向量中找出不合理評(píng)分,需要在不同維度下計(jì)算A,B間的余弦相似度。

      首先,分別在A(yíng),B的各組評(píng)分向量中自行對(duì)比相似度,以確定不合理評(píng)分出現(xiàn)在哪個(gè)用戶(hù)的評(píng)分向量中。假設(shè)第x組評(píng)分向量的相似度低于下限,選擇余弦相似度最大的1組(設(shè)為第y組)評(píng)分向量,如果:

      (8)

      則認(rèn)為A的第x組存在不合理評(píng)分。如果:

      (9)

      則認(rèn)為B的第x組存在不合理評(píng)分。

      然后,將帶有不合理評(píng)分的向量和另外1個(gè)用戶(hù)對(duì)應(yīng)序號(hào)的評(píng)分向量提取出來(lái)繼續(xù)分組。將第x組分為s組,每組q個(gè)分?jǐn)?shù),則有:

      m=sq

      (10)

      又規(guī)定A和B第x組再分組的第s組的評(píng)分向量為:

      (11)

      單獨(dú)計(jì)算每組相似度,重復(fù)式(6)~式(12)的操作,直到所提取到的評(píng)分向量元素個(gè)數(shù)為質(zhì)數(shù)。每次分組降維后,需要與分組前的相似度對(duì)比正常相似度,因?yàn)檎G闆r下應(yīng)該有:

      (12)

      且均應(yīng)在[1-Δsim(A,B)cos,1]。需要注意的是,所分組數(shù)與每組元素個(gè)數(shù)之間的數(shù)值差盡可能小,既保證高維向量計(jì)算相似度的準(zhǔn)確性,又保證有足夠的組進(jìn)行對(duì)比。

      最后,將質(zhì)數(shù)個(gè)元素的評(píng)分向量分為每2個(gè)元素1組,且前組的第2個(gè)元素作為后1個(gè)組的第1個(gè)元素。若哪組包含不合理評(píng)分,則對(duì)應(yīng)組的相似度與最后1次分組前的相似度相差較大。比如,rAz為不合理評(píng)分,則:

      (13)

      至此,不合理評(píng)分已被確定。

      2.3 不合理評(píng)分的修正

      (14)

      其中,i為第i組分組。

      不合理評(píng)分的修正可以推廣到多個(gè)不合理評(píng)分的修正。即求所有合理評(píng)分向量的相似度均值,并將其作為不合理評(píng)分向量的相似度,最終按余弦相似度計(jì)算的逆過(guò)程修正所有不合理評(píng)分。另外,式(8)和式(9)中所描述的判定方法只能判定出與合理評(píng)分相差最大的不合理評(píng)分,并不能說(shuō)明另1個(gè)用戶(hù)未做出不合理評(píng)分,因此確定不合理評(píng)分并修正后,需要將2個(gè)評(píng)分向量重復(fù)式(4)~式(14)的步驟,才能確定并修正2個(gè)用戶(hù)的不合理評(píng)分。

      3 基于評(píng)分矩陣修正的協(xié)同過(guò)濾推薦

      采用第2節(jié)中所述的方法將所有不合理評(píng)分修正一遍后,再利用修正后的評(píng)分矩陣計(jì)算用戶(hù)相似度。假設(shè)有u個(gè)用戶(hù)對(duì)v個(gè)項(xiàng)目做出了評(píng)分,評(píng)分矩陣表示為Ruv,rjk表示第j個(gè)用戶(hù)對(duì)第k個(gè)項(xiàng)目做出的評(píng)分。如果未評(píng)分,則將對(duì)應(yīng)的評(píng)分記為0。

      (15)

      本文以模糊化的混合評(píng)分相似度作為用戶(hù)評(píng)分的相似度,以此來(lái)衡量不同用戶(hù)的相似度。此相似度為3部分的乘積:皮爾遜相似度×平均模糊偏好相似度×Jaccard相似度。第j個(gè)用戶(hù)Aj和第h個(gè)用戶(hù)Ah的皮爾遜相似度為[12]:

      (16)

      定義1設(shè)U為一論域,給定1個(gè)映射μE:U→[0,1],x→μE(x)∈[0,1],可確定1個(gè)模糊集E,映射μE稱(chēng)為模糊集E的隸屬函數(shù),μE(x)稱(chēng)為x對(duì)E的隸屬度。

      評(píng)分模糊化隸屬函數(shù)如圖1所示。其定義式為:

      (17)

      Figure 1 Fuzzy membership function of rating圖1 評(píng)分模糊隸屬函數(shù)

      根據(jù)式(17),可求出某用戶(hù)對(duì)某項(xiàng)目的模糊偏好向量θ=(μlike,μdislike)。利用模糊偏好計(jì)算不同用戶(hù)間的偏好相似度,用ps(Aj,Ah)表示用戶(hù)Aj和用戶(hù)Ah間的平均偏好相似度[17,18]:

      (18)

      (19)

      dis(θjc-θhc)=

      (20)

      Jaccard相似度定義為2個(gè)集合的交集與并集的比。已知用戶(hù)Aj的評(píng)分項(xiàng)目集合Ij和用戶(hù)Ah的評(píng)分項(xiàng)目集合Ih,則用戶(hù)Aj,Ah的Jaccard相似度為[19]:

      (21)

      所以,用戶(hù)Aj,Ah的評(píng)分相似度為:

      sim(Aj,Ah)=simpcc(Aj,Ah)×

      ps(Aj,Ah)×J(Aj,Ah)

      (22)

      為某目標(biāo)用戶(hù)推薦項(xiàng)目,先根據(jù)用戶(hù)的相似度,尋找到目標(biāo)用戶(hù)在某一范圍內(nèi)的鄰居,然后基于評(píng)分的預(yù)測(cè)公式計(jì)算出該目標(biāo)用戶(hù)的推薦評(píng)分,然后依據(jù)推薦評(píng)分決定是否為用戶(hù)推薦某項(xiàng)目,或決定推薦某類(lèi)項(xiàng)目的概率。選定某一目標(biāo)用戶(hù),選出與其相似度較大的固定數(shù)量用戶(hù)構(gòu)成最近鄰居集合L。最近鄰居為用戶(hù)Aj關(guān)于項(xiàng)目Ck所推薦的評(píng)分為[20]:

      (23)

      4 算法步驟

      為了明確基于變維相似度修正評(píng)分的協(xié)同過(guò)濾推薦算法的實(shí)現(xiàn)過(guò)程,給出相應(yīng)的算法步驟。該算法步驟主要由2個(gè)部分組成:不合理評(píng)分確定和修正過(guò)程,相似度計(jì)算與評(píng)分推薦過(guò)程。

      步驟1不合理評(píng)分確定和修正過(guò)程

      輸入:RA,RB。

      輸出:修正評(píng)分。

      begin

      1.functionPartition(RA,RB)

      2. 提取RA的維數(shù)N;

      3.forn← 0toNstep 1do

      4.form← 0tonstep 1do

      5.ifN=mnthen

      6.sum[n][m] ←m+n;/*sum[n][m]為m與n的和*/

      7.endif

      8.endfor

      9.endfor

      10.ifsum[n][m] = min(sum[n][m])then/*min(sum[n][m])為sum[n][m]的最小值*/

      11.RA=[RA1,RA2,…,RAn];//將RA分為n組

      12.RB=[RB1,RB2,…,RBn];//將RB分為n組

      13.endif

      14.fori← 1tonstep 1do

      15.sim(Ai,Bi)cos← cos(RAi,RBi);

      16.ifsim(Ai,Bi)cos≥ 1-Δsim(Ai,Bi)costhen

      17. 不做處理;

      18.else

      19. 按式(8)和式(9)的方法確定不合理評(píng)分所在數(shù)組;

      20.RAx←RAi;

      21.RBx←RBi;

      22.endif

      23.endfor

      24.returnRAx,RBx;

      25.endfunction

      26.Partition(RA,RB);

      27.while(1)do

      28.Partition(RAx,RBx);

      29.ifN為質(zhì)數(shù)then

      30.break;

      31.endwhile

      32.按式(13)最終確定不合理評(píng)分;

      33.按式(14)修正不合理評(píng)分;

      endbegin

      步驟2相似度計(jì)算與評(píng)分推薦過(guò)程

      輸入:Ruv,L。

      輸出:推薦評(píng)分Pjk。

      begin

      1.forrjk∈Ijdo

      2.sum(rj)←sum(rj)+rjk;//對(duì)用戶(hù)Aj的評(píng)分求和

      3.endfor

      5.forrjk∈Ihdo

      6.sum(rh)←sum(rh)+rhk;/*對(duì)用戶(hù)Ah的評(píng)分求和*/

      7.endfor

      9.forrj∈Ijdo

      10.forrh∈Ihdo

      11. 按式(16)計(jì)算出皮爾遜相似度simpcc(Aj,Ah);

      12. 按式(17)~式(20)計(jì)算出模糊偏好平均相似度ps(Aj,Ah);

      13. 按式(21)計(jì)算出Jaccard相似度J(Aj,Ah);

      14.sim(Aj,Ah)=simpcc(Aj,Ah) *ps(Aj,Ah) *J(Aj,Ah);

      15.endfor

      16.endfor

      17.forCk∈{C1,C2,…,Cv}do

      18.forAh∈Ldo

      19. 按式(23)計(jì)算出用戶(hù)Aj對(duì)應(yīng)項(xiàng)目Ck的推薦評(píng)分Pjk;

      20.endfor

      21.endfor

      endbegin

      步驟1中,第1~25行先對(duì)評(píng)分向量進(jìn)行分組,再建立確定不合理評(píng)分所在數(shù)組的確定函數(shù),通過(guò)該函數(shù)可將評(píng)分向量降維分為多個(gè)分向量,并在分向量中找出帶有不合理評(píng)分的向量;第26~33行反復(fù)調(diào)用所建函數(shù)并最終確定和修正不合理評(píng)分。步驟2中,第1~4行求取用戶(hù)Aj的評(píng)分均值,第5~8行求取用戶(hù)Ah的評(píng)分均值,第9~16行計(jì)算用戶(hù)Aj與Ah的評(píng)分相似度,第17~21行計(jì)算用戶(hù)Aj對(duì)應(yīng)項(xiàng)目Ck的推薦評(píng)分。

      5 實(shí)驗(yàn)及結(jié)果分析

      5.1 數(shù)據(jù)集及仿真環(huán)境的介紹

      基于2個(gè)不同類(lèi)別的經(jīng)典數(shù)據(jù)庫(kù)MovieLens 100K和Bookcrossing進(jìn)行實(shí)驗(yàn),前者是電影評(píng)分系統(tǒng),用戶(hù)在觀(guān)影后根據(jù)自身的喜好度對(duì)影片進(jìn)行打分,評(píng)分值為1~5分,包括電影信息和用戶(hù)屬性信息。其中,電影信息包括電影ID、title、genres;用戶(hù)的屬性信息包括用戶(hù)ID、性別、年齡、職業(yè)、郵政編碼。后者是書(shū)籍評(píng)價(jià)系統(tǒng),由Ziegler等人使用爬蟲(chóng)程序從BookCrossing圖書(shū)社區(qū)采集的,包括隱式和顯式的評(píng)分信息,評(píng)分為1~10分。這2個(gè)數(shù)據(jù)集的具體參數(shù)如表2所示。

      Table 2 Specific parameters of the datasets表2 數(shù)據(jù)集的具體參數(shù)

      本文仿真環(huán)境的計(jì)算機(jī)配置為:Windows 10 操作系統(tǒng),8 GB 內(nèi)存,Intel(R)Core(TM)i7-6700HQ,CPU為主頻2.60 GHz,實(shí)驗(yàn)基于IDEA開(kāi)發(fā)平臺(tái),采用scala進(jìn)行開(kāi)發(fā)。

      5.2 評(píng)價(jià)指標(biāo)和對(duì)照算法的選取

      在推薦系統(tǒng)中,不同的評(píng)價(jià)指標(biāo)反映算法不同層面的性能,為了驗(yàn)證本文所提算法的有效性,實(shí)驗(yàn)采用平均絕對(duì)偏差(MAE)、準(zhǔn)確率(Precision)和覆蓋率(Coverage)進(jìn)行分析。

      假設(shè)目標(biāo)用戶(hù)對(duì)候選項(xiàng)目Ck的推薦評(píng)分為Pk,實(shí)際評(píng)分為rk,候選項(xiàng)目個(gè)數(shù)為M,則MAE的表達(dá)式[21]為:

      (24)

      MAE的值越小,表明預(yù)測(cè)誤差越小,推薦結(jié)果越準(zhǔn)確。

      假設(shè)Lj為用戶(hù)Aj的推薦列表商品集合,F(xiàn)j為用戶(hù)Aj喜歡的商品集合,則準(zhǔn)確率的表達(dá)式為:

      (25)

      Precision表示的是推薦列表中有多少比例的物品出現(xiàn)在測(cè)試集里的商品評(píng)分記錄中,準(zhǔn)確率的值越大,表明推薦精度越高。

      假設(shè)系統(tǒng)中的項(xiàng)目共有V個(gè),被推薦的項(xiàng)目為VR個(gè),則覆蓋率的表達(dá)式為:

      (26)

      覆蓋率越高,說(shuō)明用戶(hù)推薦列表中的商品越多,則整體多樣性越高。

      將經(jīng)典的以余弦相似度為基礎(chǔ)的協(xié)同過(guò)濾推薦算法(Cosine-CF)、文獻(xiàn)[5]提出的多層次混合協(xié)同過(guò)濾USICCF(User Score and Interest and Characteristic Cooperative Filtering)推薦算法作為本文基于余弦相似度修正評(píng)分的協(xié)同過(guò)濾ARCSCF(Adjusted Rating by Cosine Similarity Collaborative Filtering)推薦算法的對(duì)照算法。由于Cosine-CF算法僅從用戶(hù)間的評(píng)分進(jìn)行相似度的計(jì)算;USICCF算法基于用戶(hù)的評(píng)分、興趣與人口統(tǒng)計(jì)特征衡量相似度,借助用戶(hù)的其他特征能在一定程度上修正不合理評(píng)分帶來(lái)的相似度衡量誤差;而ARCSCF算法在利用余弦相似度修正不合理評(píng)分的基礎(chǔ)上,采用模糊化的混合評(píng)分相似度進(jìn)行相似鄰居用戶(hù)的提取。故本文選擇Cosine-CF和USICCF算法作為本文算法的對(duì)照算法,以便更好地反映本文算法利用余弦相似度修正不合理評(píng)分的有效性。

      5.3 實(shí)驗(yàn)結(jié)果及分析

      在實(shí)際操作中,為有效選取高相似度的項(xiàng)目組,本文通過(guò)對(duì)比項(xiàng)目參數(shù)進(jìn)行相似度評(píng)估。如MovieLens 100K數(shù)據(jù)集中的電影類(lèi)型、年代、時(shí)長(zhǎng)、出品地、清晰度、音質(zhì)、特效、所用語(yǔ)言、主角等級(jí)等,將各類(lèi)參數(shù)量化成項(xiàng)目特征向量。在量化項(xiàng)目參數(shù)時(shí),可采取分類(lèi)或分段的數(shù)字對(duì)應(yīng)法,比如類(lèi)型,類(lèi)型甲對(duì)應(yīng)數(shù)字“0”,類(lèi)型乙對(duì)應(yīng)數(shù)字“1”,類(lèi)型丙對(duì)應(yīng)數(shù)字“2”等;又比如年代,70年代對(duì)應(yīng)數(shù)字“0”,80年代對(duì)應(yīng)數(shù)字“1”,90年代對(duì)應(yīng)數(shù)字“2”等。量化后,求取這些特征向量的余弦相似度,當(dāng)余弦相似度達(dá)到90%以上時(shí),視為高相似度。同理,在選取Bookcrossing數(shù)據(jù)庫(kù)中的高相似度書(shū)籍時(shí)也采用上述方法。

      5.3.1 確定最優(yōu)參數(shù)

      在修正不合理評(píng)分時(shí),選取合適的Δsim(A,B)cos是一個(gè)比較關(guān)鍵的問(wèn)題。由于不合理評(píng)分在總體評(píng)分中所占比例很小,所以,為整體上使評(píng)分盡可能符合用戶(hù)意志,在確定Δsim(A,B)cos時(shí),采用修正前的rk。此時(shí),如果Δsim(A,B)cos過(guò)大,則不能有效修正不合理評(píng)分;如果過(guò)小,則會(huì)出現(xiàn)過(guò)度修正,將本身合理的評(píng)分差別縮小或消除,從而使修正后的評(píng)分不能代表用戶(hù)意志,進(jìn)而使MAE增大。采用MovieLens 100K數(shù)據(jù)集來(lái)確定Δsim(A,B)cos參數(shù)的最優(yōu)值,實(shí)驗(yàn)結(jié)果如圖2所示。

      Figure 2 MAE curve of each neighbor number corresponding to different Δsim(A,B)cos values圖2 不同Δsim(A,B)cos對(duì)應(yīng)各鄰居數(shù)的MAE曲線(xiàn)

      圖2為在不同用戶(hù)鄰居數(shù)目|L|情況下不同Δsim(A,B)cos對(duì)應(yīng)的MAE曲線(xiàn)。其中,|L|分別為20,40,60,80,100。Δsim(A,B)cos分別為0,0.04,0.08,0.12,0.16,0.2,0.24,0.28,0.32,0.36,0.4。

      根據(jù)圖2,無(wú)論用戶(hù)鄰居數(shù)|L|如何變化,MAE均隨Δsim(A,B)cos從0逐漸增大,先快速減小而后緩慢增大,最后逐漸趨于平穩(wěn)。表3所示為圖2對(duì)應(yīng)的MAE值。

      在已考察的Δsim(A,B)cos中,當(dāng)Δsim(A,B)cos在0.2附近時(shí),可使得MAE最小,故本文選取Δsim(A,B)cos=0.2。

      5.3.2 分析算法的收斂性

      采用MovieLens 100K和Bookcrossing數(shù)據(jù)集來(lái)驗(yàn)證ARCSCF算法在收斂性上的優(yōu)勢(shì),對(duì)照算法采用修正前的評(píng)分?jǐn)?shù)據(jù)集,本文算法采用修正后的評(píng)分?jǐn)?shù)據(jù)集。鑒于A(yíng)RCSCF算法和對(duì)照算法在MAE、Precision、Coverage上具有相似的實(shí)驗(yàn)結(jié)果,因此主要考察各個(gè)算法在Precision上的收斂狀況,實(shí)驗(yàn)結(jié)果如圖3所示。

      Figure 3 Precision convergence curve of each algorithm under different iteration times圖3 不同迭代次數(shù)下各算法的Precision收斂曲線(xiàn)

      圖3為在不同迭代次數(shù)情況下各算法對(duì)應(yīng)的Precision收斂曲線(xiàn),其中,迭代次數(shù)以200為步長(zhǎng)從0增長(zhǎng)到1 000。根據(jù)圖3a和圖3b可知,ARCSCF算法和對(duì)照算法的準(zhǔn)確率都隨著迭代次數(shù)的增長(zhǎng)而趨于收斂,并最終僅在小范圍內(nèi)波動(dòng)。ARCSCF算法的收斂速度相較于對(duì)照算法更快,在迭代大概100次以后基本趨于穩(wěn)定,而Cosine-CF算法、USICCF算法分別在迭代大約200次,180次以后趨于平穩(wěn)。這是因?yàn)锳RCSCF算法在修正用戶(hù)不合理評(píng)分基礎(chǔ)上進(jìn)行商品推薦,保證每次迭代均能尋找到與目標(biāo)用戶(hù)真正相似的推薦用戶(hù)群,進(jìn)而使得ARCSCF算法的收斂速度更快,能在較少的迭代次數(shù)下便可獲得較高的推薦準(zhǔn)確率。

      5.3.3 對(duì)照實(shí)驗(yàn)

      在鄰居數(shù)不同的情況下對(duì)評(píng)分修正前和評(píng)分修正后的MAE進(jìn)行對(duì)比,從而反映本文算法對(duì)推薦準(zhǔn)確度的影響。基于MovieLens 100K數(shù)據(jù)集考察MAE隨|L|的變化時(shí),實(shí)際評(píng)分采用修正后的rk值,在未修正和修正后2種情況下對(duì)比不同用戶(hù)鄰居數(shù)目對(duì)應(yīng)的MAE,所得曲線(xiàn)如圖4所示,對(duì)應(yīng)具體的MAE值如表4所示。

      Table 3 MAE of each neighbor number corresponding to different Δsim(A,B)cos values表3 不同Δsim(A,B)cos對(duì)應(yīng)各鄰居數(shù)的MAE值

      Figure 4 MAEs before and after revision when Δsim(A,B)cos=0.2圖4 Δsim(A,B)cos=0.2時(shí)修正前后對(duì)應(yīng)的MAE

      根據(jù)圖4和表4可以看出,評(píng)分修正后的推薦評(píng)分的MAE相比修正前的有所下降。隨著鄰居數(shù)的增多,推薦評(píng)分的MAE越來(lái)越小,且其變化越來(lái)越趨于平穩(wěn),同時(shí)評(píng)分修正前后推薦評(píng)分MAE的差距越來(lái)越明顯。這是因?yàn)殡S著鄰居數(shù)增多,出現(xiàn)不合理評(píng)分的概率越大,對(duì)推薦精度影響越大。

      Table 4 MAEs before and after revision corresponding to different neighbor numbers表4 評(píng)分修正前后不同用戶(hù)鄰居數(shù)對(duì)應(yīng)的MAE值

      為了進(jìn)一步驗(yàn)證本文算法的先進(jìn)性,基于MovieLens 100K和Bookcrossing數(shù)據(jù)集比較ARCSCF算法和對(duì)照算法在MAE、Precision、Coverage指標(biāo)上的推薦性能,同樣地,對(duì)照算法采用修正前的評(píng)分?jǐn)?shù)據(jù)集,本文算法采用修正后的評(píng)分?jǐn)?shù)據(jù)集。隨機(jī)地將實(shí)驗(yàn)數(shù)據(jù)的80%作為訓(xùn)練集和20%作為測(cè)試集,該方式可能存在一定的人為處理偏差,故進(jìn)行5折交叉實(shí)驗(yàn),將5次實(shí)驗(yàn)的平均值作為最終仿真結(jié)果。實(shí)驗(yàn)結(jié)果如圖5~圖7所示。

      Figure 5 MAE curve of each algorithm corresponding to different neighbor numbers |L|圖5 不同鄰居數(shù)|L|對(duì)應(yīng)各算法的MAE曲線(xiàn)

      Figure 6 Precision curve of each algorithm corresponding to different neighbor numbers |L|圖6 不同鄰居數(shù)|L|對(duì)應(yīng)各算法的Precision曲線(xiàn)

      Figure 7 Coverage of each algorithm corresponding to different neighbor numbers |L|圖7 不同鄰居數(shù)|L|對(duì)應(yīng)各算法的Coverage值

      從圖5a和圖5b可以看出,3種算法的MAE曲線(xiàn)在2個(gè)不同類(lèi)別數(shù)據(jù)集MovieLens 100K和Bookcrossing上均呈波動(dòng)下降態(tài)勢(shì),對(duì)照算法的MAE曲線(xiàn)下降幅度較小,ARCSCF算法的MAE曲線(xiàn)下降幅度較大,ARCSCF算法的MAE指標(biāo)整體取值均小于對(duì)照算法的,說(shuō)明本文算法的預(yù)測(cè)精度最高。此外,在鄰居數(shù)|L|為80,100附近時(shí),對(duì)照算法的MAE基本趨于平緩,ARCSCF算法的MAE還有下降趨勢(shì)。這是因?yàn)镃osine-CF算法僅從用戶(hù)間的評(píng)分進(jìn)行相似度的衡量,但不合理評(píng)分的存在會(huì)使得相似用戶(hù)的挖掘不夠準(zhǔn)確;USICCF算法將用戶(hù)評(píng)分與用戶(hù)特征相結(jié)合能在一定程度上弱化不合理評(píng)分的影響,但效果并不明顯;而ARCSCF算法在修正用戶(hù)不合理評(píng)分基礎(chǔ)上進(jìn)行商品推薦,使得修正后的評(píng)分?jǐn)?shù)據(jù)更符合用戶(hù)真實(shí)的偏好狀況,進(jìn)而縮小相似度計(jì)算的誤差,能推薦更符合用戶(hù)真實(shí)喜好的商品,故ARCSCF算法相比對(duì)照算法能獲得更好的推薦效果。

      由圖6a和圖6b可知,3種算法的Precision值在2個(gè)不同類(lèi)別數(shù)據(jù)集MovieLens 100K和Bookcrossing上均隨著鄰居數(shù)|L|的增加呈現(xiàn)上升趨勢(shì),Cosine-CF算法的增長(zhǎng)幅度最小,USICCF算法次之,ARCSCF算法最大,且ARCSCF算法在Precision指標(biāo)上的整體取值均高于對(duì)照算法的。同時(shí),當(dāng)鄰居數(shù)|L|在80,100附近時(shí),對(duì)照算法均趨于平緩,而ARCSCF算法仍有上升趨勢(shì)。這是因?yàn)锳RCSCF算法基于修正后的評(píng)分?jǐn)?shù)據(jù)集進(jìn)行協(xié)同過(guò)濾推薦,能獲得更相似的用戶(hù)群,故推薦準(zhǔn)確率相較于對(duì)照算法來(lái)說(shuō)更高。

      根據(jù)圖7a和圖7b可知,ARCSCF算法相比對(duì)照算法在2個(gè)不同類(lèi)別數(shù)據(jù)集MovieLens 100K和Bookcrossing上的Coverage指標(biāo)有很大的提升,ARCSCF算法的覆蓋率最高,USICCF算法次之,Cosine-CF算法的最低。ARCSCF算法先對(duì)評(píng)分?jǐn)?shù)據(jù)集中的不合理數(shù)據(jù)進(jìn)行修正,再基于修正后的評(píng)分?jǐn)?shù)據(jù)從用戶(hù)的實(shí)際消費(fèi)偏好進(jìn)行商品推薦,使推薦的商品能更好地貼合用戶(hù)多樣化、個(gè)性化的消費(fèi)喜好,從而提高推薦的覆蓋率。

      6 結(jié)束語(yǔ)

      在眾多用戶(hù)對(duì)眾多項(xiàng)目做出評(píng)分的過(guò)程中,難免出現(xiàn)因某些原因致使部分用戶(hù)所做的少量評(píng)分與自身意志不相符的情況,即不合理評(píng)分。為了在推薦時(shí)盡可能地減小這類(lèi)評(píng)分的影響,本文提出了一種基于余弦相似度的評(píng)分修正算法,采用該算法可有效修正不合理評(píng)分,將帶修正評(píng)分的評(píng)分?jǐn)?shù)組用于相似度計(jì)算,進(jìn)而為用戶(hù)進(jìn)行項(xiàng)目推薦。其中,評(píng)分相似度由皮爾遜相似度、模糊偏好相似度和Jaccard相似度相乘得到。將未修正評(píng)分?jǐn)?shù)組和修正后的評(píng)分?jǐn)?shù)組用于協(xié)同推薦,結(jié)果表明,后者推薦評(píng)分MAE相比前者更小。此外,將本文算法與其他算法進(jìn)行仿真實(shí)驗(yàn),同樣能驗(yàn)證該算法的有效性,實(shí)驗(yàn)結(jié)果反映出本文算法相比對(duì)照算法能獲得更好的推薦效果。

      猜你喜歡
      余弦不合理修正
      Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
      修正這一天
      我院2018年抗生素不合理處方分析
      合同解釋、合同補(bǔ)充與合同修正
      法律方法(2019年4期)2019-11-16 01:07:28
      軟件修正
      兩個(gè)含余弦函數(shù)的三角母不等式及其推論
      分?jǐn)?shù)階余弦變換的卷積定理
      圖像壓縮感知在分?jǐn)?shù)階Fourier域、分?jǐn)?shù)階余弦域的性能比較
      向“不合理用藥”宣戰(zhàn)
      離散余弦小波包變換及語(yǔ)音信號(hào)壓縮感知
      宜阳县| 安溪县| 岑巩县| 东城区| 九江县| 大悟县| 神农架林区| 沁源县| 武平县| 章丘市| 丘北县| 北宁市| 安远县| 扶沟县| 张家界市| 万州区| 石泉县| 马关县| 婺源县| 平和县| 克拉玛依市| 若羌县| 龙里县| 广东省| 高尔夫| 和硕县| 商水县| 朝阳县| 江城| 洛南县| 美姑县| 金堂县| 阜阳市| 开远市| 十堰市| 云林县| 荆州市| 镶黄旗| 芷江| 云浮市| 崇义县|