無論什麼推薦演算法,計算相似度都是避不開的,下面就總結一下已經了解的相似度計算方法。
1. 余弦相似度
這個算是最常用的了,典型例子是計算文字相似度。通過計算兩個向量間的夾角,越是相似夾角度數越接近0,所計算的值也就越接近1。
但是余弦相似度只對方向敏感,對距離並不敏感。
2. 歐式距離(歐幾里得距離)
就是計算空間上兩點間的距離。下圖很好體現了歐氏距離和余弦相似度的差異。
所以可以看出 歐氏距離
適用於那些
對數值差異大小敏感的
相似度計算,
而余弦相似度
更適用於
判別方向上的差異,而對絕對的數值不敏感的,比如
通過使用者對
內容的評分來區分興趣的相似度,修正了不同使用者之間可能存在度量標準不統一的問題(有的使用者預設高分,有的使用者預設低分,對於預設低分使用者來說7分就表示他喜歡了,而對預設高分使用者來說10分才表示喜歡)。
3. 皮爾遜相關係數(pc)
其實就是 公升級版的余弦相似度。
舉個例子:
使用者對內容評分,按5分制,x和
y兩個使用者對兩個內容的評分分別為(
1,2)和(
4,5),使用余弦相似度得到的結果是
0.98
,兩者極為相似。但從評分上看
x似乎不喜歡
2這個 內容,而
y則比較喜歡,余弦相似度對數值的不敏感導致了結果的誤差,需要修正這種不合理性就出現了調整余弦相似度,即所有維度上的數值都減去乙個均值,比如x和
y的評分均值都是
3,那麼調整後為(-2,
-1)和(
1,2),再用余弦相似度計算,得到
-0.8
,相似度為負值並且差異不小,但顯然更加符合現實。
此外,還有
斯皮爾曼等級相關係數、平局平方差異(msd)、
jaccard
距離和dice
係數等...
不太懂,以後涉及到深處在研究哈。
(
相似度計算方法學習
var e x e x 2x e x 2 e x 最後推出方差就是平方的均值減去 均值的平方 協方差就是看兩個變數是否正負相關,也就是數值上變化是否同或反向 相關係數直接衡量的就是線性相關關係,取值就在 1之間,體現的含義是x和y多大程度在一條斜率存在且不為0的直線上 余弦距離,也稱為余弦相似度,是...
相似度計算方法
pearson 相關係數是用協方差除以兩個變數的標準差得到的,雖然協方差能反映兩個隨機變數的相關程度 協方差大於0的時候表示兩者正相關,小於0的時候表示兩者負相關 但其數值上受量綱的影響很大,不能簡單地從協方差的數值大小給出變數相關程度的判斷。為了消除這種量綱的影響,於是就有了相關係數的概念。由上圖...
相似度計算方法
1.余弦相似度 在平面系 a向量與b向量的夾角越小,說明相似度越大,余弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似,這就叫 余弦相似性 在三維也是乙個道理 x,y,z 確定的一點與點 a,b,c 一點的夾角 高中學過向量a與向量b的乘積定義為 所以兩者的夾角為 cos a b a b 分...