相似性度量

一、說明

相似性度量用以描述兩個向量之間的相似性,是一個值域為一維的二元函數(shù)。一般情況,相似性度量本質(zhì)上指距離度量,只不過數(shù)值指示剛好相反,如果是距離的話,數(shù)值越小,距離越近,而相似度越大;如果是相似度的話,數(shù)值越小,相似度越小,而距離越大。

相似性度量在機器學(xué)習(xí)中是一個非?;A(chǔ)的概念,尤其在聚類、推薦系統(tǒng)等算法中。

在工程應(yīng)用中,也會使用一些不完全滿足距離度量基本性質(zhì)的“非距離度量”[1]。

二、距離度量的基本性質(zhì):

??????? 非負(fù)性:dist(x,y) >= 0

??????? 同一性:dist(x,x) = 0

??????? 對稱性:dist(x,y) = dist(y,x)

??????? 三角不等式:dist(x,z)+dist(y,z) >= dist(x,y)

三、常用相似性度量

1、閔可夫斯基距離(Minkowski Distance)

2、曼哈頓距離(Manhattan Distance)

p=1時,閔可夫斯基距離就是曼哈頓距離

又稱城市街區(qū)距離,在方正的北京大街打車,行車距離就是曼哈頓距離,如果在山城重慶就不是了。

3、歐氏距離(Euclidean Distance)

p=2時,閔可夫斯基距離就是歐氏距離。

在平面幾何或者立體幾何中的距離,通常就是歐氏距離,所以歐氏距離也最容易理解。

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

p等于無窮大時,閔可夫斯基距離就是切比雪夫距離。

若將國際象棋棋盤放在二維直角坐標(biāo)系中,格子的邊長定義為1,座標(biāo)的x軸及y軸和棋盤方格平行,原點恰落在某一格的中心點,則王從一個位置走到其他位置需要的最少步數(shù)恰為二個位置的切比雪夫距離,因此切比雪夫距離也稱為棋盤距離。[2]

5、"加權(quán)(weighted)"閔可夫斯基距離

當(dāng)樣本中不同屬性的重要性不同時,可使用"加權(quán)距離"(weighted distance)[1]。

6、余弦相似度(Cosine Similarity)

余弦相似性取值[-1,1],值越趨于1,表示兩個向量的相似度越高。余弦相似度與向量的幅值無關(guān),只與向量的方向相關(guān),在文檔相似度(TF-IDF)和圖片相似性(histogram)計算上都有它的身影[3]。

7、皮爾遜相關(guān)系數(shù)(Pearson Correlation)

余弦相似度會受到向量的平移影響,怎樣才能實現(xiàn)平移不變性?在余弦相似度的基礎(chǔ)上,每個向量減去這個向量均值組成的向量,也就是皮爾遜相關(guān)系數(shù),有時候也直接叫相關(guān)系數(shù)。

當(dāng)兩個向量均值都為0時,皮爾遜相對系數(shù)等于余弦相似性。

8、馬氏距離(Mahalanobis Distance)

一個向量的不同維度如果是不同的量綱,更有甚者,維度之間是相關(guān)的,比如身高和體重組成的向量,在閔可夫斯基距離中等同對待,有時,這樣是不恰當(dāng)?shù)?。馬氏距離利用 Cholesky transformation 消除了不同維度之間的相關(guān)性尺度不同[3]。

其中,S為樣本的協(xié)方差矩陣。當(dāng)S是單位陣的時候,馬氏距離就是歐式距離;當(dāng)S是對角陣的時候,馬氏距離是加權(quán)歐式距離。

很多時候,一個事物的有點也可能會構(gòu)成它的缺點。這里馬氏距離可以消除不同維度之間的不同尺度,就可能放大了變化細(xì)微維度的作用[4]。

我們可以按照連續(xù)性將屬性分為“連續(xù)屬性”和“離散屬性”;也可以按照有序性將屬性分為“有序?qū)傩浴焙汀盁o序?qū)傩浴盵1]。上面的相似性度量都是關(guān)于“連續(xù)”并“有序”屬性的,下面給出幾個關(guān)于“離散屬性”和“無序?qū)傩浴钡南嗨菩远攘俊?/p>

9、漢明距離(Hamming Distance)

兩個等長字符串s1與s2之間的漢明距離定義為將其中一個變?yōu)榱硗庖粋€所需要作的最小替換次數(shù)。

例如:字符串“11110011”與“10010010”之間的漢明距離為3。

漢明距離可以在通信中累計定長二進制字中發(fā)生翻轉(zhuǎn)的錯誤數(shù)據(jù)位,所以它也被稱為信號距離。漢明重量分析在包括信息論、編碼理論、密碼學(xué)等領(lǐng)域都有應(yīng)用。[5]

如果要比較兩個不同長度的字符串,不僅要進行替換,而且要進行插入與刪除的運算,在這種場合下,通常使用更加復(fù)雜的編輯距離等算法。[5]

10、杰卡德相似系數(shù)(Jaccard Similarity)

杰卡德相似系數(shù)是衡量兩個集合的相似度一種指標(biāo)

杰卡德相似系數(shù)是從相似性度量的角度來表述的,從距離度量的角度,則有杰卡德距離(Jaccard Distance)

杰卡德相似系數(shù)和杰卡德距離本質(zhì)上是一樣的,只是表述角度不同。

在聚類中,杰卡德相似系數(shù)可以作為聚類的性能度量[1]。在推薦系統(tǒng)中,杰卡德相似系數(shù)可以度量兩個購買若干商品的用戶之間的相似性[3]。

11、KL散度(Kullback-Leibler Divergence)

又叫相對熵,表示兩個隨機分布之間的相似性

可以證明,KL散度大于等于0,當(dāng)p=q時等于0;KL散度不滿足對稱性。

12、Hellinger距離(Hellinger Distance)

在七月算法的課程里,還講了一個與KL散度類似的距離,表示隨機分布之間的相似性的Hellinger距離

當(dāng)α=0時

這時,Hellinger距離就是兩個隨機分布取平方根之后的歐式距離,符合距離度量的四個性質(zhì),是嚴(yán)格的距離度量。

四、參考

1、《機器學(xué)習(xí)》,周志華著

2、切比雪夫距離——百度百科

3、漫談機器學(xué)習(xí)中的距離和相似性度量方法

4、馬氏距離——百度百科

5、漢明距離

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容