集體智慧型程式設計 協同過濾

2021-08-23 11:59:01 字數 1530 閱讀 7829

目錄

1. 基於使用者的協同過濾

1.1 相似度評價值

1.1.1 歐幾里得距離:

1.1.2 皮爾遜相關度:

1.1.3 曼哈頓距離演算法

1.1.4 jaccard係數

1.1.5 余弦相似度

1.2 推薦物品

2. 基於物品的協同過濾

3. 兩種協同過濾比較

協同過濾演算法通常是對一大群人進行搜尋,並從中找出與我們品味想近的一小群人。演算法會對這些人所偏愛對其他內容進行考查,並將他們組合起來構造出乙個經過排名的推薦列表。 

既然要找到品味方面的相似度,就需要將個體與其他人進行比較,並計算他們的相似度評價值;

這個比較簡單,採用歐幾里得度量方法即可:

該相關系統是判斷兩組資料與某一直線的擬合程度的一種度量。公式較複雜,皮爾遜相關度修正了誇大分值,它在資料不是很規範的情況下會傾向於給出更好的結果,如:影評者對影評的評價總是相對於平均水平偏離很大。

皮爾遜的相關性係數可以看為協方差與標準差的商。

就是用曼哈頓距離(計程車距離)來度量兩者的相似性。

用於比較有限樣本集之間的相似性與差異性。jaccard系數值越大,樣本相似度越高。

還可以用於文字相似性、序列相似性,非常適合資料集只有0、1兩組取值的資料集。另外可以了解下tanimoto係數,又稱谷本係數。

通過測量兩個向量的夾角的余弦值來度量它們之間的相似性。余弦相似度通常用於正空間,因此給出的值為0到1之間,值越大相似性越大。

為小紅提供推薦

相似度肖生剋s.肖生剋

復聯3s.復聯3

頭號玩家

s.頭號玩家

小白0.90

8.70

7.83

9.10

8.19

9.20

8.28

小蘭0.50

6.70

3.35

8.00

4.00

7.40

4.20

小綠0.60

7.20

4.32

9.20

5.52

小黑0.30

8.30

2.49

6.10

1.83

總計17.99

14.02

18sim.sum

2.31.7

2.0總計/sim.sum

7.82

8.249

在擁有大規模資料的情況下,基於物品的協同過濾能夠更好得到結論,而且它允許我們將大量計算任務預先執行,從而使需要給予推薦的使用者能夠更快地得到他們所要的結果。

總體思路:

為每件物品預先計算好最為相近的其他物品

檢視使用者的歷史評分物品,並從中選出排名靠前者(綜合各方面進行排名)

構造加權列表,包含與選中物品最為相近的其他物品

物品間的比較不會想使用者間的比較那麼頻繁變化。

集體智慧型程式設計 學習筆記 協同過濾技術

協同過濾技術可以分為三類 基於使用者 user based 的協同過濾 基於專案 item based 的協同過濾 基於模型 model based 的協同過濾。基於使用者 user based 的協同過濾 用相似統計的方法得到具有相似愛好或者興趣的相鄰使用者,所以稱之為以使用者為基礎 user b...

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

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

Item based協同過濾

item based top n recommendation algorithms 過程 1.構建乙個m m的矩陣,每一列最多有k個非0值,比如第j列,非0值代表和第j個item最相關的k個item。k一般10 20,不會很大,保持矩陣的稀疏性。3.上述矩陣相乘,等於是權重累加 比如使用者買過了a...