前言
在介绍马氏距离之前,我们首先看如下概念:
- 方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度
- 协方差:标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知道每个维数的变量中间是否存在关联。**协方差就是衡量多维数据集中,变量之间相关性的统计量。**比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。
- 协方差矩阵:当变量多了,超过两个变量了。那么,就用协方差矩阵来衡量这么多变量之间的相关性。假设X是以n个随机变数组成的列向量:
X
=
[
X
1
X
2
.
.
.
X
n
]
X=\left[{\begin{array}{l}X_1\\X_2\\...\\X_n\end{array}}\right]
X=?????X1?X2?...Xn??????? 其中,
μ
i
\mu_i
μi?是第i个元素的期望值,即
μ
i
=
E
(
X
i
)
\mu_i=E(X_i)
μi?=E(Xi?)。协方差矩阵
Σ
\Sigma
Σ的第i,j项被定义为如下形式:
∑
i
j
=
c
o
v
(
X
i
,
X
j
)
=
E
[
(
X
i
?
μ
i
)
(
X
j
?
μ
j
)
]
\sum_{ij}=cov(X_i,X_j)=E[(X_i-\mu_i)(X_j-\mu_j)]
ij∑?=cov(Xi?,Xj?)=E[(Xi??μi?)(Xj??μj?)]
马氏距离
D
M
(
x
)
=
(
x
?
μ
)
T
Σ
?
1
(
x
?
μ
)
D_M(x)=\sqrt{(x-\mu)^T\Sigma^{-1}(x-\mu)}
DM?(x)=(x?μ)TΣ?1(x?μ)
? 特别的,当
Σ
=
I
\Sigma=I
Σ=I时,马氏距离退化为欧氏距离。
马氏距离是由马哈拉诺比斯提出的,表示数据的协方差矩阵。马氏距离是一种距离的度量,可以看作是欧式距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。它是一种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系,并且是尺度无关的,即独立于测量尺度 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为
Σ
\Sigma
Σ的随机变量
X
X
X与
Y
Y
Y的差异程度。
马氏距离的推导
对协方差矩阵
Σ
\Sigma
Σ进行特征分解,有:
Σ
=
U
Λ
U
T
,
U
U
T
=
I
,
Λ
=
d
i
a
g
(
λ
i
)
,
U
=
(
U
1
,
.
.
.
,
U
p
)
\Sigma=U\Lambda{U^T}, UU^T=I,\Lambda=diag(\lambda_i), U=(U_1,...,U_p)
Σ=UΛUT,UUT=I,Λ=diag(λi?),U=(U1?,...,Up?) 因此,
Σ
=
(
U
1
,
U
2
,
.
.
.
,
U
p
)
Λ
(
U
1
,
U
2
,
.
.
,
U
p
)
T
=
∑
i
=
1
p
U
i
λ
i
U
i
T
\Sigma =(U_1,U_2,...,U_p)\Lambda(U_1,U_2,..,U_p)^T\\ =\sum_{i=1}^pU_i\lambda_iU_i^T
Σ=(U1?,U2?,...,Up?)Λ(U1?,U2?,..,Up?)T=i=1∑p?Ui?λi?UiT? 得到马氏距离为:
D
M
(
x
)
=
(
x
?
μ
)
T
Σ
?
1
(
x
?
μ
)
=
(
X
?
μ
)
T
∑
i
=
1
p
U
i
1
λ
i
U
i
T
(
X
?
μ
)
=
∑
i
=
1
p
(
X
?
μ
)
T
U
i
1
λ
i
U
i
T
(
X
?
μ
)
D_M(x)=\sqrt{(x-\mu)^T\Sigma^{-1}(x-\mu)}\\ =\sqrt{(X-\mu)^T\sum_{i=1}^pU_i\frac{1}{\lambda_i}U_i^T(X-\mu)}\\ =\sqrt{\sum_{i=1}^p(X-\mu)^TU_i\frac{1}{\lambda_i}U_i^T(X-\mu)}
DM?(x)=(x?μ)TΣ?1(x?μ)
?=(X?μ)Ti=1∑p?Ui?λi?1?UiT?(X?μ)
?=i=1∑p?(X?μ)TUi?λi?1?UiT?(X?μ)
? 设
y
i
=
(
x
?
μ
)
T
u
i
y_i=(x-\mu)^Tu_i
yi?=(x?μ)Tui? 上式可以化简为:
∑
i
=
1
p
y
i
1
λ
i
y
i
T
=
∑
i
=
1
p
y
i
2
λ
i
\sum_{i=1}^py_i\frac{1}{\lambda_i}y_i^T\\ =\sum_{i=1}^p\frac{y_i^2}{\lambda_i}
i=1∑p?yi?λi?1?yiT?=i=1∑p?λi?yi2?? 当
p
=
2
p=2
p=2,时
y
1
2
λ
1
+
y
2
2
λ
2
=
1
\frac{y_1^2}{\lambda_1}+\frac{y_2^2}{\lambda_2}=1
λ1?y12??+λ2?y22??=1, 可以得到该函数图像为一个椭圆曲线,其中y坐标轴与x坐标轴经过了一个平移及缩放变换
|