99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

10個機器學習中常用的距離度量方法

穎脈Imgtec ? 2022-11-03 10:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Jonte Dancker

來源:DeepHub IMBA


距離度量是有監(jiān)督和無監(jiān)督學習算法的基礎(chǔ),包括k近鄰、支持向量機和k均值聚類等。

距離度量的選擇影響我們的機器學習結(jié)果,因此考慮哪種度量最適合這個問題是很重要的。因此,我們在決定使用哪種測量方法時應該謹慎。但在做出決定之前,我們需要了解距離測量是如何工作的,以及我們可以從哪些測量中進行選擇。

本文將簡要介紹常用的距離度量方法、它們的工作原理、如何用Python計算它們以及何時使用它們。這樣可以加深知識和理解,提高機器學習算法和結(jié)果。fdf794a0-5937-11ed-b116-dac502259ad0.png在更深入地研究不同的距離測量之前,我們先要有一個關(guān)于它們?nèi)绾喂ぷ饕约叭绾芜x擇合適的測量的大致概念。距離度量用于計算給定問題空間中兩個對象之間的差異,即數(shù)據(jù)集中的特征。然后可以使用該距離來確定特征之間的相似性, 距離越小特征越相似。

對于距離的度量,我們可以在幾何距離測量和統(tǒng)計距離測量之間進行選擇,應該選擇哪種距離度量取決于數(shù)據(jù)的類型。特征可能有不同的數(shù)據(jù)類型(例如,真實值、布爾值、分類值),數(shù)據(jù)可能是多維的或由地理空間數(shù)據(jù)組成。


幾何距離測量1、歐氏距離 Euclidean distance歐氏距離度量兩個實值向量之間的最短距離。由于其直觀,使用簡單和對許多用例有良好結(jié)果,所以它是最常用的距離度量和許多應用程序的默認距離度量。fe14fd38-5937-11ed-b116-dac502259ad0.png歐氏距離也可稱為l2范數(shù),其計算方法為:fe38b61a-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.euclidean(vector_1, vector_2)歐氏距離有兩個主要缺點。首先,距離測量不適用于比2D或3D空間更高維度的數(shù)據(jù)。第二,如果我們不將特征規(guī)范化和/或標準化,距離可能會因為單位的不同而傾斜。2、曼哈頓距離 Manhattan distance曼哈頓距離也被稱為出租車或城市街區(qū)距離,因為兩個實值向量之間的距離是根據(jù)一個人只能以直角移動計算的。這種距離度量通常用于離散和二元屬性,這樣可以獲得真實的路徑。fe497ab8-5937-11ed-b116-dac502259ad0.png曼哈頓距離以l1范數(shù)為基礎(chǔ),計算公式為:fe5b34a6-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.cityblock(vector_1, vector_2)曼哈頓的距離有兩個主要的缺點。它不如高維空間中的歐氏距離直觀,它也沒有顯示可能的最短路徑。雖然這可能沒有問題,但我們應該意識到這并不是最短的距離。3、切比雪夫距離 Chebyshev distance切比雪夫距離也稱為棋盤距離,因為它是兩個實值向量之間任意維度上的最大距離。它通常用于倉庫物流中,其中最長的路徑?jīng)Q定了從一個點到另一個點所需的時間。fe65d6d6-5937-11ed-b116-dac502259ad0.png切比雪夫距離由l -無窮范數(shù)計算:fe75cc3a-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.chebyshev(vector_1, vector_2)

切比雪夫距離只有非常特定的用例,因此很少使用。

4、閔可夫斯基距離 Minkowski distance閔可夫斯基距離是上述距離度量的廣義形式。它可以用于相同的用例,同時提供高靈活性。我們可以選擇 p 值來找到最合適的距離度量。fe7ee90a-5937-11ed-b116-dac502259ad0.png閔可夫斯基距離的計算方法為:fe9bec6c-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.minkowski(vector_1, vector_2, p)

由于閔可夫斯基距離表示不同的距離度量,它就有與它們相同的主要缺點,例如在高維空間的問題和對特征單位的依賴。此外,p值的靈活性也可能是一個缺點,因為它可能降低計算效率,因為找到正確的p值需要進行多次計算。

5、余弦相似度和距離 Cosine similarity余弦相似度是方向的度量,他的大小由兩個向量之間的余弦決定,并且忽略了向量的大小。余弦相似度通常用于與數(shù)據(jù)大小無關(guān)緊要的高維,例如,推薦系統(tǒng)或文本分析。feac9fd0-5937-11ed-b116-dac502259ad0.png余弦相似度可以介于-1(相反方向)和1(相同方向)之間,計算方法為:febb1ccc-5937-11ed-b116-dac502259ad0.png余弦相似度常用于范圍在0到1之間的正空間中。余弦距離就是用1減去余弦相似度,位于0(相似值)和1(不同值)之間。Python代碼如下from scipy.spatial import distance distance.cosine(vector_1, vector_2)

余弦距離的主要缺點是它不考慮大小而只考慮向量的方向。因此,沒有充分考慮到值的差異。

6、半正矢距離 Haversine distance半正矢距離測量的是球面上兩點之間的最短距離。因此常用于導航,其中經(jīng)度和緯度和曲率對計算都有影響。fecaeb8e-5937-11ed-b116-dac502259ad0.png半正矢距離的公式如下:fee112c4-5937-11ed-b116-dac502259ad0.png其中r為球面半徑,φ和λ為經(jīng)度和緯度。Python代碼如下from sklearn.metrics.pairwise import haversine_distances haversine_distances([vector_1, vector_2])

半正矢距離的主要缺點是假設是一個球體,而這種情況很少出現(xiàn)。

7、漢明距離漢明距離衡量兩個二進制向量或字符串之間的差異。feec7542-5937-11ed-b116-dac502259ad0.png對向量按元素進行比較,并對差異的數(shù)量進行平均。如果兩個向量相同,得到的距離是0之間,如果兩個向量完全不同,得到的距離是1。Python代碼如下from scipy.spatial import distance distance.hamming(vector_1, vector_2)

漢明距離有兩個主要缺點。距離測量只能比較相同長度的向量,它不能給出差異的大小。所以當差異的大小很重要時,不建議使用漢明距離。


統(tǒng)計距離測量統(tǒng)計距離測量可用于假設檢驗、擬合優(yōu)度檢驗、分類任務或異常值檢測。8、杰卡德指數(shù)和距離 Jaccard IndexJaccard指數(shù)用于確定兩個樣本集之間的相似性。它反映了與整個數(shù)據(jù)集相比存在多少一對一匹配。Jaccard指數(shù)通常用于二進制數(shù)據(jù)比如圖像識別的深度學習模型的預測與標記數(shù)據(jù)進行比較,或者根據(jù)單詞的重疊來比較文檔中的文本模式。fefb9f2c-5937-11ed-b116-dac502259ad0.pngJaccard距離的計算方法為:ff13c034-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.jaccard(vector_1, vector_2)

Jaccard指數(shù)和距離的主要缺點是,它受到數(shù)據(jù)規(guī)模的強烈影響,即每個項目的權(quán)重與數(shù)據(jù)集的規(guī)模成反比。

9、Sorensen-Dice指數(shù)S?rensen-Dice指數(shù)類似于Jaccard指數(shù),它可以衡量的是樣本集的相似性和多樣性。該指數(shù)更直觀,因為它計算重疊的百分比。S?rensen-Dice索引常用于圖像分割和文本相似度分析。ff201f5a-5937-11ed-b116-dac502259ad0.png計算公式如下:ff31b65c-5937-11ed-b116-dac502259ad0.pngPython代碼如下from scipy.spatial import distance distance.dice(vector_1, vector_2)

它的主要缺點也是受數(shù)據(jù)集大小的影響很大。

10、動態(tài)時間規(guī)整 Dynamic Time Warping動態(tài)時間規(guī)整是測量兩個不同長度時間序列之間距離的一種重要方法??梢杂糜谒袝r間序列數(shù)據(jù)的用例,如語音識別或異常檢測。ff444e70-5937-11ed-b116-dac502259ad0.png為什么我們需要一個為時間序列進行距離測量的度量呢?如果時間序列長度不同或失真,則上述面說到的其他距離測量無法確定良好的相似性。比如歐幾里得距離計算每個時間步長的兩個時間序列之間的距離。但是如果兩個時間序列的形狀相同但在時間上發(fā)生了偏移,那么盡管時間序列非常相似,但歐幾里得距離會表現(xiàn)出很大的差異。動態(tài)時間規(guī)整通過使用多對一或一對多映射來最小化兩個時間序列之間的總距離來避免這個問題。當搜索最佳對齊時,這會產(chǎn)生更直觀的相似性度量。通過動態(tài)規(guī)劃找到一條彎曲的路徑最小化距離,該路徑必須滿足以下條件:邊界條件:彎曲路徑在兩個時間序列的起始點和結(jié)束點開始和結(jié)束單調(diào)性條件:保持點的時間順序,避免時間倒流連續(xù)條件:路徑轉(zhuǎn)換限制在相鄰的時間點上,避免時間跳躍整經(jīng)窗口條件(可選):允許的點落入給定寬度的整經(jīng)窗口坡度條件(可選):限制彎曲路徑坡度,避免極端運動我們可以使用 Python 中的 fastdtw 包:from scipy.spatial.distance import euclidean from fastdtw import fastdtw ?distance, path = fastdtw(timeseries_1, timeseries_2, dist=euclidean)

動態(tài)時間規(guī)整的一個主要缺點是與其他距離測量方法相比,它的計算工作量相對較高。


總結(jié)在這篇文章中,簡要介紹了十種常用的距離測量方法。本文中已經(jīng)展示了它們是如何工作的,如何在Python中實現(xiàn)它們,以及經(jīng)常使用它們解決什么問題。如果你認為我錯過了一個重要的距離測量,請留言告訴我。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134599
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    瑞芯微RK平臺開發(fā)必備的20常用命令,幫您效率翻倍

    本文將系統(tǒng)地梳理飛凌嵌入式RK平臺主控產(chǎn)品在開發(fā)過程中常用的命令,助力更多開發(fā)者快速掌握RK系列芯片的開發(fā)方法。
    的頭像 發(fā)表于 04-16 15:36 ?806次閱讀
    瑞芯微RK平臺開發(fā)必備的20<b class='flag-5'>個</b><b class='flag-5'>常用</b>命令,幫您效率翻倍

    棱鏡——機器視覺系統(tǒng)中常見的重要配件

    棱鏡——機器視覺系統(tǒng)中常見的重要配件
    的頭像 發(fā)表于 01-15 17:36 ?534次閱讀
    棱鏡——<b class='flag-5'>機器</b>視覺系統(tǒng)<b class='flag-5'>中常</b>見的重要配件

    人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構(gòu)方法

    所擬合的數(shù)學模型的形式受到大腦中神經(jīng)元的連接和行為的啟發(fā),最初是為了研究大腦功能而設計的。然而,數(shù)據(jù)科學中常用的神經(jīng)網(wǎng)絡作為大腦模型已經(jīng)過時,現(xiàn)在它們只是能夠在某些應用中提供最先進性能的機器學習模型。近年來,由于
    的頭像 發(fā)表于 01-09 10:24 ?1185次閱讀
    人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構(gòu)<b class='flag-5'>方法</b>

    傳統(tǒng)機器學習方法和應用指導

    用于開發(fā)生物學數(shù)據(jù)的機器學習方法。盡管深度學習(一般指神經(jīng)網(wǎng)絡算法)是一強大的工具,目前也非常流行,但它的應用領(lǐng)域仍然有限。與深度學習相比
    的頭像 發(fā)表于 12-30 09:16 ?1184次閱讀
    傳統(tǒng)<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>和應用指導

    如何選擇云原生機器學習平臺

    當今,云原生機器學習平臺因其彈性擴展、高效部署、低成本運營等優(yōu)勢,逐漸成為企業(yè)構(gòu)建和部署機器學習應用的首選。然而,市場上的云原生機器
    的頭像 發(fā)表于 12-25 11:54 ?454次閱讀

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統(tǒng)具有人的學習能力以便實現(xiàn)人工智能。因為沒有學習能力的系統(tǒng)很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發(fā)表于 11-16 01:07 ?963次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>能解決哪些問題?

    NPU與機器學習算法的關(guān)系

    在人工智能領(lǐng)域,機器學習算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學習機器
    的頭像 發(fā)表于 11-15 09:19 ?1214次閱讀

    eda中常用的數(shù)據(jù)處理方法

    探索性數(shù)據(jù)分析(EDA)是一種統(tǒng)計方法,用于使用統(tǒng)計圖表、圖形和計算來發(fā)現(xiàn)數(shù)據(jù)中的模式、趨勢和異常值。在進行EDA時,數(shù)據(jù)處理是至關(guān)重要的,因為它可以幫助我們更好地理解數(shù)據(jù)集,為進一步的分析和建模
    的頭像 發(fā)表于 11-13 10:57 ?900次閱讀

    機器人沒有度量信息如何導航

    機器人能否像人類一樣利用有限的度量和空間信息進行導航呢?目前,大多數(shù)機器人的導航系統(tǒng)依賴于詳細的幾何地圖和精確的度量定位。然而,人類通??梢詰{借著抽象的、不準確的環(huán)境表示(例如手繪草圖
    的頭像 發(fā)表于 11-13 10:51 ?883次閱讀
    <b class='flag-5'>機器</b>人沒有<b class='flag-5'>度量</b>信息如何導航

    具身智能與機器學習的關(guān)系

    具身智能(Embodied Intelligence)和機器學習(Machine Learning)是人工智能領(lǐng)域的兩重要概念,它們之間存在著密切的關(guān)系。 1. 具身智能的定義 具身智能是指智能體
    的頭像 發(fā)表于 10-27 10:33 ?1049次閱讀

    人工智能、機器學習和深度學習存在什么區(qū)別

    人工智能指的是在某種程度上顯示出類似人類智能的設備。AI有很多技術(shù),但其中一很大的子集是機器學習——讓算法從數(shù)據(jù)中學習
    發(fā)表于 10-24 17:22 ?2978次閱讀
    人工智能、<b class='flag-5'>機器</b><b class='flag-5'>學習</b>和深度<b class='flag-5'>學習</b>存在什么區(qū)別

    【「時間序列與機器學習」閱讀體驗】時間序列的信息提取

    重要環(huán)節(jié),目標是從給定的時間序列數(shù)據(jù)中提取出有用的信息和特征,以支持后續(xù)的分析和預測任務。 特征工程(Feature Engineering)是將數(shù)據(jù)轉(zhuǎn)換為更好地表示潛在問題的特征,從而提高機器學習
    發(fā)表于 08-17 21:12

    華為設備中常用的RIP命令及其應用

    RIP(Routing Information Protocol,路由信息協(xié)議)是一種應用廣泛的距離矢量路由協(xié)議,尤其適用于中小型網(wǎng)絡。本文將詳細介紹在華為設備中常用的RIP命令及其應用,以幫助網(wǎng)絡管理員和工程師更好地理解和配置RIP協(xié)議。
    的頭像 發(fā)表于 08-12 18:10 ?1537次閱讀

    【《時間序列與機器學習》閱讀體驗】+ 了解時間序列

    收到《時間序列與機器學習》一書,彩色印刷,公式代碼清晰,非常精美。感謝作者,感謝電子發(fā)燒友提供了一讓我學習時間序列及應用的機會! 前言第一段描述了編寫背景: 由此可知,這是一本關(guān)于時
    發(fā)表于 08-11 17:55

    【「時間序列與機器學習」閱讀體驗】全書概覽與時間序列概述

    。 ●第5章“時間序列的相似度與聚類”:介紹時間序列的相似性度量方法,如歐氏距離、動態(tài)時間規(guī)整算法等,用于衡量兩或多個時間序列在形狀和模式上的相似程度;聚類算法,如K-Means、D
    發(fā)表于 08-07 23:03