用來度量乙個樣本點p與資料分布為d的集合的距離。
假設樣本點為:
資料集分布的均值為:
協方差矩陣為s。
則這個樣本點p與資料集合的馬氏距離為:
馬氏距離也可以衡量兩個來自同一分布的樣本x和y的相似性:
當樣本集合的協方差矩陣是單位矩陣時,即樣本的各個維度上的方差均為1.馬氏距離就等於歐式距離相等。
當協方差矩陣是對角矩陣時,即樣本資料在各個維度上的方差可能不為1.此時,
可以看做是標準化了的歐氏距離。其中,si為樣本資料在第i個維度上的標準差。
思考1.為什麼馬氏距離是尺度無關的?
想判斷乙個點是否屬於乙個集合,首先計算出這個集合的中心點(通過計算這個集合中所有樣本的均值向量可以得到),然後求出這個點到中心點的距離,若大於乙個閾值則認為不屬於這個集合。但是這樣有個問題,有的集合包含的範圍比較大,待分類樣本雖然離此集合中心點較其他集合的中心點遠,但實際上屬於這個集合,這就是尺度對分類結果的影響。為了消除這個影響,計算出集合中所有資料點到中心點的平均距離,這樣,範圍大的集合計算出來的平均距離就會較範圍小的集合平均距離大,這個平均距離就是下式中的分母:標準差。
上式使得馬氏距離具有尺度不變性。
但是這樣還有問題,上面的式子只適合集合是圓形區域分布的,如下圖:
對於下面的橢圓形例子,a點距離中心點更近,但是a點離集合邊緣更近,更危險,一不小心就不屬於這個集合了。所以僅僅通過上式得到的距離來衡量乙個點屬於乙個集合的概率是不準確的。
假設乙個樣本集合的維度是n,資料在各個維度上的方差已知(方差較大的方向是資料主要的變化方向),可以把方差看做各個方向上的軸長,方差越大,軸越長,資料點在這個方向上就越不容易掉下懸崖,也就越安全。如果待測樣本在各個維度上與集合中心的距離都遠遠小於這個維度上的軸長,那麼這個樣本屬於集合的概率就越大。協方差矩陣的對角線元素就代表了各個維度上的方差。
再次看上式,可以認為,對每乙個待測樣本,都計算一下其與集合中心的距離,接著,在各個方向上均除以軸長(協方差矩陣求逆),最後再乘起來,整個結果越小則說明樣本越靠近集合的中心。
2.那麼協方差矩陣的非對角線是幹嘛的?
這個我也不太清楚,我猜是它們的存在使得馬氏距離可以將樣本不同緯度特徵的相關性關聯起來。
**:
距離度量之馬氏距離
用來度量乙個樣本點 與資料分布為 的集合的距離。假設樣本點為 資料集分布的均值為 協方差矩陣為 則這個樣本點 與資料集合的馬氏距離為 馬氏距離也可以衡量兩個來自同一分布的樣本x和y的相似性 當樣本集合的協方差矩陣是單位矩陣時,即樣本的各個維度上的方差均為 馬氏距離就等於歐式距離相等。當協方差矩陣是對...
馬氏距離與歐式距離
1 歐式距離 2 標準歐式距離 3 馬氏距離 4 測試 構造資料,構建乙個長軸為2短軸為1的橢圓 測試兩個點到質心的距離綠色的點x1 1,0 和黃色的點x2 0,0.8 通過計算歐式距離發現x2距離質心更近一些,但是計算馬氏距離和標準歐式距離卻又是x1距離的更近些 很直接的原因就是長軸的方差比較大,...
馬氏距離vs歐式距離
馬氏距離的計算是建立在總體樣本的基礎上的,這一點可以從協方差矩陣的解釋中可以得出,也就是說,如果拿同樣的兩個樣本,放入兩個不同的總體中,最後計算得出的兩個樣本間的馬氏距離通常是不相同的,除非這兩個總體的協方差矩陣碰巧相同 在計算馬氏距離過程中,要求總體樣本數大於樣本的維數,否則得到的總體樣本協方差矩...