先上圖,第乙個是基於物品協同過濾推薦,第二個是基於使用者的協同過濾推薦
這個兩個步驟差不多。先說基於物品的協同過濾,原理就是上面這張圖,下面說步驟
步驟:1、根據使用者對物品的評分構建使用者-物品矩陣
2、建立乙個nn的物品相似度矩陣
在產品-產品協同過濾中的產品之間的相似性值是通過觀察所有對兩個產品之間的打分的使用者來度量的
通過計算每乙個i物品與j物品之間的相似性值,得到乙個nn的相似度矩陣,矩陣的n(i,j)的取值為i與j的相似值,相似矩陣為對稱矩陣
相似度演算法可以採用余弦距離、歐氏距離
3、**
現在已經得到 使用者-物品矩陣r 和 物品相似度矩陣s,現在需要**的使用者對物品的得分矩陣p
這裡通過使用者i對所有物品的評分作為權重,和物品j中的物品相似度乘積加和,從而得到使用者i對物品j的評分**p(i,j)
其中為了將評分歸一化成[1,5],需要除以物品j的相似度加和,即:
p ij
=∑i=
1n(r
i,ks
k,j)
∑i=1
nsk,
jp_ = \frac^n(r_s_)}^ns_}
pij=∑
i=1n
sk,
j∑i
=1n
(ri,
ksk
,j)
從而得到**矩陣p
評價指標選用均方根誤差 (rmse)
r ms
e=1n
∑x−x
^rmse=\sum}}}
rmse=n
1∑x
−x^
步驟:1、構建使用者-物品矩陣,和基於物品的是一樣的
2、構建使用者相似度矩陣
對於使用者-產品協同過濾,使用者之間的相似性值是通過觀察所有同時被兩個使用者打分的產品來度量的。
通過計算每乙個i使用者與j使用者之間的相似性值,得到乙個m*m的相似度矩陣,矩陣的n(i,j)的取值為i與j的相似值
相似度演算法採用余弦距離、歐氏距離等
3、**
現在已經得到 使用者相似度矩陣s和 使用者-物品矩陣r ,現在需要**的使用者對物品的得分矩陣p
這裡通過使用者i對所有使用者的相似度,與使用者-物品矩陣j的所有使用者的評分乘積並加和得到使用者i對物品j的評分**p(i,j)
為了物品j的所有使用者的評分的一致可比性,這裡需要對每個使用者評分做歸一化處理。比如某些使用者可能會傾向於對所有的電影,總是給予高或低評分。這些使用者提供的評分的相對差比絕對評分值更重要。舉個例子:假設,使用者k對他最喜歡的電影打4星,而對所有其他的好電影打3星。現在假設另乙個使用者t對他/她喜歡的電影打5星,而對他/她感到無聊的電影打3星。那麼這兩個使用者可能品味非常相似,但對打分系統區別對待。
其中為了將評分歸一化成[1,5],需要除以使用者i的相似度加和,即:
p i,
j=rˉ
i+∑k
=1n(
si,k
(rk,
j−rˉ
k))∑
k=1n
sj,k
p_ = \bar r_ + \frac^n(s_(r_-\bar r_k))}^ns_}
pi,j=
rˉi
+∑k=
1ns
j,k
∑k=1
n(s
i,k
(rk,
j−r
ˉk)
)評價指標選用均方根誤差 (rmse)
r ms
e=1n
∑x−x
^rmse=\sum}}}
rmse=n
1∑x
−x^
基於物品的協同過濾推薦
思想 利用物品間的相似度,給使用者推薦與使用者過去行為物品相似的物品。資源 使用者物品評分矩陣 填空,即對使用者沒有過評分的物品進行 打分 物品相似度評測 改進的余弦相似度 u 表示使用者集,用r表示n m的評分矩陣,rij代表評分項,表示使用者i對物品j的評分。公式分子可以理解為 兩個物品有共同評...
推薦系統 基於使用者和基於物品的協同過濾演算法的比較
首先回顧一下,協同過濾演算法主要有兩種,一種是基於使用者的協同過濾演算法 usercf 另一種是基於物品的協同過濾演算法 itemcf 基於使用者的協同過濾演算法主要有兩步 1 找到和目標使用者興趣相似的使用者集合 2 找到這個集合中的使用者喜歡的,且目標使用者沒有聽說過的物品推薦給目標使用者。基於...
推薦系統 基於物品的協同過濾推薦 入門
而基於物品的協同過濾則是找出最相似的物品,再結合使用者的評價來給出推薦結果。基於使用者的協同過濾又稱為記憶體型協同過濾,因為我們需要將所有的評價資料都儲存在記憶體中來進行推薦。基於物品的協同過濾也稱為基於模型的協同過濾,因為我們不需要儲存所有的評價資料,而是通過構建乙個物品相似度模型來做推薦。1.修...