Python学习系列文章: 目录
一、概述
闵可夫斯基距离 (Minkowski Distance),也被称为 闵氏距离。它不仅仅是一种距离,而是将多个距离公式(曼哈顿距离、欧式距离、切比雪夫距离)总结成为的一个公式。
二、计算公式
1. 闵氏距离公式
首先假设两个 n 维变量
A
(
x
11
,
x
12
,
.
.
.
,
x
1
n
)
A(x_{11},x_{12},…,x_{1n})
A(x11,x12,...,x1n) 与
B
(
x
21
,
x
22
,
.
.
.
,
x
2
n
)
B(x_{21},x_{22},…,x_{2n})
B(x21,x22,...,x2n)。
对于这两个 n 维变量,则有闵氏距离公式为:
d
12
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
p
p
d_{12}=sqrt[p]{sum_{k=1}^n|x_{1k}-x_{2k}|^p}
d12=pk=1∑n∣x1k−x2k∣p
乍一看,可能觉得这个公式很复杂,也觉得这个公式与前面说到的距离公式(曼哈顿距离、欧式距离、切比雪夫距离)没太大关联,但当我分解一下,就知道有什么关联了。
2. 闵氏距离的参数 p
闵氏距离主要和它的参数
p
p
p 有关,
p
p
p 值不同,公式也将不同。
①
p
=
1
p=1
p=1 时,闵氏距离 为 曼哈顿距离
d
12
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
p
p
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
begin{aligned} d_{12}&=sqrt[p]{sum_{k=1}^n|x_{1k}-x_{2k}|^p} \ &=sum_{k=1}^n|x_{1k}-x_{2k}| end{aligned}
d12=pk=1∑n∣x1k−x2k∣p=k=1∑n∣x1k−x2k∣
②
p
=
2
p=2
p=2 时,闵氏距离 为 欧式距离
d
12
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
p
p
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
2
=
∑
k
=
1
n
(
x
1
k
−
x
2
k
)
2
begin{aligned} d_{12}&=sqrt[p]{sum_{k=1}^n|x_{1k}-x_{2k}|^p} \ &=sqrt{sum_{k=1}^n|x_{1k}-x_{2k}|^2}\ &=sqrt{sum_{k=1}^n(x_{1k}-x_{2k})^2}\ end{aligned}
d12=pk=1∑n∣x1k−x2k∣p=k=1∑n∣x1k−x2k∣2=k=1∑n(x1k−x2k)2
③
p
=
∞
p=infty
p=∞ 时,闵氏距离 为 切比雪夫距离
d
12
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
p
p
=
∑
k
=
1
n
∣
x
1
k
−
x
2
k
∣
∞
∞
=
m
a
x
(
∣
x
1
i
−
x
2
i
∣
)
begin{aligned} d_{12}&=sqrt[p]{sum_{k=1}^n|x_{1k}-x_{2k}|^p} \ &=sqrt[infty]{sum_{k=1}^n|x_{1k}-x_{2k}|^infty}\ &=max(|x_{1i}-x_{2i}|) end{aligned}
d12=pk=1∑n∣x1k−x2k∣p=∞k=1∑n∣x1k−x2k∣∞=max(∣x1i−x2i∣)
3. 闵氏距离的缺点
① 将各个分量的量纲(scale),也就是“单位”相同的看待了;
例如:二维样本(身高[单位:cm],体重[单位:kg]),现有三个样本:a(180,50),b(190,50),c(180,60)。
a与b的闵氏距离(无论是曼哈顿距离、欧氏距离或切比雪夫距离)等于a与c的闵氏距离。但实际上身高的 10cm 并不能和体重的 10kg 划等号。
② 未考虑各个分量的分布(期望,方差等)可能是不同的。
暂无评论内容