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