協同過濾之基於用戶-物品矩陣推薦系統(待續)

先上圖,第一個是基於物品協同過濾推薦,第二個是基於用戶的協同過濾推薦
這裏寫圖片描述
這個兩個步驟差不多。先說基於物品的協同過濾,原理就是上面這張圖,下面說步驟

一、基於物品的協同過濾

步驟:
1、根據用戶對物品的評分構建用戶-物品矩陣
這裏寫圖片描述
2、創建一個nn的物品相似度矩陣
在產品-產品協同過濾中的產品之間的相似性值是通過觀察所有對兩個產品之間的打分的用戶來度量的
這裏寫圖片描述
通過計算每一個i物品與j物品之間的相似性值,得到一個n
n的相似度矩陣,矩陣的n(i,j)的取值爲i與j的相似值,相似矩陣爲對稱矩陣
這裏寫圖片描述
相似度算法可以採用餘弦距離、歐氏距離

3、預測
現在已經得到 用戶-物品矩陣R 和 物品相似度矩陣S,現在需要預測的用戶對物品的得分矩陣P
這裏寫圖片描述
這裏通過用戶i對所有物品的評分作爲權重,和物品j中的物品相似度乘積加和,從而得到用戶i對物品j的評分預測P(i,j)

其中爲了將評分歸一化成[1,5],需要除以物品j的相似度加和,即:
Pij=i=1n(Ri,kSk,j)i=1nSk,jP_{ij} = \frac{\sum_{i=1}^n(R_{i,k}S_{k,j})}{\sum_{i=1}^nS_{k,j}}
從而得到預測矩陣P

評價指標選用均方根誤差 (RMSE)
RMSE=1nxx^RMSE={\sqrt{\frac{1}{n}\sum{x-\hat{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的相似度加和,即:
Pi,j=Rˉi+k=1n(Si,k(Rk,jRˉk))k=1nSj,kP_{i,j} = \bar R_{i} + \frac{\sum_{k=1}^n(S_{i,k}(R_{k,j}-\bar R_k))}{\sum_{k=1}^nS_{j,k}}

評價指標選用均方根誤差 (RMSE)
RMSE=1nxx^RMSE={\sqrt{\frac{1}{n}\sum{x-\hat{x}}}}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章