一種結合模糊權重相似性度量和聚類協同過濾的方法
【專利摘要】本發明公開了一種結合模糊權重相似性度量和聚類協同過濾的方法,依據用戶—項目評分矩陣Rm×n,用fcos,fcor,fadj分別計算用戶三種不同的相似度矩陣FCOS,FCOR,FADJ,再根據k-means算法和分類個數kcluster對所有用戶進行分類。確定用戶的最近鄰居集s(Ui),然后利用ri,c計算預測評分;依照上述策略,直到對所有用戶評分進行預測。本發明的模糊相似度聚類IBCF\UBCF在鄰居集s(Ui)查找準確度上有了明顯提高;對評分值和評分偏差進行模糊化,更接近于用戶對于項目的真實評價;相似度計算加入模糊權重wc后,用戶間的相似度更趨于精確,從而提高了推薦系統的性能。
【專利說明】一種結合模糊權重相似性度量和聚類協同過濾的方法
【技術領域】
[0001] 本發明屬于推薦系統【技術領域】,尤其涉及一種結合模糊權重相似性度量和聚類協 同過濾的方法。
【背景技術】
[0002] 隨著互聯網和信息技術的快速發展和普及,人們對信息的依賴程度與日俱增。信 息技術的大量使用提高了信息的生產、處理和傳播的效率。互聯網作為信息時代的基礎平 臺,承載了大量的信息資源。面對海量的信息資源,用戶無法篩選出對自己有用的信息,這 就是信息過載問題。為了解決信息過載問題,推薦系統應運而生。與傳統的信息過濾技術 搜索引擎相比,推薦系統不需要用戶提供搜索的關鍵詞,而是通過分析用戶歷史行為記錄 發現用戶潛在愛好,從而產生推薦。因此,推薦系統滿足了用戶的個性化需求。
[0003] 協同過濾推薦算法是推薦系統的主流算法,這種算法的基本思想是:用戶會喜歡 (不喜歡)與他興趣相同(不相同)的用戶所喜歡的項目。協同過濾算法主要分為:基于 內存的算法和基于模型的算法。基于內存的協同過濾算法可分為基于用戶的協同過濾算法 (user-basedcollaborativefiltering,UBCF)和基于項目的協同過濾算法(item-based collaborativefiltering,IBCF)。兩種算法的關鍵都在于相似度的計算,不同的相似度計 算方法會對目標用戶產生不同的鄰居集,進而影響推薦結果。而傳統的相似度計算方法直 接應用用戶的評分值或評分偏差,沒有考慮用戶評分的不確定性和不同的評分習慣。因 此,我們應該給原始評分加上合適的權重值,以逼近用戶真實的評分意愿。文獻Improving Coll-aborativeFilteringRecommenderSystemResultsandPerformanceUsing GeneticAlgorithms研究了評分和權重線性組合以優化相似度計算函數方法,其中權重通 過遺傳算法(geneticalgorithm)迭代收斂到預定條件。文獻OptimizingCollaborative FilteringRecommenderSystems提出了對用戶和鄰近項目采用不同的權重方式來提高 推薦的質量° 文獻Clusterensemblesincollaborativefilteringrecommendation 提出了聚類融合技術,首先應用兩個著名的聚類技術(self-organizingmaps(SOM) 和k-means)對用戶進行聚類尋找相似用戶群,然后分別用三種聚類融合算法(the cluster-basedsimilaritypartitioningalgorithm(CSPA),hypergraphpartitioning algorithm(HGPA)和majorityvoting)對相似用戶群進行融合得到綜合相似關系群。最 后,利用綜合相似關系群為目標用戶推薦項目。該方法改善了基于用戶的協同過濾推薦算 法面臨的"冷啟動"問題,而且提高了推薦系統的推薦精度。文獻Afuzzyrecommender systembasedontheintegrationofsubjectivepreferencesandobjective information將模糊語義模型融入到協同過濾推薦中,并提出了組合主觀和客觀用戶觀點 的協同過濾算法(aggregatedsubjectiveandobjectiveusers'viewpoint(ASOV)) 該算法在一定程度上解決了"冷啟動"和數據稀疏性問題。文獻Facingthecoldstart probleminrecommendersystems提出了改進的相似度技術、預測機制,將人口統計信息 應用到相似關系群的查找,該方法改善了協同過濾推薦算法面臨的"冷啟動"問題。
[0004] 雖然國內外的眾多學者對協同過濾推薦算法進行了深入地研究,但協同過濾算 法仍存在很多值得研究的問題,特別是大量數據導致的稀疏性問題,"冷啟動"問題和提 高推薦精度等方面仍值得進行探索。
【發明內容】
[0005] 本發明實施例的目的在于提供一種結合模糊權重相似性度量和聚類協同過濾的 方法,旨在解決協同過濾算法中存在的提高推薦精度,數據稀疏性問題和"冷啟動"問題。
[0006] 本發明實施例是這樣實現的,一種結合模糊權重相似性度量和聚類協同過濾的方 法,該結合模糊權重相似性度量和聚類協同過濾的方法根據用戶評分值和模糊權重《。,計 算任意兩個用戶之間的相似度;利用k-means聚類方法對全部用戶分成若干類;對于目標 用戶,在所屬的類中按相似度由高到底選取鄰居集;然后,根據鄰居集內其他用戶對目標項 目的評分,預測目標用戶對目標項目的評分。
[0007] 進一步,該結合模糊權重相似性度量和聚類協同過濾的方法包括以下步驟:
[0008] 步驟一,處理用戶一項目評分矩陣Rmxn,確定目標用戶%、待評分的項目I。、最近鄰 居查詢個數knear和分類數kcluster;
[0009] 步驟二,依據評分矩陣Rmxn,用fcos,fcor,fadj分別計算用戶三種不同的相似度 矩陣FCOS,FCOR,FADJ,從相似度矩陣中知道任意兩個用戶之間的相似度;fcos:模糊加權 余弦相似性;fcor:模糊加權相關相似性;fadj:模糊加權修正余弦相似性;
[0010] 步驟三,由步驟二得出的相似度,再根據k-means算法和分類個數kcluster對所 有用戶進行分類;
[0011] 步驟四,選取用戶Ui所在的類index;確定用戶的最近鄰居集S(Ui);
[0012] 步驟五,然后利用計算預測評分;
【權利要求】
1. 一種結合模糊權重相似性度量和聚類協同過濾的方法,其特征在于,該結合模糊權 重相似性度量和聚類協同過濾的方法包括以下步驟: 步驟一,處理用戶一項目評分矩陣Rmxn,確定目標用戶Ui、待評分的項目I。、最近鄰居查 詢個數knear和分類數kcluster; 步驟二,依據評分矩陣Rmxn,用fcos,fcor,fadj分別計算用戶三種不同的相似度矩陣FCOS,FCOR,FADJ,從相似度矩陣中知道任意兩個用戶之間的相似度;fcos:模糊加權余弦 相似性;fcor:模糊加權相關相似性;fadj:模糊加權修正余弦相似性; 步驟三,由步驟二得出的相似度,再根據k-means算法和分類個數kcluster對所有用 戶進行分類; 步驟四,選取用戶Ui所在的類index;確定用戶的最近鄰居集s(Ui); 步驟五,然后利用
ιγ。計算預測評分; k。:用戶Ui對項目I。的評分;^ :用戶Ui的平均評分;s(Ui):用戶Ui的最近鄰居集; 步驟六,循環步驟四和步驟五直到對測試集中的所有用戶的評分都進行了預測。
2. 如權利要求1所述的結合模糊權重相似性度量和聚類協同過濾的方法,其特征在 于,步驟二中的fcos,fcor,fadj通過引入模糊權重w。,模糊加權余弦相似性、模糊加權相關 相似性和模糊加權修正余弦相似性的定義如下:
表示用戶Ui對項目I。的評分,f和f分別表示用戶Ui和用戶%的平均評分。
3. 如權利要求2所述的結合模糊權重相似性度量和聚類協同過濾的方法,其特征在 于,fcos中w。求得的方法: 模糊向量中的元素個數是由模糊集的個數決定,評分的隸屬函數為:
r=4時,相應的二元隸屬向量為? =(0,75,0.25);任取用戶Ui和用戶%共同評價過的 推薦項目I。e Iij,向量4和4關于推薦項目I。e Iij的模糊權重w。為:
其中《^(4 -孓)表示向量4和4之間的歐式距離,1為向量的維數,K為向量4中 的第k個元素;在w。中,用萬減去其它值是因為為孓)的最大值(對于向量 4=(0,丨),孓=(丨,0)的乜8(·))。
4.如權利要求2所述的結合模糊權重相似性度量和聚類協同過濾的方法,其特征在 于,fcor和fadj中w。的求得方法: 用戶Ui和用戶%對共同評分過的推薦項目1。^Iu的評分與各自評分均值的偏差為devic 和(Ievjc ;分別用verybad(vb)、bad(b)、fair(f)、good(g)、verygood(vg)表不 5 個 模糊集,由5個模糊集組成評分偏差的隸屬函數為:
devic; = 2. 7,根據隸屬函數的定義,隸屬向量為:?/?·τ/(. =(0,0,0,0.3,0.7);對于向量 和^*關于推薦項目ceIu的模糊權重w。為:
其中-ifeVp)表示向量和£/£^/(;之間的歐式距離,1為向量的維數,i/evf為 向量dev:c的第k個元素;在w。中,用▲減去其它值是因為萬為-辦v'A.)的最大值 (對于i/c,v,i; =(0,0,0,0,1),c/i,v/r =(1,0,0,0,0)的dis( ·))。
5.如權利要求1所述的結合模糊權重相似性度量和聚類協同過濾的方法,其特征在 于,在步驟五中S(Ui)的更新方法包括: 第一步,對用戶Ui與所在的類index中的其它用戶按照相似度大小降序排列;并與對 目標項目I。評分不為〇的用戶集USER。中用戶求交集組成用戶群Ci(Ui); 第二步,若|9(1^)|彡1〇16&1',取9(1^)中前1〇16&1'個用戶組成8(1^) ; 第三步,當 0 <Iq(Ui)I彡knear時,則S(Ui)為q(Ui); 第四步,當Iq(Ui)I= 0時,對用戶Ui與所有用戶U按照相似度大小降序排列;并與USER。中用戶求交集組成新用戶群Ci(Ui); 第五步,若|9(1^)|彡1〇1631',取9(1^)中前1〇1631'個用戶組成8(1^); 第六步,當 〇 <Iq(Ui)I彡knear時,則S(Ui)為Q(Ui); 第七步,當Iq(Ui)I=0時,對用戶集USER。按照相似度大小降序排列,取前knear個用 戶作為s(Ui);如果〇<IusercJ彡knear,取IusercJ個用戶組成s(Ui);否則IusercJ=〇, 則S(Ui)為空集。
【文檔編號】G06F17/30GK104239496SQ201410457937
【公開日】2014年12月24日 申請日期:2014年9月10日 優先權日:2014年9月10日
【發明者】齊小剛, 張雅科, 鄭耿忠, 劉立芳, 馬軍艷, 李強, 楊國平, 馮海林 申請人:西安電子科技大學, 韓山師范學院