国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于共享近鄰聚類的協(xié)同過濾方法

      文檔序號:9217297閱讀:712來源:國知局
      一種基于共享近鄰聚類的協(xié)同過濾方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于數(shù)據(jù)挖掘方法技術(shù)領(lǐng)域,具體涉及一種基于共享近鄰聚類的協(xié)同過濾 方法。
      【背景技術(shù)】
      [0002] 協(xié)同過濾技術(shù)早期的研宄過程中,推薦系統(tǒng)需要用戶主動有意識提交各自明確喜 歡的項目類型等資料來了解用戶的興趣偏好才能做出推薦,而實際上,大部分人對自己的 喜好比較模糊,難以表述出來,這樣就大大的阻礙了協(xié)同過濾技術(shù)的發(fā)展。經(jīng)過幾年后,智 能化的協(xié)同過濾算法被運(yùn)用到推薦系統(tǒng)中,大大的彌補(bǔ)了這一不足,形成自動化推薦系統(tǒng)。
      [0003] 協(xié)同過濾算法的基本思想是通過比較目標(biāo)用戶與其他用戶在評分行為上的相似 性來做推薦,計算用戶對目標(biāo)用戶的相似度,形成最近鄰居是協(xié)同過濾算法的關(guān)鍵步驟。在 使用協(xié)同過濾算法進(jìn)行推薦的時候需要搜尋整個用戶空間來尋找目標(biāo)用戶的最近鄰居,而 隨著數(shù)據(jù)集規(guī)模的增大,用戶和項目數(shù)量的增多,遍歷所有用戶來尋找目標(biāo)用戶的最近鄰 居非常耗時,這使得協(xié)同過濾推薦算法的響應(yīng)時間與用戶數(shù)量成正比例增加,實時性和可 擴(kuò)展性都受到了極大影響。

      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明的目的是提供一種基于共享近鄰聚類的協(xié)同過濾方法,解決了現(xiàn)有技術(shù)中 存在的分類精度較低,且實時性差的問題。
      [0005] 本發(fā)明所采用的技術(shù)方案是,一種基于共享近鄰聚類的協(xié)同過濾方法,具體按照 以下步驟實施:
      [0006] 步驟1、構(gòu)建用戶-項目評分矩陣R;
      [0007] 步驟2、計算用戶的共享近鄰相似度;
      [0008] 步驟3、根據(jù)每個用戶的共享近鄰密度進(jìn)行聚類,形成用戶簇C=IA,C2,…,Cn}, 并計算出用戶簇代表點(diǎn)集合CP= {cPi,cp2,…,cpj;
      [0009] 其中,cPi是用戶簇Ci的代表點(diǎn),i= 1,2, ? ? ?n;
      [0010] 步驟4、計算目標(biāo)用戶u與用戶簇(^的代表點(diǎn)cp滿相似度sim(u,cp);
      [0011] 步驟5、從步驟4得到的n個相似度中選出相似度較高的m個代表點(diǎn),將m個代表 點(diǎn)所在的用戶簇組成相似簇集合SC= {SCi,SC2,…,SCJ,其中,m彡n;
      [0012] 步驟6、對每個相似簇SCi中的每個用戶Uj,計算目標(biāo)用戶u與相似簇SCi中用戶 Uj的相似度sim(u,u』);
      [0013] 步驟7、取步驟6中相似度較高的N個用戶作為目標(biāo)用戶u的最近鄰用戶,得到目 標(biāo)用戶u的最近鄰用戶集合N= {Vi,v2,. . .,vN};
      [0014] 步驟8、通過最近鄰用戶集合N計算目標(biāo)用戶u對項目p的預(yù)測評分值 pred(u,p);
      [0015] 步驟9、取步驟8中得到的預(yù)測評分值中較高的k個項目,生成最終的推薦列表 RecList={ppp2,…,pk},即為對目標(biāo)用戶u的推薦列表。
      [0016] 本發(fā)明的特點(diǎn)還在于,
      [0017] 步驟1構(gòu)建用戶-項目評分矩陣R,具體為:用戶集U= {Ul,…un},項目集P= (Pi,…Pm},用戶屮對項目p」的評分值為r』,評分值Rj的nXm矩陣R稱作用戶-項目評分 矩陣,其中,如果用戶4未對項目p」評過分,則對應(yīng)的評分值ri;」為空,其中,i= 1,2,. . .n, j = 1,2,. . .m〇
      [0018] 步驟2計算用戶的共享近鄰相似度,具體為:
      [0019] 對任意兩個用戶,用戶u和用戶V,由公式(1)計算用戶間的相似度sim(u,v):
      [0021] 其中,表用戶u的評分值,rv,p代表用戶v的評分值,6代表用戶u的平均評 分,6代表用戶V的平均評分,
      [0022] 從中選出每個用戶相似度最高的k個用戶,構(gòu)造每個用戶的k最近鄰列表;
      [0023] 然后計算用戶的共享近鄰相似度:對任意兩個用戶,用戶u和用戶V,如果他們都 在對方的k最近鄰列表中,則他們的共享近鄰相似度SNNsim(u,v)就是它們共享的近鄰點(diǎn) 的數(shù)目;否則他們的共享近鄰相似度SNNsim(u,v)為零。
      [0024] 步驟3用戶簇C=IA,C2,…,CJ的形成具體為:
      [0025] 根據(jù)用戶的共享最近鄰相似度及鄰域半徑,可以計算出該用戶在鄰域半徑內(nèi)的 共享近鄰個數(shù),作為共享近鄰密度,設(shè)置閾值MinPts,選取共享近鄰密度大于MinPts的用 戶作為核心用戶,進(jìn)行簇劃分:如果兩個核心用戶的距離在鄰域半徑之內(nèi),則將它們放在 同一個簇中;同樣,任何落在核心用戶領(lǐng)域半徑內(nèi)的用戶,劃分到與核心用戶相同的簇中; 而所有不在任何核心用戶鄰域半徑內(nèi)的用戶,認(rèn)為是噪聲用戶而被丟棄;得到用戶簇C= IA,C2,…,CJ,n為簇個數(shù);
      [0026] 對每個用戶簇Q,計算該簇中所有用戶的平均值,得到該用戶簇代表點(diǎn)cPi,最終 得到一組用戶簇代表點(diǎn)集合為CP= {cPi,cp2,…,cpj。
      [0027] 步驟4計算目標(biāo)用戶u與用戶簇(^的代表點(diǎn)cp亦相似度sim(u,cp):
      [0029] 其中,1^代表用戶u的評分值,代表用戶簇(^的代表點(diǎn)cPi的評分值,5代表 用戶u的平均評分,^代表用戶簇(^的代表點(diǎn)cpi的平均評分,其中,i= 1,2, ...n。
      [0030] 步驟6中目標(biāo)用戶u與相似簇SQif用戶uj的相似度sim(u,uj):
      [0032] 其中,ru,$表用戶u的評分值,代表相似簇SQ中用戶u」的評分值,5代表 用戶U的平均評分,t代表相似簇SCi中用戶Uj的平均評分,其中,i=l,2,...n,j= 1,2,? ? ?m〇
      [0033] 步驟8中目標(biāo)用戶u對項目p的預(yù)測評分值pred(u,p)為:
      [0035] 其中,6表示目標(biāo)用戶u項目評分的平均值,5表示用戶v項目評分的平均值,rv,p 為用戶v的評分值,sim(u,v)為目標(biāo)用戶u與用戶v的相似度,為:
      [0037] 其中,表用戶u的評分值,6代表用戶u的平均評分,6代表用戶V的平均評 分。
      [0038] 本發(fā)明的有益效果是:
      [0039] ①本發(fā)明一種基于共享近鄰聚類的協(xié)同過濾方法,在推薦精度上優(yōu)于基于 k-means的協(xié)同過濾算法,非常接近于基于用戶的協(xié)同過濾算法;
      [0040] ②本發(fā)明一種基于共享近鄰聚類的協(xié)同過濾方法,利用聚類技術(shù)的引入,減少了 推薦算法的運(yùn)行時間,尤其當(dāng)用戶數(shù)增多時,耗時減少明顯,顯著提升了算法的實時性。
      【附圖說明】
      [0041] 圖1是本發(fā)明中兩個用戶的共享近鄰相似度示意圖;
      [0042] 圖2是本發(fā)明與基于k-means的協(xié)同過濾算法、傳統(tǒng)的基于用戶的協(xié)同過濾算法, 平均絕對誤差對比結(jié)果圖;
      [0043] 圖3是本發(fā)明與基于k-means的協(xié)同過濾算法、傳統(tǒng)的基于用戶的協(xié)同過濾算法, 運(yùn)行時間對比圖。
      【具體實施方式】
      [0044] 下面結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)行詳細(xì)說明。
      [0045] 本發(fā)明一種基于共享近鄰聚類的協(xié)同過濾方法,具體按照以下步驟實施:
      [0046] 步驟1、構(gòu)建用戶-項目評分矩陣R:用戶集U= ,…un},項目集P=h,…pm}, 用戶Ui對項目p^的評分值為ru,評分值ru的nXm矩陣R稱作用戶-項目評分矩陣,其 中,如果用戶七未對項目pj評過分,則對應(yīng)的評分值ri;j為空,其中,i= 1,2,. . .n,j= 1,2,? ? ?m〇
      [0047] 步驟2、計算用戶的共享近鄰相似度:
      [0048] 首先需要根據(jù)用戶相似度對用戶進(jìn)行聚類,將偏好相似的用戶劃分到同一個簇, 而不同簇之間的用戶相似度盡可能的低。傳統(tǒng)基于相似度和密度的聚類技術(shù),在高維數(shù)據(jù) 及不同密度數(shù)據(jù)上存在一定的局限性,無法產(chǎn)生理想的聚類結(jié)果。而推薦算法所用數(shù)據(jù)集 構(gòu)成的用戶評分矩陣一般都非常稀疏,這是因為實際應(yīng)用中用戶往往只會評價少部分物 品。由于大量的項目數(shù)目,使得用戶數(shù)據(jù)的維度也非常高,而在高維數(shù)據(jù)空間中,傳統(tǒng)相似 度并不可靠。這種數(shù)據(jù)集的特性使得基于傳統(tǒng)相似度的聚類方法不適用于用戶聚類。
      [0049] 因此本發(fā)明采用一種基于共享近鄰相似度的用戶聚類。通過共享近鄰點(diǎn)的個數(shù) 來決定兩個用戶的相似度,既能處理高維空間中兩個用戶數(shù)據(jù)相對接近但屬于不同簇的問 題,也能處理簇具有不同密度的問題。
      [0050] 對任意兩個用戶,用戶u和用戶V,由公式(1)計算用戶間的相似度sim(u,v):
      [0052]其中,表用戶u的評分值,rv,p代表用戶v的評分值,5代表用戶u的平均評 分,5代表用戶v的平均評分,
      [0053] 從中選出每個用戶相似度最高的k個用戶,構(gòu)造用戶的k最近鄰列表。然后計算 用戶的共享最近鄰相似度:對任意兩個用戶,用戶u和用戶V,如果他們都在對方的k最近 鄰列表中,則他們的共享近鄰相似度SNNsim(u,v)就是它們共享的近鄰點(diǎn)的數(shù)目。否則他 們的共享近鄰相似度SNNsim(u,v)為零。
      [0054] 例如圖1(a)中,計算兩個黑色數(shù)據(jù)點(diǎn)(即代表兩個用戶)的共享近鄰相似度,這 兩個點(diǎn)分別有8個最近鄰,這些最近鄰中有4個最近鄰點(diǎn)是共享的,因此這兩個點(diǎn)的共享近 鄰相似度如圖1(b)所示為4。
      [0055] 步驟3、根據(jù)每個用戶的共享近鄰密度進(jìn)行聚類,形成用戶簇C=IA,C2,…,Cn}, 并計算出用戶簇代表點(diǎn)集合CP= {cPi,cp2,…,cpj:
      [0056] 根據(jù)用戶的共享最近鄰相似度及鄰域半徑,可以計算出該用戶在鄰域半徑內(nèi)的共 享近鄰個數(shù),作為共享近鄰密度。共享近鄰密度能夠度量一個用戶被與它相似的用戶包圍 的程度,具有高共享近鄰密度的用戶一般可以被認(rèn)作是核心用戶,因為它們大部分分布在 簇的內(nèi)部。設(shè)置閾值MinPts,選取共享近鄰密度大于MinPts的用戶作為核心用戶,進(jìn)行簇 劃分。如果兩個核心用戶的距離在鄰域半徑之內(nèi),則將它們放在同一個簇中。同樣,任何落 在核心用戶領(lǐng)域半徑內(nèi)的用戶,劃分到與核心用戶相同的簇中。而所有不在任何核心用戶 鄰域半徑內(nèi)的用戶,可以認(rèn)為是噪聲用戶而被丟棄。
      [0057] 經(jīng)過上述過程可得到一組用戶簇C=IA,C2,…,CJ,n為簇個數(shù)。對每個用戶簇 Q,計算該簇中所有用戶的平均值,可得到該用戶簇代表點(diǎn)cPi,最終得到一組用戶簇代表點(diǎn) 集合為CP= {cPi,cp2,…,cpn}。
      [0058]步驟4、根據(jù)公式⑵計算目標(biāo)用戶u與用戶簇Q的代表點(diǎn)cpi的相似度 sim(u, cp^:
      [0060]其中,ru;p代表用戶u的評分值,代表用戶簇(^的代表點(diǎn)cpi的評分值,5代表 用戶u的平均評分,匕代表用戶簇(^的代表點(diǎn)cpi的平均評分,其中,i= 1,2,...n。
      [0061] 步驟5、從上述得到的n個相似度中選出相似度較高的m個代表點(diǎn)
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1