在分類聚類算法,推薦系統中常常需要計算物品之間的相似度,而如何衡量物品之間的相似度,下文將介紹幾種常用的計算方法。
- 曼哈頓距離 (
Manhattan Distance
)- 歐氏距離 (
Euclidean Distance
)- 皮爾遜相關系數 (
Pearson Correlation Coefficient
)- 余弦相似度 (
Cosine Similarity
)- 修正余弦相似度 (
Adjust Cosine Similarity
)
曼哈頓距離[1]
我們可以定義曼哈頓距離的正式意義為L1-距離或城市區塊距離,也就是在歐幾里得空間的固定直角坐標系上兩點所形成的線段對軸產生的投影的距離總和。
(1) 在二維平面中,用戶可以用一個二維坐標來表示
(2) 將上述情況擴展到
n
維歐式空間,用戶可以用一個n
維向量來表示,即如下表示:則
n
維下的曼哈頓距離就可以表示為:歐式距離[2]
歐式距離即是歐式空間中兩點間的直線距離,如下是二維空間中兩點的直線距離:
在 歐幾里得空間中,假設存在兩點 x
, y
,則距離如下計算
皮爾遜相關系數[3]
在統計學中,皮爾遜積矩相關系數 用于度量兩個變量X和Y之間相關(線性相關),其值介于-1與1之間。在自然科學領域中,該系數廣泛用于度量兩個變量之間的相關程度。
在 歐幾里得空間中,假設存在兩個 x
, y
的 n
維向量,則皮爾遜相關系數計算公式如下:
系數的
r
值為1 或 -1意味著X和Y可以很好的由直線方程來描述,所有的數據點都很好的落在一條直線上,系數的值為0意味著兩個變量之間沒有線性關系。
在實際計算時,可以使用下列皮爾遜系數的近似計算公式:
余弦相似度[4]
余弦相似性通過測量兩個向量的夾角的余弦值來度量它們之間的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。
這結果是與向量的長度無關的,僅僅與向量的指向方向相關。
應用
:在信息檢索中,每個詞項被賦予不同的維度,而一個文檔由一個向量表示,其各個維度上的值對應于該詞項在文檔中出現的頻率。余弦相似度因此可以給出兩篇文檔在其主題方面的相似度。
x
, y
對應于歐式空間中兩個向量,則余弦相似度的計算公式如下:
修正余弦相似度
修正余弦相似度,考慮到用戶的評分尺度問題,比如在評分為[1, 5]之間,有的用戶即使很是喜歡,但是其給的評分依舊不會很高,同理即使很不喜歡給的評分也不會很低,所以通過減去用戶對項評分的均值,修正的余弦相似性度量方法改善了以上問題。
計算公式如下:
其中,
U
表示所有對 i 和 j 進行過評級的用戶組成的集合
末尾
你可能覺得這些都是比較基礎的知識,但是這卻是我接下來要寫文章的基礎,所以先把基礎都打牢固。接下來將會寫協同過濾的文章,到時候我會結合代碼,這樣更加清晰易懂。
吐槽一下,編輯這些數學公式,真是費心呀!!!