十大距離
文章目錄
- 十大距離
- 定義
- 1. 歐氏距離(Euclidean Distance)
- 2. 曼哈頓距離(Manhattan Distance)
- 3. 切比雪夫距離(Chebyshev Distance)
- 4. 閔可夫斯基距離(Minkowski Distance)
- 5. 標準化歐氏距離(Standardized Euclidean Distance)
- 6. 馬氏距離(Mahalanobis Distance)
- 7. 余弦距離(Cosine Distance)
- 8. 漢明距離(Hamming Distance)
- 9. 杰卡德距離(Jaccard Distance)
- 10. 相關距離(Correlation Distance)
- 應用范圍
- 歐氏距離
- 曼哈頓距離
- 切比雪夫距離
- 閔可夫斯基距離
- 標準化歐氏距離
- 馬氏距離
- 余弦距離
- 漢明距離
- 杰卡德距離
- 相關距離
定義
1. 歐氏距離(Euclidean Distance)
歐氏距離是最常用的距離度量方法之一,它衡量的是多維空間中兩點之間的直線距離。
- 原理:對于二維平面上的兩點 a=(x1,y1)a = (x_1, y_1)a=(x1?,y1?)和b=(x2,y2)b = (x_2, y_2)b=(x2?,y2?),歐氏距離定義為:
d=(x1?x2)2+(y1?y2)2d = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}d=(x1??x2?)2+(y1??y2?)2?
2. 曼哈頓距離(Manhattan Distance)
曼哈頓距離也稱為城市街區距離,它計算的是沿坐標軸方向的距離總和。
- 原理:對于二維平面上兩點 a=(x1,y1)a = (x_1, y_1)a=(x1?,y1?) 、b=(x2,y2)b = (x_2, y_2)b=(x2?,y2?),曼哈頓距離通常定義為
d=∣x1?x2∣+∣y1?y2∣d = |x_1 - x_2| + |y_1 - y_2|d=∣x1??x2?∣+∣y1??y2?∣
3. 切比雪夫距離(Chebyshev Distance)
切比雪夫距離也稱為棋盤距離,它衡量的是兩點之間的最大坐標差。
- 原理:對于二維平面上的兩點 a=(x1,y1)a = (x_1, y_1)a=(x1?,y1?) 和 b=(x2,y2)b = (x_2, y_2)b=(x2?,y2?),切比雪夫距離定義為:
d=max?(∣x1?x2∣,∣y1?y2∣)d = \max(|x_1 - x_2|, |y_1 - y_2|) d=max(∣x1??x2?∣,∣y1??y2?∣)
4. 閔可夫斯基距離(Minkowski Distance)
閔可夫斯基距離是歐氏距離、曼哈頓距離和切比雪夫距離的一般化形式。
- 原理:對于二維平面上的兩點 a=(x1,y1)a = (x_1, y_1)a=(x1?,y1?) 和 b=(x2,y2)b = (x_2, y_2)b=(x2?,y2?),閔可夫斯基距離定義為:
d=(∣x1?x2∣p+∣y1?y2∣p)1pd = (|x_1 - x_2|^p + |y_1 - y_2|^p)^{\frac{1}{p}}d=(∣x1??x2?∣p+∣y1??y2?∣p)p1?
其中 ppp 是參數,當 p=1p = 1p=1 時,它等同于曼哈頓距離;當p=2p = 2p=2 時,它等同于歐氏距離;當 p→∞p \to \inftyp→∞時,它等同于切比雪夫距離。
5. 標準化歐氏距離(Standardized Euclidean Distance)
標準化歐氏距離考慮了各個特征的尺度差異,通過標準差進行歸一化。
- 原理:對于二維平面上的兩點 a=(x1,y1)a = (x_1, y_1)a=(x1?,y1?)和b=(x2,y2)b = (x_2, y_2)b=(x2?,y2?),標準化歐氏距離定義為:
d=(x1?x2)2sx2+(y1?y2)2sy2d = \sqrt{\frac{(x_1 - x_2)^2}{s_x^2} + \frac{(y_1 - y_2)^2}{s_y^2}}d=sx2?(x1??x2?)2?+sy2?(y1??y2?)2??
其中 sxs_xsx? 和 sys_ysy? 分別是 xxx 和 yyy維度的標準差。
6. 馬氏距離(Mahalanobis Distance)
馬氏距離考慮了特征之間的相關性,是標準化歐氏距離的進一步推廣。
- 原理:對于二維向量 a\mathbf{a}a 和 b\mathbf{b}b,馬氏距離定義為:
d=(a?b)TS?1(a?b)d = \sqrt{(\mathbf{a} - \mathbf{b})^T \mathbf{S}^{-1} (\mathbf{a} - \mathbf{b})}d=(a?b)TS?1(a?b)?
其中 S\mathbf{S}S 是樣本協方差矩陣。
7. 余弦距離(Cosine Distance)
余弦距離衡量的是兩個向量之間的夾角,常用于文本分析和推薦系統。
- 原理:對于兩個向量 a\mathbf{a}a 和 b\mathbf{b}b,余弦相似度定義為:
cos?(θ)=a?b∥a∥∥b∥\cos(\theta) = \frac{\mathbf{a} \cdot \mathbf{b}}{\|\mathbf{a}\| \|\mathbf{b}\|}cos(θ)=∥a∥∥b∥a?b?
余弦距離則定義為:
d=1?cos?(θ)d = 1 - \cos(\theta)d=1?cos(θ)
8. 漢明距離(Hamming Distance)
漢明距離用于衡量兩個等長字符串之間對應位置的不同字符的個數,雖然它通常用于字符串,但我們可以用二維平面上的二進制網格來可視化它。
- 原理:對于兩個等長字符串(或二進制向量)a\mathbf{a}a 和 ( \mathbf{b} ),漢明距離定義為:
d=∑i=1n[ai≠bi]d = \sum_{i=1}^{n} [a_i \neq b_i]d=i=1∑n?[ai?=bi?]
其中 [ai≠bi][a_i \neq b_i][ai?=bi?] 是指示函數,當 ai≠bia_i \neq b_iai?=bi? 時為 1,否則為 0 。
9. 杰卡德距離(Jaccard Distance)
杰卡德距離用于衡量兩個集合的相似度。
- 原理:對于兩個集合 AAA 和 BBB,杰卡德相似系數定義為:
J(A,B)=∣A∩B∣∣A∪B∣J(A, B) = \frac{|A \cap B|}{|A \cup B|}J(A,B)=∣A∪B∣∣A∩B∣?
杰卡德距離則定義為:
d=1?J(A,B)d = 1 - J(A, B)d=1?J(A,B)
10. 相關距離(Correlation Distance)
相關距離基于皮爾遜相關系數,用于衡量兩個變量之間的線性關系。
- 原理:對于兩個變量 XXX 和YYY,皮爾遜相關系數定義為:
ρ=Cov(X,Y)σXσY\rho = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y}ρ=σX?σY?Cov(X,Y)?
相關距離則定義為:
d=1?∣ρ∣d = 1 - |\rho|d=1?∣ρ∣
應用范圍
歐氏距離
- 數據挖掘與機器學習:在聚類算法(如K-Means聚類)中,用于衡量樣本點之間的相似性,以確定樣本的歸屬類別 。
- 計算機圖形學:計算圖形中頂點之間的距離,判斷圖形的形狀和位置關系,例如在三維模型的變形和對齊操作中。
- 地理信息系統(GIS):計算地圖上兩點之間的實際距離,輔助路徑規劃、位置分析等。
曼哈頓距離
- 城市規劃與交通領域:模擬城市街區中兩點之間的實際通行距離,在路徑規劃、物流配送路線計算等方面有應用 ,例如計算快遞員在城市街區中的送貨路線長度。
- 網格系統與棋盤游戲:在一些基于網格的游戲(如國際象棋等)中,衡量棋子移動的步數距離 ,或者在二維網格地圖中計算兩點間的最短移動距離。
切比雪夫距離
- 棋盤類游戲算法:在國際象棋、圍棋等棋盤游戲的AI算法中,用于評估棋子之間的威脅程度或距離,例如判斷一個棋子在多步內能夠到達的范圍 。
- 圖像處理與計算機視覺:在圖像中判斷像素點之間的最大位移距離,用于圖像分割、目標跟蹤等場景。
閔可夫斯基距離
- 數據的泛化距離度量:作為歐氏距離、曼哈頓距離等的一般化形式,可根據不同的參數 ( p ) 靈活調整距離度量方式,適用于多種需要自定義距離度量的場景,如在不同特征分布的數據集中尋找合適的距離度量方式 。
- 機器學習模型評估:在評估模型預測結果與真實值之間的差異時,通過調整 ( p ) 值來關注不同類型的誤差,例如 ( p = 1 ) 時更關注絕對誤差,( p = 2 ) 時更關注平方誤差 。
標準化歐氏距離
- 多特征數據的距離度量:當數據集中不同特征的尺度差異較大時,如在分析身高(厘米級)和體重(千克級)對個體分類的影響時,標準化歐氏距離能夠消除特征尺度的影響,準確衡量樣本之間的相似性 。
- 模式識別與分類:在手寫數字識別、圖像分類等模式識別任務中,對不同維度特征進行標準化后再計算距離,提高分類的準確性 。
馬氏距離
- 考慮特征相關性的數據處理:在金融風險評估中,多個財務指標之間往往存在相關性,馬氏距離可以考慮這些相關性,更準確地評估不同投資組合之間的相似性或風險程度 。
- 異常檢測:通過考慮數據的協方差結構,能夠更有效地檢測出數據集中的異常點,例如在網絡流量監測中識別異常的流量模式 。
余弦距離
- 文本挖掘與信息檢索:用于計算文本之間的相似度,在搜索引擎中,判斷搜索關鍵詞與文檔內容的相關性,或者在文本分類中衡量文本之間的相似程度 。
- 推薦系統:基于用戶對不同物品的評分向量,計算用戶之間或物品之間的相似度,為用戶提供個性化推薦,如電影推薦、音樂推薦等 。
漢明距離
- 編碼與通信領域:用于檢測和糾正數據傳輸過程中的錯誤,衡量編碼之間的差異程度,例如在糾錯碼(如漢明碼)中判斷編碼的正確性 。
- 生物信息學:比較DNA序列、蛋白質序列之間的差異,研究生物進化關系或物種間的親緣關系 。
杰卡德距離
- 集合數據分析:在社交網絡分析中,計算用戶興趣集合的相似度,用于推薦相似興趣的用戶,或者在文本分析中,衡量兩個文本中關鍵詞集合的相似性 。
- 圖像識別與目標檢測:判斷圖像中目標物體的重疊程度,在多目標檢測算法中,評估檢測結果與真實目標之間的相似度 。
相關距離
- 統計學與數據分析:在研究變量之間的線性關系時,通過相關距離判斷變量之間的關聯程度,例如在經濟學中分析不同經濟指標之間的相關性 。
- 機器學習中的特征選擇:評估特征之間的相關性,去除高度相關的冗余特征,提高模型的訓練效率和泛化能力 。