以下摘自原文:
在做分類時常常需要估算不同樣本之間的相似性度量(similarity measurement),這時通常採用的方法就是計算樣本間的「距離」(distance)。採用什麼樣的方法計算距離是很講究,甚至關係到分類的正確與否。
本文的目的就是對常用的相似性度量作乙個總結。
1. 歐氏距離
2. 曼哈頓距離
3. 切比雪夫距離
4. 閔可夫斯基距離
5. 標準化歐氏距離
6. 馬氏距離
7. 夾角余弦
8. 漢明距離
9. 傑卡德距離 & 傑卡德相似係數
10. 相關係數 & 相關距離
11. 資訊熵
1.歐氏距離(euclidean distance)
歐氏距離是最易於理解的一種距離計算方法,源自歐氏空間中兩點間的距離公式。
(1)二維平面上兩點a(x1,y1)與b(x2,y2)間的歐氏距離:
(2)三維空間兩點a(x1,y1,z1)與b(x2,y2,z2)間的歐氏距離:
(3)兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的歐氏距離:
也可以用表示成向量運算的形式:
(4)matlab計算歐氏距離
matlab計算距離主要使用pdist函式。若x是乙個m×n的矩陣,則pdist(x)將x矩陣m行的每一行作為乙個n維向量,然後計算這m個向量兩兩間的距離。
例子:計算向量(0,0)、(1,0)、(0,2)兩兩間的歐式距離
x = [0 0 ; 1 0 ; 0 2]
d = pdist(x,'euclidean')
結果:d =
1.0000 2.0000 2.2361
2.曼哈頓距離(manhattan distance)
從名字就可以猜出這種距離的計算方法了。想象你在曼哈頓要從乙個十字路口開車到另外乙個十字路口,駕駛距離是兩點間的直線距離嗎?顯然不是,除非你能穿越大樓。實際駕駛距離就是這個「曼哈頓距離」。而這也是曼哈頓距離名稱的**, 曼哈頓距離也稱為城市街區距離(city block distance)。
(1)二維平面兩點a(x1,y1)與b(x2,y2)間的曼哈頓距離
(2)兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的曼哈頓距離
(3) matlab計算曼哈頓距離
例子:計算向量(0,0)、(1,0)、(0,2)兩兩間的曼哈頓距離
x = [0 0 ; 1 0 ; 0 2]
d = pdist(x, 'cityblock')
結果:d =
1 2 3
相似性度量
二元向量的相似性度量 每一維都少的資訊量,主要是0,1等有 or 沒有屬性 dice 2 x y x y 2保證 0,1 維數不一致時,差別大。jaccard x y x y 交疊程度小時,值較低 交疊係數 x y min 互相之間的包含性,1 cosine x y 根號 x y 對於實值 只有co...
相似性度量
一般而言,定義乙個距離函式d x,y 需要滿足以下幾個準則 1.d x,x 0 到自己的距離為0 2.d x,y 0 距離要非負 3.對稱性,d x,y d y,x 如果a到b距離是a,那麼b到a的距離也應該是a 4.三角形法則 兩個之和大於第三邊 d x,k d k,y d x,y 滿足這4個條件...
相似性度量 機器學習距離公式總結
所有距離公式列表 嚴格意義上來看,閔可夫斯基距離不是一種距離,而是一組距離的定義。兩個n維向量 a x11,x12,x1n 與 b x2 1,x2 2,x2 n 間的閔可夫斯基距離為 其中 是乙個變引數 因此我們根據 引數的不同,閔可夫斯基距離可以表示一類距離。歐式距離即l2範數,是歐式空間兩點間的...