样本相似性度量(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离)
在分类过程中,常常需要估算不同样本直接的 Similarity Measurement (相似性度量)。
此时常用的方法就是计算两个样本直接的 Distance(距离)。
常用方法有:
- 欧几里得距离(Euclidean Distance)
欧几里得距离(Euclidean Distance),简称欧氏距离,又称欧几里得度量(euclidean metric)。
指 m 维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
在欧几里得空间中,点
x=(x1,⋯,xn) 和
y=(y1,⋯,yn) 之间的欧几里得距离为:
d(x,y):=(x1−y1)2+(x2−y2)2+⋯+(xn−yn)2
=i=1∑n(xi−yi)2
当
y 点为原点时,即为向量
x
的自然长度(该点到原点的距离)。
向量
x
的自然长度:
∥x
∥2=∣x1∣2+⋯+∣xn∣2
由
n 维空间的欧几里得距离公式可以推出:
二维平面上两点
a(x1,y1) 与
b(x2,y2) 间的欧几里得距离:
d12=(x1−x2)2+(y1−y2)2
三维空间两点
a(x1,y1,z1) 与
b(x2,y2,z2) 间的欧几里得距离:
d12=(x1−x2)2+(y1−y2)2+(z1−z2)2
- 曼哈顿距离(Manhattan Distance)
计程车几何 (Taxicab geometry) 或曼哈顿距离 (Manhattan distance or Manhattan length) 或方格线距离是由十九世纪的赫尔曼 · 闵可夫斯基所创辞汇,为欧几里得几何度量空间的几何学之用语,用以标明两个点上在标准坐标系上的绝对轴距之总和。
如上图,从右上角的黑点到左下角的黑点的最小距离是?
是红色线的欧几里得距离?
显然是错误的。在这样的空间里,欧几里得距离计算最小距离是不合适的。
需要采用新的距离计算方式 —— 曼哈顿距离
在 N 维空间中,点
x=(x1,⋯,xn) 和
y=(y1,⋯,yn) 之间的曼哈顿距离为:
d(x,y):=∣x1−y1∣+∣x2−y2∣+⋯+∣xn−yn∣=i=1∑n∣xi−yi∣
二维平面两点
a(x1,y1) 与
b(x2,y2) 间的曼哈顿距离:
d12:=∣x1−y1∣+∣x2−y2∣
- 切比雪夫距离(Chebyshev Distance)
在
n 维空间中,点
x=(x1,⋯,xn) 和
y=(y1,⋯,yn) 之间的切比雪夫距离为:
d(x,y):=imax(∣xi−yi∣)
二维平面两点
a(x1,y1) 与
b(x2,y2) 间的切比雪夫距离:
d12:=max(∣x1−y1∣,∣x2−y2∣)
- 闵可夫斯基距离(Minkowski Distance)
闵可夫斯基距离(Minkowski Distance),简称闵氏距离。
它是一组距离的定义。
设定两点:
P=(x1,x2,…,xn)andQ=(y1,y2,…,yn)∈Rn
直接的闵可夫斯基距离为:
(i=1∑n∣xi−yi∣p)1/p
那么
p 的常用取值为
1 或
2。
p=1 即为曼哈顿距离:
(i=1∑n∣xi−yi∣1)11=i=1∑n∣xi−yi∣
p=2 即为欧几里得距离:
(i=1∑n∣xi−yi∣2)21=i=1∑n(xi−yi)2
p→∞ 取无穷时极限情况下可以得到切比雪夫距离:
p→∞lim(i=1∑n∣xi−yi∣p)p1=i=1maxn∣xi−yi
- 标准化欧氏距离(Standardized Euclidean distance)
标准欧氏距离的定义:
标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。
标准欧氏距离的思路:既然数据各维分量的分布不一样,好吧!那我先将各个分量都 “标准化” 到均值、方差相等吧。
均值和方差标准化到多少呢?
假设样本集
X 的均值 (mean) 为
m,标准差(standard deviation)为
s,那么
X 的 “标准化变量
X∗” 表示为:
而且标准化变量的数学期望为
0,方差为
1。因此样本集的标准化过程 (standardization) 用公式描述就是:
X∗=sX−m
标准化后的值 = (标准化前的值 - 分量的均值) / 分量的标准差
经过简单的推导就可以得到两个 n 维向量
a(x11,x12,⋯,x1n) 与
b(x21,x22,⋯,x2n) 间的标准化欧氏距离的公式:
如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离 (Weighted Euclidean distance)。
d12=k=1∑n(skx1k−x2k)2
如果使用长宽比为
2:1 的二维矩形作为单元大小,那么使用标准欧式距离公式为:
d=(2x2−x1)2+(1x2−x1)2