机器学习数学基础之切比雪夫距离、闵可夫斯基距离

切比雪夫距离:

  国际象棋中,国王可以直行、横行、斜行,所以国王走一步可以移动到相邻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

 

posted @ 2022-05-08 19:48  swsyya  阅读(876)  评论(0编辑  收藏  举报

回到顶部