本文轉載自微信公眾號「活在資訊時代」,作者活在資訊時代。轉載本文請聯絡活在資訊時代公眾號。
在機器學習中,一個基礎的概念就是如何判斷兩個樣本之間的差異,以便能夠評估兩個樣本之間的相似性和類別等資訊。而判斷這種相似性的測量就是兩個樣本在特徵空間內的距離。
根據資料特徵的不同,度量方法有很多種。一般而言,對兩個資料樣本x,y,定義一個函數d(x,y),如果定義其為兩個樣本之間的距離,那麼d(x,y)則需要滿足以下幾個基本性質:
- 非負性:d(x,y)>=0
- 同一性:d(x,y)=0 ⇔ x=y
- 對稱性:d(x,y)= d(y,x)
- 三角不等式:d(x,y)
通常來講,常見的距離測量包括:點在空間中的距離、字串間的距離、集合的相似度、變數/概念分佈間的距離四種。
今天我們先來介紹最常用的點在空間中的距離。
點在空間中的距離包括以下幾種:
1、歐幾裡得距離(Ecllidean Distance)
毫無疑問,歐氏距離是人們最熟悉的距離,它也就是兩點之間的直線距離。學過國中數學的同學都知道在笛卡爾座標系中如何計算二維空間兩點之間的距離
其計算公式為:
推廣到N維空間的歐氏距離即為:
2、曼哈頓距離(Manhattan Distance)
曼哈頓距離又稱為計程車距離,其概念來自紐約曼哈頓區這樣有很多橫平豎直的街區,在這種街區中,計程車司機如果想從一個點走到另一個點的話,計算直線距離是沒有用的,因為計程車不可能從建築物上飛過去。因此,這種距離通常是將兩點的東西向、南北向距離分別相減再相加,也就是計程車實際要經過的距離。
如圖所示,紅線和黃線就是兩條不同路徑的曼哈頓距離。數學上,二維空間的曼哈頓距離計算方法如下:
#3、切比雪夫距離(Chebyshev Distance)
切比雪夫距離定義為兩點之間各座標數值差的最大值。
其最直觀的例子就是西洋棋中的國王,因為它可以橫走直走斜走,但是每次都只能走一格,所以切比雪夫距離就是他要走到另一個格子所需要的最小距離。
4、閔可夫斯基距離(Minkowski Distance)
閔氏距離本身不是一個特別的距離,而是將多個距離(曼哈頓距離、歐氏距離、切比雪夫距離)合併為的公式。
其定義為,對於兩個n維變量,閔氏距離為:
當p=1時,可以看到
此時為曼哈頓距離。
當p=2時,可以看到
#此時即為歐氏距離。
當p=∞時,可以看到
#此時即為切比雪夫距離。
5、標準化的歐幾里德距離(Standardized Euclidean Distance)
歐氏距離可以測量兩個點之間的直線距離,但在某些情況下,可能會受到單位不同的影響。例如同時是差5,差5毫米的身高和差5公斤的體重,觀感可能是完全不同的。如果我們想對三個模特兒進行聚類,她們各自的屬性如下:
A:65000000毫克(即65公斤),1.74公尺
B:60000000毫克(即60公斤) ,1.70米
C:65000000毫克(即65公斤),1.40米
按我們正常的理解,A和B是身材比較好的模特,應該歸到一類。但是以上述單位實際計算的時候,卻發現A和B的差異大於A和C之間的差異。原因在於屬性計量單位的不同導致數值差異過大。同樣的數據如果換個單位。
A:65公斤,174公分
B:60公斤,170公分
C:65公斤,140公分
#那麼就會得到我們想到的結果,將A和B歸為一類了。因此,為避免這種因計量單位的不同而出現的差異,我們需要引入標準化歐氏距離。在這種距離計算中,會將各個分量都標準化到平均值、變異數相等的區間。
假設樣本集X的平均值(mean)為m,標準差(standard deviation)為s,則X的「標準化變數」表示為:
其中,標準化後的值= ( 標準化前的值- 分量的平均值) /分量的標準差。經過簡單的推導就可以得到兩個n維向量間的標準化歐氏距離公式為:
#如果將變異數的倒數看成是一個權重,這個公式可以看成是一種加權歐氏距離(Weighted Euclidean distance)。透過這種操作,我們就有效的消除了不同計重單位之間的差異。
6、蘭氏距離(Lance and Willianms Distance)
蘭氏距離又稱為堪培拉距離,
它是一個無量綱的指標,克服了閔氏距離與各指標的量綱有關的缺點,並且對於較大的奇異值不敏感,特別適合調度偏差的數據。但是這種距離也沒有考慮到變數間的相關性。所以如果需要考慮變數之間的相關性的話,還是需要馬氏距離。
7、馬氏距離(Mahalanobis Distance)
將數值標準化之後,就一定不會出問題嗎?也不一定。例如在一個一維的例子中,如果有兩個類,一個類均值為0,方差為0.1,而另一個類均值為5,方差為5。那麼如果一個值為2的點應該屬於哪一類呢?我們直覺認為它肯定是第二類,因為第一類顯然不太可能在數值上達到2。但是實際上從距離上計算的話2這個數字就得屬於第一類。
所以,在一個變異數較小的維度下,很小的差異就可能成為離群點。例如說下圖,A與B相對於原點的距離是相同的,但是由於樣本整體沿著橫軸分佈,所以B點更有可能是樣本中的點,而A點則更有可能是離群點。
而在維度間不獨立同分佈的情況下,也會出現問題,例如說下圖中的A點與B點到原點的距離相等,但是主要分佈類似f(x)=x,所以A比較像是離群點。
因此,我們可以看到,在這種情況下,標準化的歐氏距離也會有問題,所以我們需要引入馬氏距離。
馬氏距離將變數依照主成分旋轉,讓維度間相互獨立,然後再標準化,讓維度同分佈。而主成分即為特徵向量方向,所以只需要按照特徵向量的方向旋轉,然後縮放特徵值倍就可以了。例如上圖轉換之後會得到下面的結果:
可以看出離群點被成功分開了。
馬氏距離是由印度數學家馬哈拉諾比斯提出的,表示數據的協方差距離。它是一種有效計算兩個未知樣本集的相似度的方法。
對於一個平均值為
,協方差矩陣為Σ的多變數向量
#,其馬氏距離(單一資料點的馬氏距離)為:
對於兩個服從同一分佈且其協方差矩陣為Σ的隨機變數X與Y的差異程度,資料點x, y之間的馬氏距離為:
如果協方差矩陣為單位矩陣,那麼馬氏距離就簡化成了歐氏距離。如果協方差矩陣為對角陣,那麼馬氏距離就變成了標準化的歐氏距離。
8、餘弦距離(Cosine Distance)
顧名思義,餘弦距離來自幾何中的夾角餘弦,它可用於衡量兩個向量方向的差異,而非距離或長度上。當餘弦值為0時,兩向量正交,夾角為90度。夾角越小,餘弦值越接近1,方向更趨同。
在N維空間中,餘弦距離為:
#值得指出的是,餘弦距離不滿足三角不等式。
9、測地距離(Geodesic Distance)
#測地距離最初是指球體表面之間的最短距離。當特徵空間為平面時,測地距離即為歐氏距離。在非歐幾何中,球面上兩點間距離最短的線是連接這兩點的大圓弧,在球面上的三角形、多邊形的邊也是由這些大圓弧組成的。
10、布雷柯蒂斯距離(Bray Curtis Distance)
布雷柯蒂斯距離主要用於植物學、生態學和環境科學,它可以用來計算樣本之間的差異。其公式為:
其取值在[0, 1]之間,如果兩個向量座標都為0的話,那麼值就無意義。
以上是機器學習基礎之數字上的距離:點在空間中的距離的詳細內容。更多資訊請關注PHP中文網其他相關文章!

斯坦福大學以人為本人工智能研究所發布的《2025年人工智能指數報告》對正在進行的人工智能革命進行了很好的概述。讓我們用四個簡單的概念來解讀它:認知(了解正在發生的事情)、欣賞(看到好處)、接納(面對挑戰)和責任(弄清我們的責任)。 認知:人工智能無處不在,並且發展迅速 我們需要敏銳地意識到人工智能發展和傳播的速度有多快。人工智能係統正在不斷改進,在數學和復雜思維測試中取得了優異的成績,而就在一年前,它們還在這些測試中慘敗。想像一下,人工智能解決複雜的編碼問題或研究生水平的科學問題——自2023年

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

連接的舒適幻想:我們在與AI的關係中真的在蓬勃發展嗎? 這個問題挑戰了麻省理工學院媒體實驗室“用AI(AHA)”研討會的樂觀語氣。事件展示了加油

介紹 想像一下,您是科學家或工程師解決複雜問題 - 微分方程,優化挑戰或傅立葉分析。 Python的易用性和圖形功能很有吸引力,但是這些任務需要強大的工具

Meta's Llama 3.2:多式聯運AI強力 Meta的最新多模式模型Llama 3.2代表了AI的重大進步,具有增強的語言理解力,提高的準確性和出色的文本生成能力。 它的能力t

數據質量保證:與Dagster自動檢查和良好期望 保持高數據質量對於數據驅動的業務至關重要。 隨著數據量和源的增加,手動質量控制變得效率低下,容易出現錯誤。

大型機:AI革命的無名英雄 雖然服務器在通用應用程序上表現出色並處理多個客戶端,但大型機是專為關鍵任務任務而建立的。 這些功能強大的系統經常在Heavil中找到


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。