作者 | 我的智慧生活
來源 | 咪付
生活中,距離通常是用於形容兩個地方或兩個物體之間的遠近。在人工智慧機器學習領域,常使用距離來衡量兩個樣本之間的相似度。
「物以類聚」
我們知道「物以類聚」通常用於比喻同類的東西經常聚在一起。機器學習中,距離就是遵循物以類聚的思想。通過兩個樣本特徵數據進行距離計算後,得到的距離值越小,代表兩者的相似度越高,屬於同一類的可能性就越高。換句話說,距離能夠決定樣本的歸屬。
例如,在下圖中,對於機器學習來說存在著兩種距離:
(1)一是人物的空間位置距離;
(2)二是人物的性格愛好距離。
對第1種距離來說,A與C較A與B近;而對第2種距離來說,則是A與B較近(愛打球)。A與B的愛好距離可通過如下計算:
我們用0—10分來表征每個人對打球的喜好程度,分數越高代表越愛打球,假設A、B、C三人的分值分別如下:
可以看出,A、B兩人的分數較接近,A、B兩人的分數差小於A、C兩人的分數差,這個分數差值也就是機器學習中要計算的距離。通過比較得出,A、B兩者的距離小,容易歸為一類。當然,這裡僅僅分析了愛打球這一個特徵屬性,機器學習中通常涉及多個屬性進行綜合計算和判斷,也就是多維度分析。
物理幾何空間距離
機器學習中,計算兩個樣本點之間的距離有多種不同的距離衡量方法,其中最常見的就是採用物理幾何空間距離進行衡量。所謂物理幾何空間距離就是點到點之間在物理空間中的真實距離。通俗地說,這類距離看得見、摸得著。常見的物理幾何空間距離有:
歐氏距離
(Euclidean Distance)
曼哈頓距離
(Manhattan Distance)
切比雪夫距離
(Chebyshev Distance)
閔氏距離
(Minkowski Distance)
夾角餘弦
(Cosine)
這幾類物理幾何空間距離的應用非常多,尤其是歐氏距離。
曼哈頓距離
我們首先從曼哈頓距離來形象了解機器學習中的距離,曼哈頓距離也是機器學習中常採用的一種距離。
我們知道曼哈頓是「世界的十字路口」,那裡有非常多的十字交叉路口。
曼哈頓距離,說的是從街區中的一個十字路口到另一個十字路口所經過的街區距離,因此也稱為城市街區距離。下圖中給出了曼哈頓距離的形象說明,當我們開車從街區的一個十字路口(O)到了另一個十字路口(E)所經過的街區距離為:a+b,這就是曼哈頓距離。
O、E兩點之間直線段距離是我們生活中常說的兩個地方(O、E)之間的距離,而在實際街區中的情形,車輛無法從O沿直線開到E,除非具備像蜘蛛俠一樣的飛行本領可以穿越其中的大樓,這就是曼哈頓距離的由來。
一圖看清「歐曼雪」
下面我們再從簡單的二維平面坐標圖來對比了解歐氏距離、曼哈頓距離和切比雪夫距離(以下簡稱「歐曼雪」)這三種距離的區別。
上圖是由X和Y組成的二維平面坐標,現有A、B兩個二維樣本值,其投影坐標點分別為:
A(X1,Y1)、B(X2,Y2)
A、B兩點之間的直線段距離(圖中的c)就是A、B兩個樣本的歐氏距離。因此,歐氏距離就是兩個樣本值投影在其坐標空間上的兩點之間的直線距離。
如何計算A與B之間的歐氏距離?
從圖中可以看出,A、B兩點之間的直線段(c)與其橫坐標差值線段:
a=X2-X1
縱坐標差值線段:
b=Y2-Y1
構成了一個直角三角形,根據勾股定理的關係可知:
c²=a²+b²
因此,我們可以根據坐標點A(X1,Y1)、B(X2,Y2),求得c值。即計算式為:
c²=a²+b²=(X2-X1)²+(Y2-Y1)²
A與B之間的曼哈頓距離又是怎樣的距離呢?
上圖中曼哈頓距離是由A沿直線走到C,再由C沿直線走到B,總共經過的距離,即為:
a+b=|X1-X2|+|Y1-Y2|
再來看切比雪夫距離,在上述二維平面坐標示意圖中,A與B之間的切比雪夫距離則是選取a、b中值最大的,若a>b,切比雪夫距離即等於a,其計算表達式為:
Max(|X1-X2|,|Y1-Y2|)
由此可看出,上述「歐曼雪」三種距離的實質分別如下:
- 歐氏距離 -
兩個樣本同一特徵分量值差值的平方之和,再開平方根
- 曼哈頓距離 -
兩個樣本同一特徵分量值差值的絕對值之和
- 切比雪夫距離 -
兩個樣本同一特徵分量值差值的絕對值中的最大值
假如現在有三個人A、B和C(即樣本A、樣本B和樣本C),我們需要以性格、愛好這兩個屬性為依據來判斷他們的相似度,A、B、C的綜合屬性值則表示為:A(性格1,愛好1)、B(性格2,愛好2)、C(性格3,愛好3)。
我們設定上述性格、愛好等每個分量特徵屬性的取值範圍為0—10分。以性格活潑、愛好打球具體屬性為例,若性格很活潑,分值為10,若性格不活潑,分值則為0分,其餘介於很活潑和不活潑之間的,則取0—10之間的分值;同理,若很愛打球,分值為10分,不愛打球,分值則為0分,其餘介於很愛打球和不愛打球之間的,則取0—10之間的分值。
針對性格活潑、愛好打球的兩項特徵,假設A、B、C三人的取值分別如下:
我們現以上述A、B、C三個樣本A(4,4)、B(9,5)、C(6,1)投影到二維坐標上,分別計算A、B樣本之間和A、C樣本之間各自的歐氏距離、曼哈頓距離和切比雪夫距離,參照二維坐標投影圖,計算結果如下:
從上表結果可知,A、C兩個樣本的歐氏距離、曼哈頓距離和切比雪夫距離均小於A、B兩個樣本,因此,A與C的相似度較高。這一結果與二維坐標圖上的直觀顯示相符(即線段AC 閔氏距離 由上述例子的計算結果可知,儘管歐氏距離、曼哈頓距離和切比雪夫距離各自的定義和計算都不相同,但它們最終衡量的結果是相一致的。這三類距離也可歸為閔氏距離。 閔氏距離也稱閔可夫斯基距離,根據其變參數p的不同,可以歸為不同類型的距離,比如:曼哈頓距離(p=1);歐氏距離(p=2);切比雪夫距離(p∞)。 我們已經知道歐氏距離的實質是兩個樣本同一特徵分量值差值的平方和,然後再開平方根,這裡的平方指數就是閔氏距離的變參數p取2,如果平方指數(即2次方)換成其他次方(比如1,3,4次方等等),那就是其他類閔氏距離。 因此,也可以將閔氏距離看成是歐氏距離指數的推廣距離,兩者實質特點對比如下: 可見,閔氏距離不僅涵蓋了「歐曼雪」三種距離,實則也是歐氏距離指數的推廣(指數範圍擴大到任意整數)距離。 當然,以上僅考慮了性格、愛好這兩個特徵屬性來分析判斷兩個人的相似度。但是如果僅憑性格、愛好兩個方面來預估兩人的相似度,似乎有點過於簡單粗暴,通常情況下,我們還要結合更多的特徵因素來綜合考慮,例如人生觀、價值觀、家庭背景等,從而得出更加準確的歸類判斷結果。如果在性格、愛好兩個特徵的基礎上增加人生觀這一特徵因素來評判,A、B兩人的綜合屬性值則表示為:A(性格1,愛好1,人生觀1)、B(性格2,愛好2,人生觀2),其具體特徵值假設為:A(4,4,3)、B(9,5,6),在計算各類距離時,則相應增加人生觀這一特徵的差值。例如: 曼哈頓距離計算為: |4-9|+|4-5|+|3-6|=9; 切比雪夫距離計算為: Max(|4-9|,|4-5|,|3-6|)=Max(5,1,3)=5; 歐氏距離計算為: (4-9)²+(4-5)²+(3-6)² =5²+1²+3²=35,再開平方根所得。 對比上表中兩維的計算式,可見,增加了|3-6|或(3-6)²這一項差值。 同理,如果在性格、愛好、人生觀這三個特徵屬性的基礎上,還需考慮價值觀、家庭背景這兩個特徵屬性,總共就變成了五個分量特徵,那就是五維的情形。在計算上述各類距離時,則相應增加價值觀、家庭背景這兩個分量特徵的差值。 可見,每增加一個分量特徵,維度就增加一個,計算距離時則相應增加該維度分量特徵的差值。人工智慧機器學習中,為了達到更準確的分類目的,往往要涉及非常多的維度,因而其計算量也相應增大。例如我們熟悉的人臉識別應用中通常採用512維特徵向量,即有512個分量特徵,以更好地區別出每一個人。 假設分別用兩個特徵向量: A(X1, X2,....,X511, X512) B(Y1, Y2,....,Y511, Y512) 來表示兩個512維人臉特徵數據,則該兩個人臉樣本之間的歐氏距離為: ( (Y1-X1) ²+(Y2-X2) ² +......+(Y511-X511) ² +(Y512-X512) ²) 計算求得512個分量值差的平方和,再開平方根,即為兩者的歐氏距離。這就是高維歐氏距離的計算。 夾角餘弦 除了以上各類常見的閔氏距離,還有一種較常用的距離,那就是夾角餘弦。夾角餘弦根據兩個樣本向量的夾角餘弦值大小來確定樣本的相似性。餘弦值越接近1,餘弦夾角就越接近0度,兩個向量越相似。 現我們仍以簡單的平面二維坐標的來了解夾角餘弦的本質。以上述A、B、C三個樣本A(4,4)、B(9,5)、C(6,1)為例,其在二維平面坐標的投影點如下圖所示,從坐標原點O出發分別指向A、B、C三個點的線段(OA、OB、OC)則為A、B、C三個樣本點的向量,A、B之間的向量夾角則為θ1,A、C之間的向量夾角則為θ2,根據三角形AOB的邊長可計算出θ1的餘弦值,根據三角形AOC的邊長可計算出θ2的餘弦值。θ1、θ2夾角示意圖及其計算式如下表所示: 夾角餘弦計算公式(二維) 根據兩個樣本的坐標值計算 餘弦值取值範圍為[-1,1]。餘弦值越大,夾角越小。 A、B樣本夾角餘弦值 向量OA與OB之間的夾角餘弦值 A、C樣本夾角餘弦值 向量OA與OC之間的夾角餘弦值 可以得出θ1<θ2,從而得出A和B相似度高。 通過對比發現,以上夾角餘弦相似度的判斷結果與歐氏距離等的判斷結果正好相反。這是為什麼呢?這是因為歐氏距離和餘弦相似度各自的計算方式和衡量角度不相同,歐氏距離關注的是兩點之間的絕對距離,而夾角餘弦相似度注重的是兩個向量在方向上的差異,而非距離。如下二維坐標圖中,有A、C兩個樣本,歐氏距離關注的是AC兩點的直線段距離,與OA、OC線段長度密切相關;而夾角餘弦則是關注OA線段與OC線段重合需掃過的角度(θ)大小,與OA、OC線段長度無關。因此,夾角餘弦相似度是整體方向性上的判斷,而歐氏距離則是各分量特徵的絕對差值判斷。 我們還可以用兩個等邊三角形的例子來具體了解兩者的實質差別。假設有兩個等邊三角形T1和T2,其邊長分別為8和4,現以三個邊長為分量特徵屬性來表征三角形,其在三維空間的投影坐標點分別為T1(8, 8, 8)、T2(4, 4, 4)。由邊長數值可知,兩個等邊三角形雖然邊長差距大,但形狀完全相似。從其投影坐標點可知,由於T1、T2各個邊長分量差值相同,兩個坐標點在三維空間坐標上投影方向完全相同。對T1、T2之間的歐氏距離及夾角餘弦作對比如下: 從以上對比分析可以看出,歐氏距離和餘弦相似度各自的評判標準不同,得出的結論也可能完全不同,因此,兩者可根據適用的場合選擇採用。歐氏距離適用於需要從每個分量特徵差距中體現差異的分析,如通過用戶行為指標分析用戶價值相似度。餘弦相似度更適用於綜合性的導向評價,如通過用戶對內容評分來區分用戶興趣的相似度等,餘弦相似度也常用於計算兩個文本之間的相似度。 以上各類常見的物理幾何空間距離不僅容易理解,而且方便好用,在樣本各個維度數據完整好的情況下具有較理想的預判效果。但同時這幾類距離也存在著一些明顯的不足,如缺乏考慮各分量之間的相關性影響、各分量特徵側重排序等。 例如上述的例子中,也許需要對性格、愛好、人生觀、價值觀、家庭背景等分量特徵進行側重排序,又或者人生觀這一分量特徵會對價值觀、愛好等分量特徵有影響。如需考慮分量相關性、個體相對於總體的比重等相關因素,更多則是採用基於機率統計的分布距離,較常用的有:馬氏距離、巴氏距離、傑卡德相似係數、皮爾遜係數等。這些距離的計算多涉及統計學及機率論知識,因而相對較複雜。 但無論是物理幾何空間距離,還是基於機率統計的分布距離,它們的中心思想都是統一的,那就是距離越近越相似。 掃碼進入CDA官方小程序,解鎖更多新鮮資訊和優質內容,還有免費試聽課程,不要錯過喲!文章來源: https://twgreatdaily.com/zh-hk/fLq4dm4BMH2_cNUgn5Du.html