在數(shù)據(jù)挖掘中,我們經(jīng)常需要計(jì)算樣本之間的相似度,通常的做法是計(jì)算樣本之間的距離。在本文中,數(shù)據(jù)科學(xué)家 Maarten Grootendorst 向我們介紹了 9 種距離度量方法,其中包括歐氏距離、余弦相似度等,并探討如何以及何時(shí)以最佳的方式使用它們。此外 Maarten Grootendorst 還對(duì)它們的缺點(diǎn)進(jìn)行了介紹,以及如何規(guī)避不足。歐氏距離(Euclidean Distance)
歐式距離。 我們從最常見(jiàn)的歐式距離開(kāi)始,歐式距離可解釋為連接兩個(gè)點(diǎn)的線段的長(zhǎng)度。歐式距離公式非常簡(jiǎn)單,使用勾股定理從這些點(diǎn)的笛卡爾坐標(biāo)計(jì)算距離。
缺點(diǎn):盡管這是一種常用的距離度量,但歐式距離并不是尺度不變的,這意味著所計(jì)算的距離可能會(huì)根據(jù)特征的單位發(fā)生傾斜。通常,在使用歐式距離度量之前,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。 此外,隨著數(shù)據(jù)維數(shù)的增加,歐氏距離的作用也就越小。這與維數(shù)災(zāi)難(curse of dimensionality)有關(guān)。 用例:當(dāng)你擁有低維數(shù)據(jù)且向量的大小非常重要時(shí),歐式距離的效果非常好。如果在低維數(shù)據(jù)上使用歐式距離,則如 k-NN 和 HDBSCAN 之類的方法可達(dá)到開(kāi)箱即用的效果。 余弦相似度(Cosine Similarity)
余弦相似度。 余弦相似度經(jīng)常被用作抵消高維歐式距離問(wèn)題。余弦相似度是指兩個(gè)向量夾角的余弦。如果將向量歸一化為長(zhǎng)度均為 1 的向量,則向量的點(diǎn)積也相同。 兩個(gè)方向完全相同的向量的余弦相似度為 1,而兩個(gè)彼此相對(duì)的向量的余弦相似度為 - 1。注意,它們的大小并不重要,因?yàn)檫@是在方向上的度量。
缺點(diǎn):余弦相似度的一個(gè)主要缺點(diǎn)是沒(méi)有考慮向量的大小,而只考慮它們的方向。以推薦系統(tǒng)為例,余弦相似度就沒(méi)有考慮到不同用戶之間評(píng)分尺度的差異。 用例:當(dāng)我們對(duì)高維數(shù)據(jù)向量的大小不關(guān)注時(shí),可以使用余弦相似度。對(duì)于文本分析,當(dāng)數(shù)據(jù)以單詞計(jì)數(shù)表示時(shí),經(jīng)常使用此度量。例如,當(dāng)一個(gè)單詞在一個(gè)文檔中比另一個(gè)單詞更頻繁出現(xiàn)時(shí),這并不一定意味著文檔與該單詞更相關(guān)。可能是文件長(zhǎng)度不均勻或者計(jì)數(shù)的重要性不太重要。我們最好使用忽略幅度的余弦相似度。 漢明距離(Hamming Distance)
漢明距離。 漢明距離是兩個(gè)向量之間不同值的個(gè)數(shù)。它通常用于比較兩個(gè)相同長(zhǎng)度的二進(jìn)制字符串。它還可以用于字符串,通過(guò)計(jì)算不同字符的數(shù)量來(lái)比較它們之間的相似程度。 缺點(diǎn):當(dāng)兩個(gè)向量長(zhǎng)度不相等時(shí),漢明距離使用起來(lái)很麻煩。當(dāng)幅度是重要指標(biāo)時(shí),建議不要使用此距離指標(biāo)。 用例:典型的用例包括數(shù)據(jù)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)傳輸時(shí)的錯(cuò)誤糾正 / 檢測(cè)。它可以用來(lái)確定二進(jìn)制字中失真的數(shù)目,作為估計(jì)誤差的一種方法。此外,你還可以使用漢明距離來(lái)度量分類變量之間的距離。 曼哈頓距離(Manhattan Distance)
曼哈頓距離。 曼哈頓距離通常稱為出租車距離或城市街區(qū)距離,用來(lái)計(jì)算實(shí)值向量之間的距離。想象一下均勻網(wǎng)格棋盤上的物體,如果它們只能移動(dòng)直角,曼哈頓距離是指兩個(gè)向量之間的距離,在計(jì)算距離時(shí)不涉及對(duì)角線移動(dòng)。
缺點(diǎn):盡管曼哈頓距離在高維數(shù)據(jù)中似乎可以工作,但它比歐式距離直觀性差,尤其是在高維數(shù)據(jù)中使用時(shí)。此外,由于它可能不是最短路徑,有可能比歐氏距離給出一個(gè)更高的距離值。 用例:當(dāng)數(shù)據(jù)集具有離散或二進(jìn)制屬性時(shí),曼哈頓距離似乎工作得很好,因?yàn)樗紤]了在這些屬性的值中實(shí)際可以采用的路徑。以歐式距離為例,它會(huì)在兩個(gè)向量之間形成一條直線,但實(shí)際上這是不可能的。 切比雪夫距離(Chebyshev Distance)
切比雪夫距離。 切比雪夫距離定義為兩個(gè)向量在任意坐標(biāo)維度上的最大差值。換句話說(shuō),它就是沿著一個(gè)軸的最大距離。切比雪夫距離通常被稱為棋盤距離,因?yàn)閲?guó)際象棋的國(guó)王從一個(gè)方格到另一個(gè)方格的最小步數(shù)等于切比雪夫距離。
缺點(diǎn):切比雪夫距離通常用于特定的用例,這使得它很難像歐氏距離或余弦相似度那樣作為通用的距離度量。因此,在確定適合用例時(shí)才使用它。 用例:切比雪夫距離用于提取從一個(gè)方塊移動(dòng)到另一個(gè)方塊所需的最小移動(dòng)次數(shù)。此外,在允許無(wú)限制八向移動(dòng)的游戲中,這可能是有用的方法。在實(shí)踐中,切比雪夫距離經(jīng)常用于倉(cāng)庫(kù)物流,因?yàn)樗浅n愃朴谄鹬貦C(jī)移動(dòng)一個(gè)物體的時(shí)間。 閔氏距離(Minkowski)
閔氏距離。 閔氏距離比大多數(shù)距離度量更復(fù)雜。它是在范數(shù)向量空間(n 維實(shí)數(shù)空間)中使用的度量,這意味著它可以在一個(gè)空間中使用,在這個(gè)空間中,距離可以用一個(gè)有長(zhǎng)度的向量來(lái)表示。 閔氏距離公式如下:
最有趣的一點(diǎn)是,我們可以使用參數(shù) p 來(lái)操縱距離度量,使其與其他度量非常相似。常見(jiàn)的 p 值有:
p=1:曼哈頓距離
p=2:歐氏距離
p=∞:切比雪夫距離
缺點(diǎn):閔氏距離與它們所代表的距離度量有相同的缺點(diǎn),因此,對(duì)哈頓距離、歐幾里得距離和切比雪夫距離等度量標(biāo)準(zhǔn)有個(gè)好的理解非常重要。此外,參數(shù) p 的使用可能很麻煩,因?yàn)楦鶕?jù)用例,查找正確的 p 值在計(jì)算上效率低。 用例:p 的積極一面是可迭代,并找到最適合用例的距離度量。它允許在距離度量上有很大的靈活性,如果你非常熟悉 p 和許多距離度量,將會(huì)獲益多多。 雅卡爾指數(shù)(Jaccard Index)
雅卡爾指數(shù)。 雅卡爾指數(shù)(交并比)是用于比較樣本集相似性與多樣性的統(tǒng)計(jì)量。雅卡爾系數(shù)能夠量度有限樣本集合的相似度,其定義為兩個(gè)集合交集大小與并集大小之間的比例。 例如,如果兩個(gè)集合有 1 個(gè)共同的實(shí)體,而有 5 個(gè)不同的實(shí)體,那么雅卡爾指數(shù)為 1/5 = 0.2。要計(jì)算雅卡爾距離,我們只需從 1 中減去雅卡爾指數(shù):
缺點(diǎn):雅卡爾指數(shù)的一個(gè)主要缺點(diǎn)是它受數(shù)據(jù)大小的影響很大。大數(shù)據(jù)集對(duì)指數(shù)有很大影響,因?yàn)樗梢燥@著增加并集,同時(shí)保持交集相似。 用例:雅卡爾指數(shù)通常用于使用二進(jìn)制或二進(jìn)制數(shù)據(jù)的應(yīng)用程序中。當(dāng)你有一個(gè)深度學(xué)習(xí)模型來(lái)預(yù)測(cè)圖像分割時(shí),比如一輛汽車,雅卡爾指數(shù)可以用來(lái)計(jì)算給定真實(shí)標(biāo)簽的預(yù)測(cè)分割的準(zhǔn)確度。 類似地,它可以用于文本相似性分析,以測(cè)量文檔之間有多少詞語(yǔ)重疊。因此,它可以用來(lái)比較模式集合。 半正矢(Haversine)
半正矢距離。 半正矢距離是指球面上的兩點(diǎn)在給定經(jīng)緯度條件下的距離。它與歐幾里得距離非常相似,因?yàn)樗梢杂?jì)算兩點(diǎn)之間的最短連線。主要區(qū)別在于半正矢距離不可能有直線,因?yàn)檫@里的假設(shè)是兩個(gè)點(diǎn)都在一個(gè)球面上。
缺點(diǎn):這種距離測(cè)量的一個(gè)缺點(diǎn)是,假定這些點(diǎn)位于一個(gè)球體上。實(shí)際上,這種情況很少出現(xiàn),例如,地球不是完美的圓形,在某些情況下可能使計(jì)算變得困難。相反,如果假定是橢球,使用 Vincenty 距離比較好。 用例:半正矢距離通常用于導(dǎo)航。例如,你可以使用它來(lái)計(jì)算兩個(gè)國(guó)家之間的飛行距離。請(qǐng)注意,如果距離本身不那么大,則不太適合。 S?rensen-Dice 系數(shù)
S?rensen-Dice 系數(shù)。 S?rensen-Dice 系數(shù)與雅卡爾指數(shù)非常相似,都是度量樣本集的相似性和多樣性。盡管它們的計(jì)算方法相似,但是 S?rensen-Dice 系數(shù)更直觀一些,因?yàn)樗梢员灰暈閮蓚€(gè)集合之間重疊的百分比,這個(gè)值在 0 到 1 之間:
缺點(diǎn):正如雅卡爾指數(shù),S?rensen-Dice 系數(shù)也夸大了很少或沒(méi)有真值的集合的重要性,因此,它可以控制多集合的平均得分,還可以控制多組平均得分并按相關(guān)集合的大小成反比地加權(quán)每個(gè)項(xiàng)目,而不是平等對(duì)待它們。 用例:用例與雅卡爾指數(shù)相似,它通常用于圖像分割任務(wù)或文本相似性分析。
責(zé)任編輯:lq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7006瀏覽量
88947 -
系數(shù)
+關(guān)注
關(guān)注
0文章
15瀏覽量
8242 -
度量
+關(guān)注
關(guān)注
0文章
8瀏覽量
2669
原文標(biāo)題:一文讀懂常見(jiàn)的9種距離度量方法
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論