幾種距離的集中比較

提到檢索的方法,比如KNN算法,這些都需要用到“距離”這個尺度去度量兩者的近似程度。但是,距離也有很多種,除了我們熟悉的歐氏距離之外,其實還有很多。。。

余弦距離:

是一種衡量兩個向量相關程度的尺度。利用兩個向量的余弦值,由于在0到90度之間,的值為減函數,所以當cos(theta)值越大,theta值越小。體現的是兩個向量方向上的差異。對數值絕對值不敏感。






對于向量x=(x1,x2,x3,...,xn)和向量y=(y1,y2,y3,...yn)之間的夾角:



其更注重兩個向量方向的夾角之間的距離,而不是歐氏距離里的直接距離。




歐氏距離與余弦距離:

歐氏距離能夠體現個體數值特征的絕對差異,所以更多的用于需要從維度的數值大小中體現差異的分析,如使用用戶行為指標分析用戶價值的相似度或差異;而余弦相似度更多的是從方向上區分差異,而對絕對的數值不敏感,更多的用于使用用戶對內容評分來區分用戶興趣的相似度和差異,同時修正了用戶間可能存在的度量標準不統一的問題(因為余弦相似度對絕對數值不敏感)。

明可夫斯基距離(Minkowski Distance)

明氏距離是歐氏距離的推廣,是對多個距離度量公式的概括性的表述。公式如下:

p可以取任意正整數。




皮爾森相關系數(Pearson Correlation Coefficient):

即相關分析中的相關系數r,分別對X和Y基于自身總體標準化后計算空間向量的余弦夾角。公式如下:




Jaccard相似系數(Jaccard Coefficient)

Jaccard系數主要用于計算符號度量或布爾值度量的個體間的相似度,因為個體的特征屬性都是由符號度量或者布爾值標識,因此無法衡量差異具體值的大小,只能獲得“是否相同”這個結果,所以Jaccard系數只關心個體間共同具有的特征是否一致這個問題。如果比較X與Y的Jaccard相似系數,只比較xn和yn中相同的個數,公式如下:





針對余弦相似度對數值大小的不敏感,出現了修正余弦相似度(Adjusted cosine similaarity):每個數值都減去一個自己的均值,這樣歸一化后,可以使得向量夾角的距離變得符合現實。

雖然余弦相似度對個體間存在的偏見可以進行一定的修正,但是因為只能分辨個體在維之間的差異,沒法衡量每個維數值的差異,會導致這樣一個情況:比如用戶對內容評分,5分制,X和Y兩個用戶對兩個內容的評分分別為(1,2)和(4,5),使用余弦相似度得出的結果是0.98,兩者極為相似,但從評分上看X似乎不喜歡這2個內容,而Y比較喜歡,余弦相似度對數值的不敏感導致了結果的誤差,需要修正這種不合理性,就出現了調整余弦相似度,即所有維度上的數值都減去一個均值,比如X和Y的評分均值都是3,那么調整后為(-2,-1)和(1,2),再用余弦相似度計算,得到-0.8,相似度為負值并且差異不小,但顯然更加符合現實。

哈明距離(漢明距離)

漢明距離是使用在數據傳輸差錯控制編碼里面的,漢明距離是一個概念,它表示兩個(相同長度)字對應位不同的數量,我們以d(x,y)表示兩個字x,y之間的漢明距離。對兩個字符串進行異或運算,并統計結果為1的個數,那么這個數就是漢明距離。

比如:

1011101 與 1001001 之間的漢明距離是 2。

2143896 與 2233796 之間的漢明距離是 3。

"toned" 與 "roses" 之間的漢明距離是 3。

這種方法往往可以進行一定的模板匹配,計算與模板的接近程度。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉自:http://www.cnblogs.com/heaad/archive/2011/03/08/197773...
    羅田閱讀 1,467評論 0 4
  • 原文:http://blog.csdn.net/nishiwodeangel/article/details/12...
    mogu醬閱讀 1,189評論 0 7
  • 一、實驗目的 學習使用 weka 中的常用分類器,完成數據分類任務。 二、實驗內容 了解 weka 中 explo...
    yigoh閱讀 8,638評論 5 4
  • ??在目前的自然語言處理、數據挖掘以及機器學習中,相似性度量算法是一種比較常用的算法,是文本計算的基礎。相似性度量...
    老羊_肖恩閱讀 13,081評論 1 4
  • 一、說明 相似性度量用以描述兩個向量之間的相似性,是一個值域為一維的二元函數。一般情況,相似性度量本質上指距離度量...
    Herbert002閱讀 8,995評論 0 10