机器学习基础之常见距离计算

个人学习记录,若有侵权,请联系删除。


一、欧氏距离(Euclidean Distance)

欧氏距离是最容易直观理解的度量方法。即两点之间的距离

如点x = (x_1, x_2, ..., x_n)和点y = (y_1, y_2, ..., y_n)之间的距离为:

d(x, y) = \sqrt{(x_1-y_1)^2+(x_2-y_2)^2+...+(x_n-y_n)^2}=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}

缺点:欧氏距离并非尺度不变,这意味着所计算的距离可能会根据特征的单位发生倾斜。通常,在使用欧氏距离度量之前,需要对数据进行归一化处理。

二、​​​​​标准化欧氏距离(Standard Euclidean Distance)

标准化欧氏距离是针对欧氏距离的缺点而作的一种改进,但要求必须基于一个数据集的分布

思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等,即使得各个维度分别满足标准正态分布。假设样本集X的均值为m,标准差为s,X的标准化变量表示为

X^* = \frac{X-m}{S}

如两个n维向量a(x_{11}, x_{12}, ..., x_{1n})b(x_{21}, x_{22}, ..., x_{2n})间的标准化欧氏距离公式为:

d(a,b)=\sqrt{\sum_{k=1}^{n}(\frac{x_{1k}-x_{2k}}{s_k})^2}

三、曼哈顿距离(Manhattan Distance)

在曼哈顿街区要从一个十字路口开车到另一个十字路口,直观上看,绿线的距离最短,但在现实中显然是不成立的,因为我们不能穿过房屋。驾驶距离显然不是两点间的直线距离,这些实际驾驶距离就是“曼哈顿距离”,也称为“街区距离”

红蓝黄线均为曼哈顿距离,绿线为欧氏距离

 如两个n维向量a(x_{11}, x_{12}, ..., x_{1n})b(x_{21}, x_{22}, ..., x_{2n})间的曼哈顿距离公式为:

d(a,b)=\sum_{k=1}^{n}|x_{1k}-x_{2k}|

四、切比雪夫距离(Chebyshev Distance)

切比雪夫距离来源于国际象棋,国王可以直行、横行、斜行,所以国王走一步可以移动到相邻8个方格中的任意一个。国王从一个格子走到另一个格子最少需要多少步?这个距离就是切比雪夫距离如两个n维向量a(x_{11}, x_{12}, ..., x_{1n})b(x_{21}, x_{22}, ..., x_{2n})间的切比雪夫距离公式为:

d(a,b)=\max\limits_k(|x_{1k}-x_{2k}|)

五、闵可夫斯基距离(Minkowski Distance)

1、闵可距离的定义

两个n维向量a(x_{11}, x_{12}, ..., x_{1n})b(x_{21}, x_{22}, ..., x_{2n})间的闵可夫斯基距离公式为:

d(a,b)=\sqrt[p]{\sum_{k=1}^{n}|x_{1k}-x_{2k}|^p}

其中p是一个变参数

当p=1时,就是曼哈顿距离

当p=2时,就是欧氏距离

当p=\infty时,就是切比雪夫距离

2、闵可距离的缺点

1)将各个分量的量纲,也就是“单位”当作相同的看待了

2)没有考虑各个分量的分布(期望,方差等)可能是不同的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值