馬氏距離就是將數據做了旋轉,做了方差歸一化之后再計算的歐氏距離

馬氏距離在歐式距離的基礎上增加了(公司中x、u表示兩個不同的變量):
1. (xi-uj),歐式距離只有(xi-uj),即相同下標的x-u的乘積
2. (xi-ui)(xj-uj)的前面增加了一個系數,這個系數是xi和ui的協方差(協方差表示兩個變量的相關性,正相關或負相關)
所以,使用了馬氏距離,在不同的坐標維度上,比如i和j,距離單位不是等長的。比如在i坐標上,xi=2,yi=1,在j坐標上,xj=2,yj=1,這兩個點在其對應的坐標上的馬氏距離是和(xi,yi),(xj,yj)各自的相關性有關的。他們的馬氏距離並不相等。ai(xi-yi)和aj(xj-yj),當他們沒有相關性的時候,即ai=aj=1,這時,馬氏距離變為歐式距離。
另外,馬氏距離等價於在具有相關性的坐標系內進行一個變換,變換到一個無相關性的坐標系內求歐氏距離
https://www.zhihu.com/question/35211238
Preface
之前在寫《Multi-view CNNs for 3D Objects Recognition》的閱讀筆記的時候,文章中的一個創新點便是將MVCNN網絡提取到的3D Objects的形狀特征描述符,投影到馬氏距離(Mahalanobis Distance)上,“這樣的話,相同類別3D形狀之間的ℓ2距離在投影后的空間中就更小,而不同的類別之間的ℓ2在投影后會更大”,也更適用於3D形狀的分類與檢索。
后來我沿着這篇文章繼續追蹤這個馬氏距離,發現在2013年BMVC會議上的《Fisher Vector Faces in the Wild》,2008年的PR會議上的《Learning a Mahalanobis distance metric for data clustering and classification》,這兩篇文章都使用了馬氏距離進行衡量特征向量之間的“遠近”。
因此,我想搞清楚馬氏距離以及歐式距離之間的區別。本文是之為記。
Basis

方差:方差是標准差的平方,而標准差的意義是數據集中各個點到均值點距離的平均值。反應的是數據的離散程度。
標准差和方差一般是用來描述一維數據的,但現實生活我們常常遇到含有多維數據的數據集。
標准差計算公式:

協方差:標准差與方差是描述一維數據的,當存在多維數據時,我們通常需要知道每個維數的變量中間是否存在關聯。協方差就是衡量多維數據集中,變量之間相關性的統計量。比如說,一個人的身高與他的體重的關系,這就需要用協方差來衡量。如果兩個變量之間的協方差為正值,則這兩個變量之間存在正相關,若為負值,則為負相關。
協方差矩陣,當變量多了,超過兩個變量了。那么,就用協方差矩陣來衡量這么多變量之間的相關性。假設 是以 個隨機變數(其中的每個隨機變數是也是一個向量,當然是一個行向量)組成的列向量:
其中, 是第 個元素的期望值,即 。協方差矩陣的第 項(第 項是一個協方差)被定義為如下形式:
即:
假設數據集有三個維度,則協方差矩陣為

如果結果為正值,則說明兩者是正相關的(從協方差可以引出“相關系數”的定義)。
當 cov(X, Y)>0時,表明X與Y 正相關;
當 cov(X, Y)<0時,表明X與Y負相關;
當 cov(X, Y)=0時,表明X與Y不相關。
這就是協方差的意義
協方差矩陣是一個對稱的矩陣,而且對角線是各個維度上的方差。協方差矩陣計算的是不同維度之間的協方差,而不是不同樣本之間的。
Mahalanobis Distance & Euclidean Distance
Definition
馬氏距離(Mahalanobis Distance)是由印度統計學家馬哈拉諾比斯(P. C. Mahalanobis)提出的,表示數據的協方差距離。它是一種有效的計算兩個未知樣本集的相似度的方法。與歐氏距離不同的是它考慮到各種特性之間的聯系(例如:一條關於身高的信息會帶來一條關於體重的信息,因為兩者是有關聯的)並且是尺度無關的(scale-invariant),即獨立於測量尺度。
對於一個均值為
,協方差矩陣為Σ的多變量
,其馬氏距離為:
如果 是單位陣的時候,馬氏距離簡化為歐氏距離;如果協方差矩陣為對角陣,其也可稱為正規化的馬氏距離。
其中σi是xi的標准差。
Why is Mahalanobis distance?
馬氏距離有很多優點,馬氏距離不受量綱的影響,兩點之間的馬氏距離與原始數據的測量單位無關;由標准化數據和中心化數據(即原始數據與均值之差)計算出的二點之間的馬氏距離相同。馬氏距離還可以排除變量之間的相關性的干擾。
它的缺點是誇大了變化微小的變量的作用。
這個stackexchange問答很好的回答了馬氏距離的解釋:
下圖是一個二元變量數據的散點圖:

當我們將坐標軸拿掉,如下圖,我們能做些什么呢?

那就是根據數據本身的提示信息來引入新的坐標軸 。
坐標的原點在這些點的中央(根據點的平均值算得)。第一個坐標軸(下圖中藍色的線)沿着數據點的“脊椎”,並向兩端延伸,定義為使得數據方差最大的方向。第二個坐標軸(下圖紅色的線)會與第一個坐標軸垂直並向兩端延伸。如果數據的維度超過了兩維,那就選擇使得數據方差是第二個最大的方向,以此類推。

我們需要一個 比例尺度 。用數據沿着每一個坐標軸的標准差來定義一個單位長度。要記住 68-95-99.7 法則:大約2/3的點需要在離原點一個單位長度的范圍內;大約95%的點需要在離原點兩個單位的長度范圍內;這會使得我們更緊盯着正確的單元。為了以示參考,如下圖:

上圖並不像是一個圓,對吧?那是因為這幅圖是被扭曲的(圖中,不同軸上的單位長度不一樣)。因此,讓我們重新沿着正確的方向畫圖——從左到右,從下到上( 相當於旋轉一下數據 )。同時, 並讓每個軸方向上的單位長度相同 ,這樣橫坐標上一個單位的長度就與縱坐標上的單位長度相同。

這里發生了什么?我們讓數據告訴我們怎樣去從散點圖中構建坐標系統,以便進行測量。這就是上面所要表達的內容。盡管在這樣的過程中我們有幾種選擇(我們可以將兩個坐標軸顛倒;在少數的幾種情況下,數據的“脊椎”方向——主方向,並不是唯一的),但是這些在最后並不影響距離。
Technical comments
沿着新坐標軸的單位向量是協方差矩陣的特征向量。
注意到沒有變形的橢圓,變成圓形后沿着特征向量用標准差(協方差的平方根)將距離長度分割。用代表協方差函數,點之間的距離(Mahalanobis distance)就是之間以方差的平方根為單位長度所分割產生的長度:。對應的代數式是,。這個公式不管用什么基底表示向量以及矩陣時都成立。特別是,這個公式在原始的坐標系中對於Mahalanobis Distance的計算也正確。
在最后一步中,坐標軸擴展的量是協方差矩陣的逆的特征值(平方根),同理的,坐標軸縮小的量是協方差矩陣的特征值。所以,點越分散,需要的將橢圓轉成圓的縮小量就越多。
盡管上述的操作可以用到任何數據上,但是對於多元正態分布的數據表現更好。在其他情況下,點的平均值或許不能很好的表示數據的中心,或者數據的“脊椎”(數據的大致趨勢方向)不能用變量作為概率分布測度(using variance as a measure of spread)來准確的確定。
原始坐標系的平移、旋轉,以及坐標軸的伸縮一起形成了仿射變換(affine transformation)。除了最開始的平移之外,其余的變換都是基底變換,從原始的一個變為新的一個。
對於多元正太分布,Mahalanobis 距離(已經變換到新的原點)出現在表達式中的位置,描述標准正太分布的概率密度。因此,在新的坐標系中,多元正態分布像是標准正太分布,當將變量投影到任何一條穿過原點的坐標軸上。特別是,在每一個新的坐標軸上,它就是標准正態分布。從這點出發來看,多元正態分布彼此之實質性的差異就在於它們的維度。注意,這里的維數可能,有時候會少於名義上的維數。
假設數據分布是一個二維的正橢圓,軸軸均值都為0,軸的方差為1000,軸的方差為1,考慮兩個點到原點的距離,如果計算的是歐氏距離那么兩者相等,但是仔細想一下,因為x軸的方差大,所以應該是更接近中心的點,也就是正態分布標准差的原則。這時候需要對軸進行縮放,對應的操作就是在協方差矩陣的對角上加上歸一化的操作,使得方差變為1.
假設數據分布是一個二維的橢圓,但是不是正的,比如橢圓最長的那條線是的,因為矩陣的對角只是對坐標軸的歸一化,如果不把橢圓旋轉回來,這種歸一化是沒有意義的,所以矩陣上的其他元素(非對角)派上用場了。如果橢圓不是正的,說明變量之間是有相關性的(x大y也大,或者負相關),加上協方差非對角元素的意義就是做旋轉。

上圖是,一個左下右上方向標准差為 3,正交方向標准差為 1 的多元高斯分布的樣本點。由於 x 和 y 分量共變(即相關),x 與 y 的方差不能完全描述該分布;箭頭的方向對應的協方差矩陣的特征向量,其長度為特征值的平方根。
http://blog.csdn.net/u010167269/article/details/51627338?_t_t_t=0.0028043033089488745
Reference
https://en.wikipedia.org/wiki/Mahalanobis_distance
https://zh.wikipedia.org/wiki/%E9%A9%AC%E6%B0%8F%E8%B7%9D%E7%A6%BB
http://blog.csdn.net/lanbing510/article/details/8758651
http://www.zhizhihu.com/html/y2009/261.html
http://stats.stackexchange.com/questions/62092/bottom-to-top-explanation-of-the-mahalanobis-distance
https://www.zybuluo.com/Antosny/note/108773
https://zh.wikipedia.org/wiki/%E5%8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5
————————————————
版權聲明:本文為CSDN博主「Catherine_985」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Catherine_985/article/details/78933387
