相似度計算方法學習總結


無論什么推薦算法,計算相似度都是避不開的,下面就總結一下已經了解的相似度計算方法。

1.余弦相似度

 

 

這個算是最常用的了,典型例子是計算文本相似度。通過計算兩個向量間的夾角,越是相似夾角度數越接近0,所計算的值也就越接近1

但是余弦相似度只對方向敏感,對距離並不敏感。

 2.歐式距離(歐幾里得距離)

 

就是計算空間上兩點間的距離。下圖很好體現了歐氏距離和余弦相似度的差異。

 

 

所以可以看出 歐氏距離 適用於 那些 對數值差異大小敏感的 相似度計算,

余弦相似度 更適用於 判別方向上的差異,而對絕對的數值不敏感的,比如 通過用戶對 內容的評分來區分興趣的相似度,修正了不同用戶之間可能存在度量標准不統一的問題(有的用戶默認高分,有的用戶默認低分,對於默認低分用戶來說7分就表示他喜歡了,而對默認高分用戶來說10分才表示喜歡)。

 3.皮爾遜相關系數(PC)

 

 

其實就是 升級版的余弦相似度。

舉個例子:

用戶對內容評分,按5分制,XY兩個用戶對兩個內容的評分分別為(1,2)和(4,5),使用余弦相似度得到的結果是0.98,兩者極為相似。但從評分上看X似乎不喜歡2這個 內容,而Y則比較喜歡,余弦相似度對數值的不敏感導致了結果的誤差,需要修正這種不合理性就出現了調整余弦相似度,即所有維度上的數值都減去一個均值,比如XY的評分均值都是3,那么調整后為(-2-1)和(1,2),再用余弦相似度計算,得到-0.8,相似度為負值並且差異不小,但顯然更加符合現實。

此外,還有

斯皮爾曼等級相關系數、平局平方差異(MSD)、Jaccard距離和Dice系數等... 不太懂,以后涉及到深處在研究哈。

https://www.cnblogs.com/chenliyang/p/6548306.html)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM