機(jī)器學(xué)習(xí)基礎(chǔ)之?dāng)?shù)字上的距離:點(diǎn)在空間中的距離
本文轉(zhuǎn)載自微信公眾號(hào)「活在信息時(shí)代」,作者活在信息時(shí)代。轉(zhuǎn)載本文請(qǐng)聯(lián)系活在信息時(shí)代公眾號(hào)。
在機(jī)器學(xué)習(xí)中,一個(gè)基礎(chǔ)的概念就是如何判斷兩個(gè)樣本之間的差異,從而能夠評(píng)價(jià)兩個(gè)樣本之間的相似性和類(lèi)別等信息。而判斷這種相似性的度量就是兩個(gè)樣本在特征空間內(nèi)的距離。
根據(jù)數(shù)據(jù)特征的不同,度量方法有很多種。一般而言,對(duì)兩個(gè)數(shù)據(jù)樣本x,y,定義一個(gè)函數(shù)d(x,y),如果定義其為兩個(gè)樣本之間的距離,那么d(x,y)則需要滿足以下幾條基本性質(zhì):
- 非負(fù)性:d(x,y)>=0
- 同一性:d(x,y)=0 ? x=y
- 對(duì)稱性:d(x,y)= d(y,x)
- 三角不等式:d(x,y)<= d(x,z)+d(z,y)
通常來(lái)講,常見(jiàn)的距離度量包括:點(diǎn)在空間中的距離、字符串間的距離、集合的相似度、變量/概念分布間的距離四種。
今天我們首先來(lái)介紹一下最為常用的點(diǎn)在空間中的距離。
點(diǎn)在空間中的距離包括以下幾種:
1、歐幾里得距離(Ecllidean Distance)
毫無(wú)疑問(wèn),歐氏距離是人們最熟悉的距離,它即是兩點(diǎn)之間的直線距離。學(xué)過(guò)初中數(shù)學(xué)的同學(xué)都知道在笛卡爾坐標(biāo)系中如何計(jì)算二維空間兩個(gè)點(diǎn)之間的距離
其計(jì)算公式為:
推廣到N維空間的歐氏距離即為:
2、曼哈頓距離(Manhattan Distance)
曼哈頓距離又稱為出租車(chē)距離,其概念來(lái)源于紐約曼哈頓區(qū)這樣有很多橫平豎直的街區(qū),在這種街區(qū)中,出租車(chē)司機(jī)如果想從一個(gè)點(diǎn)走到另一個(gè)點(diǎn)的話,計(jì)算直線距離是沒(méi)有用的,因?yàn)槌鲎廛?chē)不可能從建筑物上飛過(guò)去。因此,這種距離通常是將兩個(gè)點(diǎn)的東西向、南北向距離分別相減再相加,這也就是出租車(chē)實(shí)際要經(jīng)過(guò)的距離。
如圖所示,紅線和黃線就是兩種不同路徑的曼哈頓距離。數(shù)學(xué)上,二維空間的曼哈頓距離計(jì)算方法如下:
3、切比雪夫距離(Chebyshev Distance)
切比雪夫距離定義為兩個(gè)點(diǎn)之間各坐標(biāo)數(shù)值差的最大值。
其最直觀的例子即是國(guó)際象棋中的國(guó)王,因?yàn)樗梢詸M走直走斜走,但是每次都只能走一格,所以切比雪夫距離就是他要走到另一個(gè)格子所需要的最小距離。
4、閔可夫斯基距離(Minkowski Distance)
閔氏距離本身不是一個(gè)特別的距離,而是將多個(gè)距離(曼哈頓距離、歐氏距離、切比雪夫距離)合并成為的一個(gè)公式。
其定義為,對(duì)于兩個(gè)n維變量,閔氏距離為:
當(dāng)p=1時(shí),可以看到
此時(shí)為曼哈頓距離。
當(dāng)p=2時(shí),可以看到
此時(shí)即為歐氏距離。
當(dāng)p=∞時(shí),可以看到
此時(shí)即為切比雪夫距離。
5、標(biāo)準(zhǔn)化的歐幾里得距離(Standardized Euclidean Distance)
歐氏距離可以測(cè)量?jī)蓚€(gè)點(diǎn)之間的直線距離,但是在某些情況下,可能會(huì)受到單位不同的影響。例如同時(shí)是差5,差5毫米的身高和差5公斤的體重,觀感可能是完全不同的。如果我們想對(duì)三個(gè)模特進(jìn)行聚類(lèi),她們各自的屬性如下:
A:65000000毫克(即65公斤),1.74米
B:60000000毫克(即60公斤),1.70米
C:65000000毫克(即65公斤),1.40米
按我們正常的理解,A和B是身材比較好的模特,應(yīng)該歸到一類(lèi)。但是以上述單位實(shí)際計(jì)算的時(shí)候,卻發(fā)現(xiàn)A和B的差異大于A和C之間的差異。原因在于屬性計(jì)量單位的不同導(dǎo)致數(shù)值差異過(guò)大。同樣的數(shù)據(jù)如果換個(gè)單位。
A:65千克,174厘米
B:60千克,170厘米
C:65千克,140厘米
那么就會(huì)得到我們想到的結(jié)果,將A和B歸為一類(lèi)了。因此,為避免出現(xiàn)這種由于計(jì)量單位的不同而出現(xiàn)的差異,我們就需要引入標(biāo)準(zhǔn)化歐氏距離。在這種距離計(jì)算中,會(huì)將各個(gè)分量都標(biāo)準(zhǔn)化到均值、方差相等的區(qū)間。
假設(shè)樣本集X的均值(mean)為m,標(biāo)準(zhǔn)差(standard deviation)為s,那么X的“標(biāo)準(zhǔn)化變量”表示為:
其中,標(biāo)準(zhǔn)化后的值 = ( 標(biāo)準(zhǔn)化前的值 - 分量的均值 ) /分量的標(biāo)準(zhǔn)差。經(jīng)過(guò)簡(jiǎn)單的推導(dǎo)就可以得到兩個(gè)n維向量間的標(biāo)準(zhǔn)化歐氏距離公式為:
如果將方差的倒數(shù)看成是一個(gè)權(quán)重,這個(gè)公式可以看成是一種加權(quán)歐氏距離(Weighted Euclidean distance)。通過(guò)這種操作,我們就有效的消除了不同計(jì)重單位之間的差異。
6、蘭氏距離(Lance and Willianms Distance)
蘭氏距離又稱為堪培拉距離,
它是一個(gè)無(wú)量綱的指標(biāo),克服了閔氏距離與各指標(biāo)的量綱有關(guān)的缺點(diǎn),并且對(duì)于較大的奇異值不敏感,特別適合調(diào)度偏倚的數(shù)據(jù)。但是這種距離也沒(méi)有考慮到變量間的相關(guān)性。所以如果需要考慮變量之間的相關(guān)性的話,還是需要馬氏距離。
7、馬氏距離(Mahalanobis Distance)
對(duì)數(shù)值進(jìn)行標(biāo)準(zhǔn)化之后,就一定不會(huì)出問(wèn)題嗎?也不一定。例如在一個(gè)一維的例子中,如果有兩個(gè)類(lèi),一個(gè)類(lèi)均值為0,方差為0.1,而另一個(gè)類(lèi)均值為5,方差為5。那么如果一個(gè)值為2的點(diǎn)應(yīng)該屬于哪一類(lèi)呢?我們直覺(jué)上認(rèn)為它肯定是第二類(lèi),因?yàn)榈谝活?lèi)顯然不太可能在數(shù)值上達(dá)到2。但是實(shí)際上從距離上計(jì)算的話2這個(gè)數(shù)就得屬于第一類(lèi)。
所以,在一個(gè)方差較小的維度下,很小的差別就可能成為離群點(diǎn)。例如說(shuō)下圖,A與B相對(duì)于原點(diǎn)的距離是相同的,但是由于樣本整體沿著橫軸分布,所以B點(diǎn)更有可能是樣本中的點(diǎn),而A點(diǎn)則更有可能是離群點(diǎn)。
而在維度間不獨(dú)立同分布的情況下,也會(huì)出現(xiàn)問(wèn)題,例如說(shuō)下圖中的A點(diǎn)與B點(diǎn)到原點(diǎn)的距離相等,但是主要分布類(lèi)似于f(x)=x,所以A更像是一個(gè)離群點(diǎn)。
因此,我們可以看到,在這種情況下,標(biāo)準(zhǔn)化的歐氏距離也會(huì)有問(wèn)題,所以我們需要引入馬氏距離。
馬氏距離將變量按照主成分進(jìn)行旋轉(zhuǎn),讓維度間相互獨(dú)立,然后再進(jìn)行標(biāo)準(zhǔn)化,讓維度同分布。而主成分即為特征向量方向,所以只需要按照特征向量的方向進(jìn)行旋轉(zhuǎn),然后縮放特征值倍就可以了。例如上圖變換之后會(huì)得到下面的結(jié)果:
可以看出離群點(diǎn)被成功分離了。
馬氏距離是由印度數(shù)學(xué)家馬哈拉諾比斯提出的,表示數(shù)據(jù)的協(xié)方差距離。它是一種有效地計(jì)算兩個(gè)未知樣本集的相似度的方法。
對(duì)于一個(gè)均值為
,協(xié)方差矩陣為Σ的多變量矢量
,其馬氏距離(單個(gè)數(shù)據(jù)點(diǎn)的馬氏距離)為:
對(duì)于兩個(gè)服從同一分布并且其協(xié)方差矩陣為Σ的隨機(jī)變量X與Y的差異程度,數(shù)據(jù)點(diǎn)x, y之間的馬氏距離為:
如果協(xié)方差矩陣為單位矩陣,那么馬氏距離就簡(jiǎn)化成了歐氏距離。如果協(xié)方差矩陣為對(duì)角陣,那么馬氏距離就變成了標(biāo)準(zhǔn)化的歐氏距離。
8、余弦距離(Cosine Distance)
顧名思義,余弦距離來(lái)源于幾何中的夾角余弦,它可用來(lái)衡量?jī)蓚€(gè)向量方向的差異,而非距離或長(zhǎng)度上。當(dāng)余弦值為0時(shí),兩向量正交,夾角為90度。夾角越小,余弦值越接近于1,方向更趨同。
在N維空間中,余弦距離為:
值得指出的是,余弦距離不滿足三角不等式。
9、測(cè)地距離(Geodesic Distance)
測(cè)地距離最初是指球體表面之間的最短距離。當(dāng)特征空間為平面時(shí),測(cè)地距離即為歐氏距離。在非歐幾何中,球面上兩點(diǎn)間距離最短的線是連接這兩點(diǎn)的大圓弧,在球面上的三角形、多邊形的邊也是由這些大圓弧組成的。
10、布雷柯蒂斯距離(Bray Curtis Distance)
布雷柯蒂斯距離主要用于植物學(xué)、生態(tài)學(xué)和環(huán)境科學(xué),它可以用來(lái)計(jì)算樣本之間的差異。其公式為:
其取值在[0, 1]之間,如果兩個(gè)向量坐標(biāo)都為0的話,那么值就無(wú)意義。