1. 程式人生 > 其它 >機器學習數學基礎之切比雪夫距離、閔可夫斯基距離

機器學習數學基礎之切比雪夫距離、閔可夫斯基距離

切比雪夫距離:

  國際象棋中,國王可以直行、橫行、斜行,所以國王走一步可以移動到相鄰8個方格中的任意一個。國王從格子(x1,x2)走到格子(y1,y2)最少需要多少步?答案是 max(|x1-y1|,|x2-y2|),這個距離就叫切比雪夫距離。

  

  •   二維平面兩點 a(x1,x2),b(y1,y2) 間的切比雪夫距離:

     \(d = max\left ( \left | x_{1}-y_{1}\right |,\left | x_{2}-y_{2}\right |\right )\)

  •   n維平面兩點 a(x1,x2,......,xn),b(y1,y2,......,yn
    ) 間的切比雪夫距離:

     \(d =\max_{i} \left ( \left | x_{i}-y_{i}\right |\right )\)

  •   Matlab計算 (0,0),(1,1),(3,4)兩兩之間的切比雪夫距離:

           

閔可夫斯基距離:

  閔氏距離不是一種距離,而是一組距離的定義,是對多個距離度量公式的概括性的表述。

  閔氏距離定義:兩個n維變數a(x1,x2,…...,xn)與b(y1,y2,......,yn)間的閔可夫斯基距離定義為:

  \(d = \sqrt[p]{\sum_{i=1}^{n}\left | x_{i}-y_{i}\right |^{p}}\)

  其中p是一個變引數:

  當p=1時,就是曼哈頓距離;

  當p=2時,就是歐氏距離;

  當p→\(+\infty\)時,就是切比雪夫距離。

  因此,根據變引數的不同,閔氏距離可以表示某一種的距離。

  •   Matlab計算閔氏距離(以p=\(+\infty\)的切比雪夫距離為例)

           

閔氏距離的缺點

  閔氏距離,包括曼哈頓距離、歐氏距離和切比雪夫距離都存在明顯的缺點。

  e.g. 二維樣本(身高[單位:cm],體重[單位:kg]),現有三個樣本:a(180,50),b(190,50),c(180,60)。那麼a與b的閔氏距離(無論是曼哈頓距離、歐氏距離或切比雪夫距離)等於a與c的閔氏距離。但實際上身高的10cm並不能和體重的10kg劃等號。

  (1)將各個分量的量綱(scale),也就是“單位”相同的看待了;

  (2)未考慮各個分量的分佈(期望,方差等)可能是不同的。

參考部落格:here