距離和相似性度量


距離:

1.      明可夫斯基距離(Minkowski Distance)

公式:

其中p是一個變量,下面的所有距離都是這個公式的特例;

p=1就是曼哈頓距離, P=2就是歐式距離,P=無窮時,就是切比雪夫距離.

 

2.      歐幾里得距離(Euclidean Distance)

最常見的歐式距離就是平面上兩點間的距離D=sqrt(x^2+y^2);

通用的公式爲:


3.      曼哈頓距離(Manhattan Distance)

曼哈頓距離來源於城市區塊距離,是將多個維度上的距離進行求和後的結果

公式:

假設下面就是曼哈頓街區,兩個頂點之間的距離,無論怎麼走,最近的方法都是2+3=5;

 

4.      切比雪夫距離(Chebyshev Distance)

切比雪夫距離起源於國際象棋中國王的走法,我們知道國際象棋國王每次只能往周圍的8格中走一步,那麼如果要從棋盤中A格(x1, y1)走到B格(x2, y2)最少需要走幾步?

公式:


假設下面是棋盤的一小塊,國王要從A到B,只能橫,豎,斜地走.那麼無論怎麼走,最短距離始終是7=max(4,7);


補充

度量空間(metrics)需要滿足一下三個要求:

非負性

(a)d(x,y)>=0   

(b)d(x,y)=0 if x==y  

對稱性

d(x,y) = d(y,x) for all x,y

三角性

d(x,z)<= d(x,y) + d(y,z)

metrics對於許多算法是必須的,不過很多情況下,不必滿足metrics也可以作爲距離度量。


相關性度量

相關性是統計學上的概念.在機器學習中,經常要衡量兩個變量的相關性,比如K-mean聚類算法等.這裏做一個簡單的小結。

補充

我們可以從距離直接得到相似性,如:

s表示相關性,d表示距離,則有:

s = -d

s=1/(1+d)  這種方法把距離映射到(0-1)的相似性空間中

s=e^-d       這種方法爲非線性映射

s = 1-(d-mind)/(maxd-mind)  也是一種把距離映射到(0-1)範圍上的方法,不過這種是線性的。

小結:任意一種遞減的函數都可以把d映射爲s度量

 

1.      向量空間餘弦相似度

指的是兩個向量夾角餘弦值,體現的更多是兩個向量在方向上的差異.


我們看下面這幅圖,他表徵了餘弦相似與歐式距離的差異.餘弦更注重線性方向,而歐式距離則注重絕對距離.


補充:對於稀疏的非二進制屬性,cosine距離是比較好的選擇。

 

2.      person相關係數

X和Y基於自身總體標準化後計算空間向量的餘弦夾角

皮爾森相關係數表示兩個變量分佈的線性關係.

如果Y=kX+b,那麼X完全由Y線性決定,皮爾森係數爲+1,-1;

如果Y=X^2,雖然X完全由Y決定,但不是線性的;皮爾森係數爲0;

假設X,Y兩個變量,他們的分佈在二維平面上表示如下.通過下圖觀察他們的線性相關性.


第二行的圖明顯都有Y=kX+b;相關係數爲1或-1;

第三行雖然圖像很漂亮,不過應該都是非線性的相關,皮爾森係數爲0;


餘弦夾角與皮爾森相關係數的聯繫與區別:

我們把皮爾森相關係數用向量的形式展開,得到:


對比餘弦夾角,我們可以看出,皮爾森相關係數分子分母都有與餘弦夾角相同的項,只不過都減去了一個均值。

於是我們得出:皮爾森相關係數=中心化之後的餘弦夾角。


如wiki上的一個實例:

例如,有5個國家的國民生產總值分別爲 10, 20, 30, 50 和 80 億美元。 假設這5個國家 (順序相同) 的貧困百分比分別爲 11%, 12%, 13%, 15%, and 18%。 令 x 和 y 分別爲包含上述5個數據的向量: x = (1, 2, 3, 5, 8) 和 y = (0.11, 0.12, 0.13,0.15, 0.18)。

利用通常的方法計算兩個向量之間的夾角, 未中心化 的相關係數是:


我們發現以上的數據特意選定爲完全相關: y = 0.10 + 0.01 x。 於是,皮爾遜相關係數應該等於1。將數據中心化(通過E(x) = 3.8移動 x 和通過 E(y) = 0.138 移動 y ) 得到 x = (−2.8, −1.8, −0.8, 1.2,4.2) 和 y = (−0.028, −0.018,−0.008, 0.012, 0.042), 從中,



3.      spearman秩相關係數

又稱等級相關係數,或順序相關係數,是將兩樣本值按數據的大小順序排列位次.

再以排序後的位置替換原來的元素 ,即用rank進行皮爾森相關係數計算.

下面式子中x,y分別表示排序後的等級rank.


斯皮爾曼相關係數指示的是兩個變量是否單調相關,無論是否線性.如下圖:


X,Y是單調上升相關的,雖然非線性,斯皮爾曼係數爲1;

比如我們統計經濟是否隨着人口增加而增加,通過計算它們的斯皮爾曼相關係數就能得到.

 

4.      Jaccard相似係數(Jaccard Coefficient)

Jaccard係數主要用於計算符號度量或布爾值度量的個體間的相似度,因爲個體的特徵屬性都是由符號度量或者布爾值標識,因此無法衡量差異具體值的大小,只能獲得“是否相同”這個結果,所以Jaccard係數只關心個體間共同具有的特徵是否一致這個問題。如果比較X與Y的Jaccard相似係數,只比較xn和yn中相同的個數,公式如下:

如集合A={1,2,3,4};B={3,4,5,6};

那麼他們的J(X,Y)=1{3,4}/1{1,2,3,4,5,6}=1/3;


補充:Jaccard距離的非二進制補充是tonimoto距離

 

5.      KL距離

雖然寫的是距離,但個人覺得放在相關性這裏比較適合.

KL距離也叫做相對熵,是基於統計學與信息論的相關係數,是兩個概率分佈P和Q差別的非對稱性的度量.

公式:

更進一步的,互信息爲P(X,Y)與P(X)P(Y)的KL距離.

KL距離具有不對稱性,即P到Q的KL距離,不等於Q到P的KL距離。

 

由於KL距離的不對稱性,Kullback and Leibler定義了一種對稱的距離:D(P||Q)+D(Q||P),這個公式經常被用於分類中的特徵選擇,P和Q爲特徵在兩個class中的分佈.

關於KL距離,具體可見blog:

http://blog.csdn.net/txwh0820/article/details/50148275

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章