歐氏距離定義: 歐氏距離( Euclidean distance)是一個通常採用的距離定義,它是在m維空間中兩個點之間的真實距離。
在二維和三維空間中的歐式距離的就是兩點之間的距離,二維的公式是
d = sqrt((x1-x2)^+(y1-y2)^)
三維的公式是
d=sqrt(x1-x2)^+(y1-y2)^+(z1-z2)^)
推廣到n維空間,歐式距離的公式是
d=sqrt( ∑(xi1-xi2)^ ) 這裏i=1,2..n
xi1表示第一個點的第i維座標,xi2表示第二個點的第i維座標
n維歐氏空間是一個點集,它的每個點可以表示爲(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是實數,稱爲x的第i個座標,兩個點x和y=(y(1),y(2)...y(n))之間的距離d(x,y)定義爲上面的公式.
歐氏距離看作信號的相似程度。 距離越近就越相似,就越容易相互干擾,誤碼率就越高。
目前該距離也會用於Web2.0的數據相似程度的分析,例如:用戶喜好的相似程度。
====補充====
網上google一下,終於明白了,看下圖,解釋太明顯了
其實就是我們學的最簡單的公式:a^2+b^2=c^2,因此,兩點距離其實就是:sqrt((x1-x2)^2+(y1-y2)^2)
我們熟悉的歐氏距離雖然很有用,但也有明顯的缺點。它將樣品的不同屬性(即各指標或各變量)之間的差別等同看待,這一點有時不能滿足實際要求。例如,在教育研究中,經常遇到對人的分析和判別,個體的不同屬性對於區分個體有着不同的重要性。因此,有時需要採用不同的距離函數。
如果用dij表示第i個樣品和第j個樣品之間的距離,那麼對一切i,j和k,dij應該滿足如下四個條件:
①當且僅當i=j時,dij=0
②dij>0
③dij=dji(對稱性)
④dij≤dik+dkj(三角不等式)
顯然,歐氏距離滿足以上四個條件。滿足以上條件的函數有多種,本節將要用到的馬氏距離也是其中的一種。
第i個樣品與第j個樣品的馬氏距離dij用下式計算:
dij =(x i 一x j)’S-1(x i一xj)
其中,x i 和x j分別爲第i個和第j個樣品的m個指標所組成的向量,S爲樣本協方差矩陣。
馬氏距離有很多優點。它不受量綱的影響,兩點之間的馬氏距離與原始數據的測量單位無關;由標準化數據和中心化數據(即原始數據與均值之差)計算出的二點之間的馬氏距離相同。馬氏距離還可以排除變量之間的相關性的干擾。它的缺點是誇大了變化微小的變量的作用。
————————————————————————
歐氏距離定義: 歐氏距離( Euclidean distance)是一個通常採用的距離定義,它是在m維空間中兩個點之間的真實距離。
在二維和三維空間中的歐式距離的就是兩點之間的距離,二維的公式是
d = sqrt((x1-x2)^+(y1-y2)^)
三維的公式是
d=sqrt(x1-x2)^+(y1-y2)^+(z1-z2)^)
推廣到n維空間,歐式距離的公式是
d=sqrt( ∑(xi1-xi2)^ ) 這裏i=1,2..n
xi1表示第一個點的第i維座標,xi2表示第二個點的第i維座標
n維歐氏空間是一個點集,它的每個點可以表示爲(x(1),x(2),…x(n)),其中x(i)(i=1,2…n)是實數,稱爲x的第i個座標,兩個點x和y=(y(1),y(2)…y(n))之間的距離d(x,y)定義爲上面的公式.
歐氏距離看作信號的相似程度。 距離越近就越相似,就越容易相互干擾,誤碼率就越高。
——————————————————————————–
馬氏距離是由印度統計學家馬哈拉諾比斯(P. C. Mahalanobis)提出的,表示數據的協方差距離。它是一種有效的計算兩個未知樣本集的相似度的方法。與歐式距離不同的是它考慮到各種特性之間的聯繫(例如:一條關於身高的信息會帶來一條關於體重的信息,因爲兩者是有關聯的),並且是尺度無關的(scale-invariant),即獨立於測量尺度。
馬氏距離不受量綱的影響,兩點之間的馬氏距離與原始數據的測量單位無關;由標準化數據和中心化數據(即原始數據與均值之差)計算出的二點之間的馬氏距離相同。馬氏距離還可以排除變量之間的相關性的干擾。它的缺點是誇大了變化微小的變量的作用。
下面是關於馬氏距離的計算方法(參考:http://topic.csdn.net/u/20080911/14/f4402565-3b4f-4de4-a4fa-f4c020dd1477.html )
兩個樣本:
His1 = {3,4,5,6}
His2 = {2,2,8,4}它們的均值爲:
U = {2.5, 3, 6.5, 5}
協方差矩陣爲:
S =
| 0.25 0.50 -0.75 0.50 |
| 0.50 1.00 -1.50 1.00 |
|-0.75 -1.50 2.25 -1.50 |
| 0.50 1.00 -1.50 1.00 |
其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)]+[His2(i)-u(i)]*[His2(j)-u(j)]}/2下一步就是求出逆矩陣S^(-1)
馬氏距離 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的轉置列向量]}
歐氏距離(http://en.wikipedia.org/wiki/Euclidean_distance )即兩項間的差是每個變量值差的平方和再平方根,目的是計算其間的整體距離即不相似性。我們熟悉的歐氏距離雖然很有用,但也有明顯的缺點。它將樣品的不同屬性(即各指標或各變量)之間的差別等同看待,這一點有時不能滿足實際要求。例如,在教育研究中,經常遇到對人的分析和判別,個體的不同屬性對於區分個體有着不同的重要性。因此,有時需要採用不同的距離函數。
補充說明:(來源:http://topic.csdn.net/u/20090819/15/4d4ccbe6-f186-48e6-a150-61c1f41dc4d2.html )
馬氏距離(Mahalanobis distances)
1)馬氏距離的計算是建立在總體樣本的基礎上的,這一點可以從上述協方差矩陣的解釋中可以得出,也就是說,如果拿同樣的兩個樣本,放入兩個不同的總體中,最後計算得出的兩個樣本間的馬氏距離通常是不相同的,除非這兩個總體的協方差矩陣碰巧相同;
2)在計算馬氏距離過程中,要求總體樣本數大於樣本的維數,否則得到的總體樣本協方差矩陣逆矩陣不存在,這種情況下,用歐式距離來代替馬氏距離,也可以理解爲,如果樣本數小於樣本的維數,這種情況下求其中兩個樣本的距離,採用歐式距離計算即可。
3)還有一種情況,滿足了條件總體樣本數大於樣本的維數,但是協方差矩陣的逆矩陣仍然不存在,比如A(3,4),B(5,6);C(7,8),這種情況是因爲這三個樣本在其所處的二維空間平面內共線(如果是大於二維的話,比較複雜???)。這種情況下,也採用歐式距離計算。
4)在實際應用中“總體樣本數大於樣本的維數”這個條件是很容易滿足的,而所有樣本點出現3)中所描述的情況是很少出現的,所以在絕大多數情況下,馬氏距離是可以順利計算的,但是馬氏距離的計算是不穩定的,不穩定的來源是協方差矩陣,這也是馬氏距離與歐式距離的最大差異之處。
我們熟悉的歐氏距離雖然很有用,但也有明顯的缺點。它將樣品的不同屬性(即各指標或各變量)之間的差別等同看待,這一點有時不能滿足實際要求。馬氏距離有很多優點。它不受量綱的影響,兩點之間的馬氏距離與原始數據的測量單位無關;由標準化數據和中心化數據(即原始數據與均值之差)計算出的二點之間的馬氏距離相同。馬氏距離還可以排除變量之間的相關性的干擾。它的缺點是誇大了變化微小的變量的作用。
參考自:
http://rogerdhj.blog.sohu.com/39020502.html
http://hzcamel.spaces.live.com/blog/cns!30CA297C0520B02C!351.entry
http://54pe.javaeye.com/blog/478242