距離和相似度計算總結

2021-08-07 16:51:57 字數 3554 閱讀 5480

閔可夫斯基距離minkowsli:p=

(x1,

x2,.

..,x

n)an

dq=(

y1,y

2,..

.,yn

)∈rn

是衡量數值點之間距離的一種非常常見的方法,假設數值點

p 和

q座標如上:那麼,閔可夫斯基距離定義為:

dist

(x,y

)=(∑

i=1n

|xi−

yi|p

)1p

當p = 2時,表示的是歐幾里得距離(euclidean distance),

當p = 1時,表示的是曼哈頓距離(manhattan distance)。

如圖,白色是高樓大廈,灰色是街道

假設車子要從左下角到右上角,綠色的斜線表示兩點的歐幾里得距離(兩點間的直線距離)。其他三條是p=1時的曼哈頓距離,且這三條折現的長度相等(兩點間的水平距離加上垂直距離)。

當p大於2到趨近於無窮大時,閔可夫斯基距離轉化為切比雪夫距離(chebyshev distance):

limp→

∞(∑i

=1|x

i−yi

|pn)

1p=maxi=

1|xi

−yi|

n.2.傑卡德相似性度量(jaccard)

(1)傑卡德相似係數

兩個集合a和b交集元素的個數在a、b並集中所佔的比例,稱為這兩個集合的傑卡德係數,用符合

j(a,

b)表示。傑卡德相似係數是衡量兩個集合的一種指標 j(

a,b)

=|a∩

b||a

∪b|

(2)傑卡德距離

與傑卡德相似係數相反的概念是傑卡德距離(jaccard distance),可以用如下公式來表示:

jℓ=1

−j(a

,b)=

|a∪b

|−|a

∩b||

a∪b|

傑卡德距離用兩個兩個集合中不同元素佔所有元素的比例來衡量兩個集合的區分度

(3)性質

1)、若a,b兩個集合都為空,則j(

a,b)

=1;

2)、0≤j

(a,b

)≤1 .

(4)應用

給定兩個n維向量a、b,a、b的每一維都只能是0或者1,利用jaccard相似係數來計算二者的相似性: 1)m

00 代表向量a與向量b都是0的維度個數; 2)m

01 代表向量a是0而向量b是1的維度個數; 3)m

10 代表向量a是1而向量b是0的維度個數; 4)m

11 代表向量a和向量b都是1的維度個數。

n維向量的每一維都會落入這個4類中的某一種,因此: m00

+m01+

m10+m

11=n

則jaccard相似係數為 j(

a,b)

=m11m

01+m10

+m11

jaccard距離為(相似係數的補集) dj

(a,b

)=m01

+m10m

01+m10

+m11

此處分母之所以不加m00

的原因在於:

對於傑卡德相似係數或傑卡德距離來說,它處理的都是非對稱二元變數。非對稱的意思是指狀態的兩個輸出不是同等重要的,例如,疾病檢查的陽性和陰性結果。

按照慣例,我們將比較重要的輸出結果,通常也是出現機率較小的結果編碼為1(例如hiv陽性),而將另一種結果編碼為0(例如hiv陰性)。給定兩個非對稱二元變數,兩個都取1的情況(正匹配)認為比兩個都取0的情況(負匹配)更有意義。負匹配的數量s認為是不重要的,因此在計算時忽略。

3.余弦相似度(cosine dimilarity)

cos(θ

)=at

b|a|

∗|b|

這是兩個向量的乘積在除以各個向量的模的乘積,得到兩個向量的夾角余弦值。來衡量兩個向量的相似度。

這個函式是在區間[0, π]上的減函式,單兩個向量的余弦值越小,它們間的夾角越大,反之亦然。根據兩個向量的余弦值來判斷兩個向量的夾角,從而得出兩個向量的相似度。夾角越小相似度越大,表現為余弦值越大,相似度也越大。

4.pearson相似係數

| 表示兩個變數相關的程度,

p>

0 表示正相關,

p<

0 表示負相關,p=

0 表示零相關。|p

| 越接近於1,表明兩變數相關程度越大,它們之間的關係越緊密。

1)person相關係數

a.兩個變數均應有測量得到的連續變數

b.兩個變數所來自的總體都應是正太分布,或接近正態的單峰對稱分布。

c.變數必須是成對的資料

d.兩變數間為線性關係

5.相對熵(k-l散度)

在概率論或資訊理論中,kl散度(kullback-leibler divergence),又稱相對熵(relative entropy),是描述兩個概率分布p和q差異的一種方法。

對於連續隨機變數:

#點數和出現的統計次數

num = [1,2,3,4,5,6,5,4,3,2,1]

p = num / np.sum(num) #點數和[2,3,4,5,6,7,8,9,10,11,12]出現的概率

#平均彈的次數q分布的數學期望

q = np.arange(2,13)#[2,3,4,5,6,7,8,9,10,11,12]

e_q = np.sum(p * q) #

#平均彈的次數p分布的數學期望

p = [10,8,6,4,2,1,3,5,7,9,11]

e_p = np.sum(p * p)

結果為:

7.0

4.47222222222

也就是p分布比q分布平均每次少彈約2.5次**線

相似度計算 歐氏距離 漢明距離 余弦相似度

計算影象間的相似性可以使用歐氏距離 余弦相似度 作為度量,前者強調點的思想,後者注重線的思想。歐氏距離 歐式距離 euclidean distance即n維空間中兩個點之間的實際距離。已知兩個點a a1,a2,an b b1,b2,b n a a1,a 2,an b b1,b 2,bn 則ab間的距...

特徵向量相似度和距離的計算

本文 1 2特徵向量相似度和距離的計算34 相似度 5 夾角余弦 6 相關係數 7 dice 8 jaccard910 距離11 明氏距離 12 歐氏距離 13 馬氏距離 14 jffreys matusita 距離 15 mahalanobis 距離,未實現,協方差矩陣 16 camberra 距...

向量之間的相似度和距離計算

特徵向量相似度和距離的計算 相似度 夾角余弦 相關係數 dice jaccard 距離 明氏距離 歐氏距離 馬氏距離 jffreys matusita 距離 mahalanobis 距離,未實現,協方差矩陣 camberra 距離 lance 距離,williams 距離 include inclu...