機器學習 距離公式分析

2022-04-13 16:43:00 字數 2158 閱讀 2261

目錄機器學習任務中,常用的距離公式有以下幾種:

歐式距離(又稱歐幾里得距離)

曼哈頓距離(又稱城市街區距離)

切比雪夫距離

閔氏距離(又稱閔可夫斯基距離)

標準化歐式距離

余弦距離

公式:

\[d = \sqrt

\]其中 \(a, b\) 為兩個 \(n\) 維向量;

理解:

歐式距離在二維空間中代表某個點到另乙個點的直線距離。擴充套件到 \(n\) 維空間,指兩個點在 \(n\) 維空間中的真實距離。

侷限:

假如兩個點分別為 a(1, 1000), b(3, 60),則第二個維度對距離 \(d\) 的計算有更大的貢獻。這說明我們只是對向量中各元素分別進行了處理,但並未考慮維度之間的關係,以及不同維度對距離的貢獻程度。

這種方法認為兩點之間始終可以通過直線距離到達,因此更適用於歐式空間。

公式:

\[d = \sum_^n|a_k - b_k|

\]理解:

前面提到,歐式距離有一侷限,即認為兩點之間始終可以通過直線距離到達。但是現實世界中,從原點到目標點並不都能通過直線到達,因此引入曼哈頓距離。曼哈頓距離考慮了更多的實際因素,在曼哈頓世界中,我們只能沿著線畫出的格仔行進。

侷限:

與歐式距離相似,認為各個維度對距離 \(d\) 的貢獻是一樣的,即各個維度權重相同。解決方法:很多維度可以通過預處理轉化成曼哈頓距離,而在預處理階段可以解決貢獻權重問題。

公式:

\[d = \max_|a_k-b_k| \\

\]另一種形式:

\[d = \lim_ \left(\sum_^ |a_k-b_k|^p\right)^}

\]理解:

歐氏距離只能直線走,曼哈頓距離只能沿著劃定的格仔邊緣走,而切比雪夫中說的距離則是兩者的結合體(即可直線走,也可沿著格仔走)。

兩個點之間的距離定義為:各座標數值差的絕對值的最大值。此距離中,加入了優化的成分,通過最值來定義距離。

以西洋棋為例,國王走一步能夠移動到相鄰的8個方格中的任意乙個,那麼國王從格仔 \((x_1,y_1)\) 走到格仔 \((x_2,y_2)\) 最少需要多少步?自己走走試試。你會發現最少步數總是 \(\max( | x_2-x_1 | , | y_2-y_1 | )\) 步 。

在上面的距離中可以看出該距離計算適用的場景。像曼哈頓距離一樣,需要將空間劃分成網格,然後以網格為單位來進行度量。但此距離中,允許你走8個方向。而曼哈頓距離中,只允許你走4個方向。

公式:

\[d = \left(\sum_^|a_k-b_k|^p\right)^}

\]理解:

閔氏距離不是一種距離,而是一組距離。\(p=1\) 時就是曼哈頓距離,\(p=2\) 時就是歐式距離,\(p \rightarrow \infin\) 時就是切比雪夫距離。因此根據不同的引數 \(p\) ,閔氏距離可以表示多種距離。

侷限:

舉個例子:二維樣本(身高,體重),其中身高範圍是150190,體重範圍是5060,有三個樣本:a(180,50),b(190,50),c(180,60)。那麼a與b之間的閔氏距離(無論是曼哈頓距離、歐氏距離或切比雪夫距離)等於a與c之間的閔氏距離,但是身高的10cm真的等價於體重的10kg麼?因此用閔氏距離來衡量這些樣本間的相似度很有問題。簡單來說,閔氏距離主要有兩個缺點:

將各個分量的量綱(scale)(也就是「單位」)同等看待,這是不可取的

沒有考慮各個分量的分布(期望,方差等)可能是不同的

公式:

\[d = \sqrt^n \left( \frac \right)^2}

\]其中 \(\delta_k\) 是第 \(k\) 維的標準差。

理解:

由於向量各維分量的分布不一致,所以先將各維度分量標準化到 均值、方差 相同(均值為 0,方差為 1),再計算歐式距離,則避免了歐式距離的「量綱」侷限。換種角度看,如果將 \(/^2}\) 看作權重,則這個公式可看作是加權歐式距離。

相似性度量 機器學習距離公式總結

所有距離公式列表 嚴格意義上來看,閔可夫斯基距離不是一種距離,而是一組距離的定義。兩個n維向量 a x11,x12,x1n 與 b x2 1,x2 2,x2 n 間的閔可夫斯基距離為 其中 是乙個變引數 因此我們根據 引數的不同,閔可夫斯基距離可以表示一類距離。歐式距離即l2範數,是歐式空間兩點間的...

機器學習公式推導 LDA

lda是一種降維的演算法,也可以用來做特徵選擇和聚類。以二維平面為例,平面上有2類樣本點,我們希望將二維平面上的2類樣本點投影到一條直線上,從二維到一維,這可不就降維了嗎?那麼怎麼找到最合適的投影的直線呢?我們期望的目標是,投影之後,同類之間靠得更近,異類之間離得更遠,也就是類內小,類間大。lda的...

機器學習之距離計算

神經網路的輸入模式向量的相似性測量可用向量之間的距離來衡量。常用的方法有歐氏距離法和余弦法兩種。1 歐式距離法 設x,xi為兩向量,其間的歐式距離 d越小,x與xi越接近,兩者相似,當d 0,時,x xi,以d t 常數 為依據,可對輸入向量模式進行聚類分析 2 向量的歐式距離計算 coding u...