最後更新: 2023/4/5 修復了 Markdown 中數學符號顯示異常
該文章首發於若綰, 转载请标注出处。
導言#
當涉及到機器學習和數據科學的時候,向量空間距離是一個非常重要的概念。在很多機器學習應用中,數據點通常以向量形式表示。因此,了解如何計算和比較向量之間的距離是非常關鍵的。向量空間距離可以用於解決許多問題,例如聚類、分類、降維等等。在聯邦學習項目中,向量空間距離尤其重要,因為它可以幫助我們比較不同設備或數據源中的向量,從而確定它們是否足夠相似以用於聯合訓練。
本文將介紹向量空間距離的基本概念,包括歐幾里得距離、曼哈頓距離、切比雪夫距離等等。我們將討論這些距離度量如何計算,它們的優缺點以及何時使用哪種距離度量。我們還將介紹一些更高級的距離度量方法,例如馬氏距離和餘弦相似度,並探討它們在不同情況下的適用性。希望這篇文章能夠幫助你更好地理解向量空間距離以及如何將它應用到你的聯邦學習項目中。
曼哈頓距離(Manhattan distance)#
曼哈頓距離(L1 範數)是衡量兩個向量 X 和 Y 之間距離的一種方法,它的公式如下:
$D_{M}(X,Y) = \sum_{i=1}^{n}|x_{i} - y_{i}|$
其中:
-
$D_{M}(X,Y) $ 表示向量 X 和 Y 之間的曼哈頓距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
曼哈頓距離是通過計算兩個向量分量之間的絕對差值之和來衡量它們之間的距離。它的名稱源於曼哈頓街道的網格狀佈局,其中兩點之間的距離是它們水平和垂直距離的總和。與歐幾里得距離相比,曼哈頓距離更適用於在高維空間中的應用,因為在高維空間中,兩點之間的距離更容易通過水平和垂直距離來計算。曼哈頓距離也可以在機器學習和數據科學中廣泛應用,例如在聚類和分類問題中,以及在圖像和語音識別中的特徵提取中。
坎貝拉距離 (Canberra Distance)#
坎貝拉距離是一種衡量兩個向量相似性的距離度量方法,常用於數據分析和信息檢索中。它的計算公式如下:
$D_{c}(X,Y) = \sum_{i=1}^{n}\frac{|x_{i} - y_{i}|}{|x_{i}| + |y_{i}|}$
其中:
-
$D_{c}(X,Y)$ 表示向量 X 和 Y 之間的坎貝拉距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
坎貝拉距離是一種考慮向量分量幅度的距離度量,適用於在分析基因表達數據等分量幅度重要的場合。坎貝拉距離與其他距離度量不同之處在於,它使用分量之間的絕對差值與它們的絕對值之和的比來計算距離。當向量中存在很多 0 值分量時,分母可能變得非常小,這可能導致距離的不穩定性。坎貝拉距離在機器學習和數據科學中也有廣泛的應用,例如在分類、聚類、推薦系統和信息檢索等領域。
歐幾里得距離 (Euclidean distance)#
歐幾里得距離是一種常見的向量距離度量方法,它被廣泛應用於機器學習和數據科學領域中的多種任務,如聚類、分類和回歸等。
歐幾里得距離可以用於計算兩個向量之間的距離。假設我們有兩個向量 X 和 Y,它們的長度相等,即每個向量中包含 n 個分量。那麼,它們之間的歐幾里得距離可以通過以下公式進行計算:
$D_{E}(X,Y) = \sqrt{\sum_{i=1}^{n}(x_{i} - y_{i})^2}$
其中:
-
$D_{E}(X,Y)$ 表示向量 X 和 Y 之間的歐幾里得距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
歐幾里得距離的計算方式是通過將兩個向量分量之間的差值平方求和,再取其平方根得到的。它的名稱來自於古希臘數學家歐幾里得,歐幾里得距離在平面幾何中也有廣泛應用。在機器學習和數據科學中,歐幾里得距離通常用於計算兩個樣本之間的相似度或距離,因為它可以幫助我們識別在特徵空間中離得較近的樣本。
標準化歐幾里得距離 (Standardized Euclidean distance)#
標準化歐幾里得距離是一種衡量兩個向量距離的度量方法,它考慮了向量分量的變異性,通常用於在分量具有不同度量單位和尺度,且分量變異性很重要的情況下。
計算公式如下:
$D_{SE}(X,Y) = \sqrt{\sum_{i=1}^{n}\frac{(x_{i} - y_{i})^2}{s_{i}^2}}$
其中:
-
$D_{SE}(X,Y)$ 表示向量 X 和 Y 之間的標準化歐幾里得距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
-
$s_{i}$ 是向量中第 i 個分量的標準差。
標準化歐幾里得距離考慮了向量分量的可變性,通常適用於在分量具有不同度量單位和尺度,以及分量變異性很重要的情況下。它與歐幾里得距離的計算方式相似,但在計算分量之間的差值時,將其除以分量的標準差來進行標準化。
平方歐幾里得距離 (Squared Euclidean distance)#
平方歐幾里得距離是一種計算兩個向量之間距離的度量方法,其計算公式如下:
$D_{SE}^2(X,Y) = \sum_{i=1}^{n}(x_{i} - y_{i})^2$
其中:
-
$D_{SE}^2 (X,Y)$ 表示向量 X 和 Y 之間的平方歐幾里得距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
平方歐幾里得距離是通過計算兩個向量分量之間的差值平方之和來衡量它們之間的距離。與歐幾里得距離相比,平方歐幾里得距離避免了對平方和的開方運算,從而計算更加高效。平方歐幾里得距離在機器學習和數據科學中也有廣泛的應用,例如在聚類、分類、回歸等任務中。
需要注意的是,平方歐幾里得距離忽略了分量的尺度和單位,因此在一些情況下,它可能不太適合用於測量向量之間的距離。在這種情況下,我們可以使用其他距離度量方法,如標準化歐幾里得距離、曼哈頓距離、切比雪夫距離等。
餘弦相似度(Cosine Similarity)#
餘弦相似度是一種測量兩個向量相似性的度量方法,其計算公式如下:
$cos(\theta) = \frac{X \cdot Y}{\left| X\right| \left| Y\right|} = \frac{\sum\limits_{i=1}^{n} x_i y_i}{\sqrt{\sum\limits_{i=1}^{n} x_i^2} \sqrt{\sum\limits_{i=1}^{n} y_i^2}}$
其中:
-
$cos (\theta)$ 表示向量 X 和 Y 之間的餘弦相似度。
-
$X \cdot Y$ 表示向量 X 和 Y 的點積。
-
$\left| X\right|$ 和 $\left| Y\right|$ 分別表示向量 X 和 Y 的模。
-
$x_i$ 和 $y_i$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
餘弦相似度是一種考慮向量之間夾角的相似度度量方法。在自然語言處理和信息檢索等領域,餘弦相似度通常用於測量文本之間的相似性,因為文本可以表示為向量,且分量的大小不重要。與其他距離度量方法相比,餘弦相似度計算更為簡單,同時也具有很好的性能。例如,當兩個向量完全相同時,餘弦相似度為 1,當兩個向量夾角為 90 度時,餘弦相似度為 0,當兩個向量方向相反時,餘弦相似度為 - 1。
需要注意的是,餘弦相似度不考慮向量分量之間的大小差異,因此可能不適用於一些數據集。
切比雪夫距離#
切比雪夫距離是一種用於測量兩個向量之間距離的度量方法,其計算方式是計算兩個向量中分量差值的絕對值的最大值。假設我們有兩個向量 X 和 Y,它們的長度相等,即每個向量中包含 n 個分量。那麼,它們之間的切比雪夫距離可以通過以下公式進行計算:
$D_{C}(X,Y) = max_{i=1}^{n}|x_{i} - y_{i}|$
其中:
-
$D_{C}(X,Y)$ 表示向量 X 和 Y 之間的切比雪夫距離。
-
$x_{i}$ 和 $y_{i}$ 分別表示向量 X 和 Y 的第 i 個分量。
-
$n$ 是向量中的分量數量。
切比雪夫距離通常被用於測量向量之間的距離,它的計算方式與曼哈頓距離類似,但在計算差值時取的是絕對值最大的分量差值,因此它能夠比曼哈頓距離更好地捕捉到向量之間的差異。切比雪夫距離在機器學習和數據科學領域中也有廣泛的應用,如在圖像處理、信號處理、時間序列分析等方面。
需要注意的是,切比雪夫距離可能會受到離群值的影響,因為它是基於分量差值的絕對值的最大值計算的,因此在存在離群值的情況下,切比雪夫距離可能會給出不準確的距離度量。
馬氏距離#
馬氏距離是一種用於測量兩個向量之間距離的度量方法,它考慮了各個分量之間的相關性。假設我們有兩個向量 X 和 Y,它們的長度相等,即每個向量中包含 n 個分量。那麼,它們之間的馬氏距離可以通過以下公式進行計算:
$D_{M}(X,Y) = \sqrt{(X-Y)^T S^{-1} (X-Y)}$
其中:
-
$D_{M}(X,Y)$ 表示向量 X 和 Y 之間的馬氏距離。
-
$X$ 和 $Y$ 是兩個長度為 n 的向量。
-
$S$ 是 $n \times n$ 的協方差矩陣。
馬氏距離的計算公式與歐幾里得距離類似,但考慮到各個分量之間的相關性。如果協方差矩陣為單位矩陣,那麼馬氏距離就等價於歐幾里得距離。與歐幾里得距離相比,馬氏距離能夠更好地捕捉到各個分量之間的相關性,因此在一些需要考慮各個分量相關性的領域中,如金融風險管理、語音識別、圖像識別等方面,馬氏距離得到了廣泛應用。
需要注意的是,馬氏距離要求各個分量之間服從多元正態分布,且協方差矩陣需要是正定矩陣。如果分量之間不滿足這些條件,馬氏距離可能會給出不準確的距離度量。此外,馬氏距離也受到協方差矩陣的估計誤差的影響。在實際應用中,我們需要通過樣本數據來估計協方差矩陣,因此樣本數量的大小和樣本的質量都會影響到馬氏距離的準確性。