推薦算法中的 相似度計算

對用戶的行爲進行分析得到用戶的偏好後,可以根據用戶的偏好計算相似用戶和物品,然後可以基於相似用戶或物品進行推薦。這就是協同過濾中的兩個分支了,即基於用戶的協同過濾和基於物品的協同過濾。

      關於相似度的計算,現有的幾種方法都是基於向量(Vector)的,其實也就是計算兩個向量的距離,距離越近相似度越大。在推薦場景中,在用戶-物品偏好的二維矩陣中,我們可以將一個用戶對所有物品的偏好作爲一個向量來計算用戶之間的相似度,或者將所有用戶對某個物品的偏好作爲一個向量來計算物品之間的相似度。

1.同現相似度

計算公式爲:

  

分母|N(i)|是喜歡物品i的用戶數,而分子|N(i)∩N(j)|是同時喜歡物品i和物品j的用戶數據。

爲了防止j爲熱門物品,修正爲:


2.歐式距離相似度

最初用於計算歐幾里得空間中的兩個點的距離,假設x、y是n維空間的兩個點,它們之間的歐幾里得距離是:


可以看出,當n=2時,歐幾里得距離是平面上的兩點的距離。

當用歐幾里得距離表示相似度時,一般採用一下公式進行轉換:距離越小,相似度越大。



3.Cosine相似度

Cosine相似度被廣泛應用於計算文檔數據的相似度:



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