距离的度量

文章目录

  • 一、闵可夫斯基距离
  • 二、马哈拉诺比斯距离(马氏距离)


一、闵可夫斯基距离

给定两个 m m m维样本
x 1 = ( x 1 1 , x 1 2 , x 1 3 , . . . , x 1 m ) x_1=(x_1^1, x_1^2, x_1^3 ,... , x_1^m) x1=(x11,x12,x13,...,x1m)
x 2 = ( x 2 1 , x 2 2 , x 2 3 , . . . , x 2 m ) x_2=(x_2^1, x_2^2, x_2^3 ,... , x_2^m) x2=(x21,x22,x23,...,x2m)
x 1 x_1 x1 x 2 x_2 x2之间的闵可夫斯基距离为
d i s t a n c e = ( ∑ k = 1 m ∣ x 1 k − x 2 k ∣ p ) 1 p distance=(\sum_{k=1}^{m}|x_1^k-x_2^k|^p)^\frac{1}{p} distance=(k=1mx1kx2kp)p1

  1. p = 1 p=1 p=1,称为曼哈顿距离(Manhattan distance);
  2. p = 2 p=2 p=2,称为欧式距离(Euclidean distance);
  3. p = ∞ p=\infty p=,称为切比雪夫距离(Chebyshev distance);
    C h e b y s h e v d i s t a n c e = max ⁡ k ∣ x 1 k − x 2 k ∣ Chebyshev distance=\max_k|x_1^k-x_2^k| Chebyshevdistance=kmaxx1kx2k
     

二、马哈拉诺比斯距离(马氏距离)

马氏距离考虑各个特征之间的相关性并与各个分量的尺度无关。
给定一个数据集X,协方差矩阵为S,样本x_1x_2之间的马氏距离distance计算公式如下:
d i s t a n c e = [ ( x 1 − x 2 ) T S − 1 ( x 1 − x 2 ) ] 1 2 distance=[(x_1-x_2)^TS^{-1}(x_1-x_2)]^\frac{1}{2} distance=[(x1x2)TS1(x1x2)]21
当S为单位矩阵的时候,说明各个分量是互相独立且方差为1,此时马氏距离就是欧式距离。

你可能感兴趣的:(机器学习,python,算法)