轉載:https://blog.csdn.net/panglinzhuo/article/details/77801869
馬氏距離
用來度量一個樣本點P與數據分佈爲D的集合的距離。
假設樣本點爲:
數據集分佈的均值爲:
協方差矩陣爲S。
則這個樣本點P與數據集合的馬氏距離爲:
馬氏距離也可以衡量兩個來自同一分佈的樣本x和y的相似性:
當樣本集合的協方差矩陣是單位矩陣時,即樣本的各個維度上的方差均爲1.馬氏距離就等於歐式距離相等。
當協方差矩陣是對角矩陣時,即樣本數據在各個維度上的方差可能不爲1.此時,
可以看做是標準化了的歐氏距離。其中,si爲樣本數據在第i個維度上的標準差。
思考
1.爲什麼馬氏距離是尺度無關的?
想判斷一個點是否屬於一個集合,首先計算出這個集合的中心點(通過計算這個集合中所有樣本的均值向量可以得到),然後求出這個點到中心點的距離,若大於一個閾值則認爲不屬於這個集合。但是這樣有個問題,有的集合包含的範圍比較大,待分類樣本雖然離此集合中心點較其他集合的中心點遠,但實際上屬於這個集合,這就是尺度對分類結果的影響。爲了消除這個影響,計算出集合中所有數據點到中心點的平均距離,這樣,範圍大的集合計算出來的平均距離就會較範圍小的集合平均距離大,這個平均距離就是下式中的分母:標準差。
上式使得馬氏距離具有尺度不變性。
但是這樣還有問題,上面的式子只適合集合是圓形區域分佈的,如下圖:
對於下面的橢圓形例子,A點距離中心點更近,但是A點離集合邊緣更近,更危險,一不小心就不屬於這個集合了。所以僅僅通過上式得到的距離來衡量一個點屬於一個集合的概率是不準確的。
假設一個樣本集合的維度是N,數據在各個維度上的方差已知(方差較大的方向是數據主要的變化方向),可以把方差看做各個方向上的軸長,方差越大,軸越長,數據點在這個方向上就越不容易掉下懸崖,也就越安全。如果待測樣本在各個維度上與集合中心的距離都遠遠小於這個維度上的軸長,那麼這個樣本屬於集合的概率就越大。協方差矩陣的對角線元素就代表了各個維度上的方差。
再次看上式,可以認爲,對每一個待測樣本,都計算一下其與集合中心的距離,接着,在各個方向上均除以軸長(協方差矩陣求逆),最後再乘起來,整個結果越小則說明樣本越靠近集合的中心。
2.那麼協方差矩陣的非對角線是幹嘛的?
這個我也不太清楚,我猜是它們的存在使得馬氏距離可以將樣本不同緯度特徵的相關性關聯起來。
參考網址:
https://en.wikipedia.org/wiki/Mahalanobis_distance