一铡恕、說明
相似性度量用以描述兩個向量之間的相似性探熔,是一個值域為一維的二元函數(shù)诀艰。一般情況墙牌,相似性度量本質(zhì)上指距離度量喜滨,只不過數(shù)值指示剛好相反虽风,如果是距離的話辜膝,數(shù)值越小厂抖,距離越近忱辅,而相似度越大橡卤;如果是相似度的話损搬,數(shù)值越小巧勤,相似度越小嵌灰,而距離越大。
相似性度量在機器學習中是一個非程吖兀基礎的概念伞鲫,尤其在聚類、推薦系統(tǒng)等算法中签舞。
在工程應用中秕脓,也會使用一些不完全滿足距離度量基本性質(zhì)的“非距離度量”[1]柒瓣。
二、距離度量的基本性質(zhì):
??????? 非負性: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等于無窮大時,閔可夫斯基距離就是切比雪夫距離渊额。
若將國際象棋棋盤放在二維直角坐標系中求类,格子的邊長定義為1寿弱,座標的x軸及y軸和棋盤方格平行,原點恰落在某一格的中心點危融,則王從一個位置走到其他位置需要的最少步數(shù)恰為二個位置的切比雪夫距離蛋勺,因此切比雪夫距離也稱為棋盤距離碉怔。[2]
5老翘、"加權(weighted)"閔可夫斯基距離
當樣本中不同屬性的重要性不同時傀履,可使用"加權距離"(weighted distance)[1]。
6治专、余弦相似度(Cosine Similarity)
余弦相似性取值[-1,1]喘批,值越趨于1,表示兩個向量的相似度越高饱狂。余弦相似度與向量的幅值無關,只與向量的方向相關芜辕,在文檔相似度(TF-IDF)和圖片相似性(histogram)計算上都有它的身影[3]轧坎。
7、皮爾遜相關系數(shù)(Pearson Correlation)
余弦相似度會受到向量的平移影響,怎樣才能實現(xiàn)平移不變性朦肘?在余弦相似度的基礎上苍匆,每個向量減去這個向量均值組成的向量检碗,也就是皮爾遜相關系數(shù)怕犁,有時候也直接叫相關系數(shù)。
當兩個向量均值都為0時凶杖,皮爾遜相對系數(shù)等于余弦相似性。
8漆撞、馬氏距離(Mahalanobis Distance)
一個向量的不同維度如果是不同的量綱昆著,更有甚者疤坝,維度之間是相關的兆解,比如身高和體重組成的向量,在閔可夫斯基距離中等同對待跑揉,有時锅睛,這樣是不恰當?shù)牟壕蕖qR氏距離利用 Cholesky transformation 消除了不同維度之間的相關性和尺度不同[3]。
其中现拒,S為樣本的協(xié)方差矩陣辣垒。當S是單位陣的時候,馬氏距離就是歐式距離印蔬;當S是對角陣的時候勋桶,馬氏距離是加權歐式距離。
很多時候侥猬,一個事物的有點也可能會構成它的缺點例驹。這里馬氏距離可以消除不同維度之間的不同尺度,就可能放大了變化細微維度的作用[4]退唠。
我們可以按照連續(xù)性將屬性分為“連續(xù)屬性”和“離散屬性”鹃锈;也可以按照有序性將屬性分為“有序?qū)傩浴焙汀盁o序?qū)傩浴盵1]。上面的相似性度量都是關于“連續(xù)”并“有序”屬性的瞧预,下面給出幾個關于“離散屬性”和“無序?qū)傩浴钡南嗨菩远攘俊?/p>
9屎债、漢明距離(Hamming Distance)
兩個等長字符串s1與s2之間的漢明距離定義為將其中一個變?yōu)榱硗庖粋€所需要作的最小替換次數(shù)。
例如:字符串“11110011”與“10010010”之間的漢明距離為3松蒜。
漢明距離可以在通信中累計定長二進制字中發(fā)生翻轉(zhuǎn)的錯誤數(shù)據(jù)位扔茅,所以它也被稱為信號距離。漢明重量分析在包括信息論秸苗、編碼理論召娜、密碼學等領域都有應用。[5]
如果要比較兩個不同長度的字符串惊楼,不僅要進行替換玖瘸,而且要進行插入與刪除的運算,在這種場合下檀咙,通常使用更加復雜的編輯距離等算法雅倒。[5]
10、杰卡德相似系數(shù)(Jaccard Similarity)
杰卡德相似系數(shù)是衡量兩個集合的相似度一種指標
杰卡德相似系數(shù)是從相似性度量的角度來表述的弧可,從距離度量的角度蔑匣,則有杰卡德距離(Jaccard Distance)
杰卡德相似系數(shù)和杰卡德距離本質(zhì)上是一樣的,只是表述角度不同棕诵。
在聚類中裁良,杰卡德相似系數(shù)可以作為聚類的性能度量[1]。在推薦系統(tǒng)中校套,杰卡德相似系數(shù)可以度量兩個購買若干商品的用戶之間的相似性[3]价脾。
11、KL散度(Kullback-Leibler Divergence)
又叫相對熵笛匙,表示兩個隨機分布之間的相似性
可以證明侨把,KL散度大于等于0犀变,當p=q時等于0;KL散度不滿足對稱性秋柄。
12获枝、Hellinger距離(Hellinger Distance)
在七月算法的課程里,還講了一個與KL散度類似的距離骇笔,表示隨機分布之間的相似性的Hellinger距離
當α=0時
這時映琳,Hellinger距離就是兩個隨機分布取平方根之后的歐式距離,符合距離度量的四個性質(zhì)蜘拉,是嚴格的距離度量。
四有鹿、參考
1旭旭、《機器學習》,周志華著
2葱跋、切比雪夫距離——百度百科
5娱俺、漢明距離