基于距離的算法 曼哈頓,歐氏等

  • 曼哈頓距離
  • 歐氏距離
  • 標準化歐氏距離
  • 夾角余弦

曼哈頓距離(Manhattan Distance)

曼哈頓距離是由十九世紀的赫爾曼·閔可夫斯基所創詞匯,是種使用在幾何度量空間的幾何學用語,用以標明兩個點在標準坐標系上的絕對軸距總和。[百度]

曼哈頓距離另外有個名字出租車距離(cab driver distance)

Paste_Image.png

圖中紅線代表曼哈頓距離,綠色代表歐氏距離,也就是直線距離,而藍色和黃色代表等價的曼哈頓距離。曼哈頓距離——兩點在南北方向上的距離加上在東西方向上的距離,即d(i,j)=|xi-xj|+|yi-yj|。對于一個具有正南正北、正東正西方向規則布局的城鎮街道,從一點到達另一點的距離正是在南北方向上旅行的距離加上在東西方向上旅行的距離,因此,曼哈頓距離又稱為出租車距離。
如在平面上,坐標(x1, y1)的i點與坐標(x2, y2)的j點的曼哈頓距離為:
d(i,j)=|X1-X2|+|Y1-Y2|
[百度]

  • 二維平面兩點a(x1,y1)與b(x2,y2)間的曼哈頓距離
Paste_Image.png
  • 兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的曼哈頓距離
Paste_Image.png

曼哈頓距離的一個優點是計算速度快


歐氏距離(Euclidean Distance)

歐氏距離是較易掌握的一種距離計算方法,源自歐氏空間中兩點間的距離公式。

  • 二維平面上兩點a(x1,y1)與b(x2,y2)間的歐氏距離
Paste_Image.png
  • 三維空間兩點a(x1,y1,z1)與b(x2,y2,z2)間的歐氏距離
Paste_Image.png
  • 兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的歐氏距離
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

標準化歐氏距離(Standardized Euclidean distance )

標準化歐氏距離是針對簡單歐氏距離的缺點而作的一種改進方案。標準歐氏距離的思路:既然數據各維分量的分布不一樣, 那就先將各個分量都“標準化”到均值、方差相等吧。均值和方差標準化到多少呢?假設樣本集X的均值(mean)為m,標準差(standard deviation)為s,那么X的“標準化變量”表示為:
  而且標準化變量的數學期望為0,方差為1。因此樣本集的標準化過程(standardization)用公式描述就是:


  標準化后的值 = ( 標準化前的值 - 分量的均值 ) /分量的標準差
  經過簡單的推導就可以得到兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的標準化歐氏距離的公式:
基于距離的計算方法

  如果將方差的倒數看成是一個權重,這個公式可以看成是一種加權歐氏距離(Weighted Euclidean distance)


夾角余弦(Cosine)

幾何中夾角余弦可用來衡量兩個向量方向的差異,機器學習中借用這一概念來衡量樣本向量之間的差異。

  • 在二維空間中向量A(x1,y1)與向量B(x2,y2)的夾角余弦公式
Paste_Image.png
  • 兩個n維樣本點a(x11,x12,…,x1n)和b(x21,x22,…,x2n)的夾角余弦。
    類似的,對于兩個n維樣本點a(x11,x12,…,x1n)和b(x21,x22,…,x2n),可以使用類似于夾角余弦的概念來衡量它們間的相似程度。


  即:
基于距離的計算方法

夾角余弦取值范圍為[-1,1]。夾角余弦越大表示兩個向量的夾角越小,夾角余弦越小表示兩向量的夾角越大。當兩個向量的方向重合時夾角余弦取最大值1,當兩個向量的方向完全相反夾角余弦取最小值-1。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉自:http://www.cnblogs.com/heaad/archive/2011/03/08/197773...
    羅田閱讀 1,467評論 0 4
  • 原文:http://blog.csdn.net/nishiwodeangel/article/details/12...
    mogu醬閱讀 1,189評論 0 7
  • 在《程序員》12月刊A中,我們介紹了POI(興趣點)的設計及其搜索。由于推薦系統是興趣點系統的核心,所以接下來,我...
    阿七筆記閱讀 4,782評論 0 8
  • 聚類##### 今天說聚類,但是必須要先理解聚類和分類的區別,很多業務人員在日常分析時候不是很嚴謹,混為一談,其實...
    程sir閱讀 75,533評論 40 151
  • 提到檢索的方法,比如KNN算法,這些都需要用到“距離”這個尺度去度量兩者的近似程度。但是,距離也有很多種,除了我們...
    a微風掠過閱讀 1,333評論 2 0