基於使用者的協同過濾演算法簡介

2022-09-01 01:15:11 字數 1499 閱讀 5216

基本思想:

根據使用者對物品的評分向量之間的相似性,搜尋目標使用者的最近鄰居,然後根據最近鄰居的評分向目標使用者產生推薦。

基本步驟:

建立使用者模型:協同過濾演算法的輸入資料通常表示為乙個m*n的使用者—評價矩陣r,m使用者數,其中rij其中rij表示第i個使用者對第j個物品的評分值:

這裡的評分值可以是使用者的瀏覽次數,購買次數等隱式的評分,還可以採用顯示評分,如使用者對商品的直接評分,本演算法的實現是採用使用者對所購買商品的直接評分作為評分矩陣中評分值的。

2. 尋找最近鄰居:主要完成對目標使用者最近鄰居的查詢。通過計算目標使用者與其他使用者之間的相似度,算出與目標使用者最相似的「最近鄰居」集。即: 對 目標使用者u產生乙個以相似度sim(u,v)遞減排列 的「 鄰居」 集合。該過程分兩步完成:首先計算使用者之間的相似度,可採用皮爾森相關係數、余弦相似性和修正的余弦相似性等度量方法,其次是根據如下方法選擇「 最近鄰居」:(1)選擇相似度大於設定閾值的使用者;(2)選擇相似度最大的前 k個使用者;(3) 選擇相似度大於預定閾值的 k個使用者。

其中sim(i,j)表示使用者i與使用者j之間的相似性,表示最近鄰居使用者j對物品d的評分,

和分別表示使用者和使用者的平均評分,公式的實質是在使用者的最近鄰居集nbsi中查詢使用者,並將目標使用者與查詢到的使用者的相似度的值作為權值,然後將鄰居使用者對該項目的評分與此鄰居使用者的所有評分的差值進行加權平均。

通過上述方法**出目標使用者對未評價物品的評分,然後選擇**評分最高的top-n項推薦給目標使用者。

基於使用者的協同過濾演算法優缺點分析

優點分析:

首先,它能夠通過使用者間的相互協助、根據使用者對物品的評分的相似性對使用者進行分類,所得到的結果是比較精確的。其次,在基於使用者的協同過濾系統中,所有使用者都能從鄰居使用者的反饋評價中得益,只要每個使用者為系統貢獻乙份力量,系統的效能就會越來與完善。最後,基於使用者的協同過濾系統容易挖掘出目標使用者潛在的新興趣,即能夠實現奇異發現。

缺點分析:

1.稀疏性。乙個大型的電子商務推薦系統一般有非常多的物品,使用者可能買的其中不到1%的物品,不同使用者之間買的物品的重疊性較低,導致演算法無法找到乙個使用者的鄰居,即偏好相似的使用者。

2.冷啟動問題。在乙個新的物品首次出現的時候,沒有使用者對它做過評價,基於使用者的協同過濾無法對其進行**評分和推薦。而且,由於在新物品出現早期,使用者評價較少,推薦的準確性不高。

3.特殊使用者問題。一小部分偏好特殊的使用者不會受益於基於使用者的協同過濾推薦系統,因為基於使用者的協同過濾推薦是基於鄰居使用者資料得到對目標使用者的推薦,其計算隱含著乙個前提就是每個使用者都必須有相對集中並固定的興趣愛好。而這些特殊使用者的觀點和任何一類群體都不相同,無法找到鄰居使用者協同進行推薦。即使在系統初始階段過去之後,這些特殊使用者也很難從協同過濾系統中得到比較精確的推薦。

[1]基於使用者的協同過濾推薦演算法研究.周強

協同過濾演算法 基於使用者

背景 使用基於使用者的協同過濾演算法進行 讀取檔案,處理每一行資料,把使用者id和 id轉化為long型別 因為協同過濾模型這兩列為long類 並轉化為datamodel 模型輸入資料 轉化出使用者評分矩陣 沒有的填充0 如下表所示 部分 使用者id id110 100101 102103 1041...

協同過濾 基於使用者的協同過濾itemCF

基於使用者的協同過濾演算法也被稱為最近鄰協同過濾或knn k nearest neighbor,k最近鄰演算法 其核心思想就是,首先根據相似度計算出目標使用者的鄰居集合,然後用鄰居使用者評分的加權組合來為目標使用者作推薦。通常這些演算法都可以總結成三步 首先,使用使用者已有的評分來計算使用者之間的相...

基於使用者的協同過濾演算法

最近正在讀項亮博士的 推薦系統實踐 人民郵電出版社,這本書應當是目前國內為數不多的介紹推薦演算法的了。目前正在學習基於使用者的協同過濾演算法 usercf user based collaborative filtering 該演算法是推薦系統中最古老的演算法,標誌著推薦系統的誕生,該演算法在199...