1. 协方差矩阵是半正定矩阵
对于向量 x x x,设其均值为 u u u。那么协方差矩阵 Σ = E [ ( x − u ) ( x − u ) T ] \Sigma=E[(x-u)(x-u)^T] Σ=E[(x−u)(x−u)T]
y T Σ y = y T E [ ( x − u ) ( x − u ) T ] y = E [ y T ( x − u ) ( x − u ) T y ] = E [ ( ( x − u ) T y ) T ( x − u ) T y ] = E [ ∣ ∣ ( x − y ) T y ∣ ∣ 2 ] ≥ 0 \begin{aligned} y^T\Sigma y &= y^TE[(x-u)(x-u)^T]y \\ &=E[y^T(x-u)(x-u)^Ty] \\ &=E[ ((x-u)^Ty)^T (x-u)^Ty ] \\ &= E[ ||(x-y)^Ty||^2 ] \\ & \ge 0 \end{aligned} yTΣy=yTE[(x−u)(x−u)T]y=E[yT(x−u)(x−u)Ty]=E[((x−u)Ty)T(x−u)Ty]=E[∣∣(x−y)Ty∣∣2]≥0
故协方差矩阵 ∑ \sum ∑为半正定矩阵
2.马氏距离的定义
定义1: 马氏距离可以定义为两个服从同一分布并且其协方差矩阵为 ∑ \sum ∑的随机变量 X X X与 Y Y Y的差异程度
d ( x , y ) = ( x − y ) T Σ − 1 ( x − y ) d(x,y)=\sqrt{ (x-y)^T \Sigma^{-1} (x-y) } d(x,y)=(x−y)TΣ−1(x−y)
定义2: 对于D维变量 x = ( x 1 , x 2 , x 3 , . . . , x D ) T x=(x_1,x_2,x_3,...,x_D)^T x=(x1,x2,x3,...,xD)T,其均值 u = ( u 1 , u 2 , . . . , u D ) T u=(u_1,u_2,...,u_D)^T u=(u1,u2,...,uD)T。
对于任意给定的任意一个 D D D维变量 y y y,马氏距离可以恒量 y y y与分布 p x p_x px之间的相似程度。
D M ( y ) = ( y − u ) T Σ − 1 ( y − u ) D_M(y)=\sqrt{ (y-u)^T \Sigma^{-1} (y-u) } DM(y)=(y−u)TΣ−1(y−u)
3. 马氏距离的计算步骤
3.1 中心化
X = X − X ‾ X=X-\overline{X} X=X−X
3.2 计算协方差矩阵 Σ \Sigma Σ
此时 Σ \Sigma Σ应该是一个 D × D D\times D D×D大小的矩阵,反映了数据分布 X X X各维度之间的相关程度
3.3 对 Σ \Sigma Σ进行特征分解
Σ η i = λ i η i ( i = 1 , 2 , 3 , . . . , D ) \Sigma \eta_i = \lambda_i \eta_i (i=1,2,3,...,D) Σηi=λiηi(i=1,2,3,...,D)
并且 ∣ ∣ η i ∣ ∣ = 1 || \eta_i||=1 ∣∣ηi∣∣=1
3.4 选取 d d d个主成分对数据进行变换得到 Y Y Y
此时,对于新空间下第
i
i
i个基向量
Y
i
Y_i
Yi有
Y
i
T
=
η
i
T
X
(
i
=
1
,
2
,
.
.
.
,
n
)
\begin{aligned} {Y_i^T}= \eta_i^T X (i=1,2,...,n) \end{aligned}
YiT=ηiTX(i=1,2,...,n)
所以
V
a
r
(
Y
i
)
=
E
[
Y
i
T
Y
i
]
=
η
i
T
E
[
X
X
T
]
η
i
=
η
i
T
Σ
η
i
=
η
i
λ
i
η
i
=
λ
i
η
i
2
=
λ
i
\begin{aligned} Var(Y_i) &=E[Y_i^T Y_i] \\ &= \eta_i^T E[X X^T] \eta_i \\ &= \eta_i^T \Sigma \eta_i \\ &= \eta_i \lambda_i \eta_i \\ &= \lambda_i \eta_i^2 \\ &= \lambda_i \end{aligned}
Var(Yi)=E[YiTYi]=ηiTE[XXT]ηi=ηiTΣηi=ηiλiηi=λiηi2=λi
V a r ( Y i , Y k ) = E [ Y i T Y k ] = η i T E [ X X T ] η k = η i T Σ η k = η i λ k η k = λ k η i η k = 0 \begin{aligned} Var(Y_i,Y_k) &=E[Y_i^T Y_k] \\ &= \eta_i^T E[X X^T] \eta_k \\ &= \eta_i^T \Sigma \eta_k \\ &= \eta_i \lambda_k \eta_k \\ &= \lambda_k \eta_i \eta_k \\ &= 0 \end{aligned} Var(Yi,Yk)=E[YiTYk]=ηiTE[XXT]ηk=ηiTΣηk=ηiλkηk=λkηiηk=0
因此在新的向量空间内(坐标系下),基向量(坐标轴)是线性无关的。
3.5 尺度无关
对于 Y i Y_i Yi,其方差 V a r ( Y i ) = λ i Var(Y_i)=\lambda_i Var(Yi)=λi。此时对于离中心点距离为某常数C形成的曲面是超椭球面。下面经过变换将 V a r ( Y i ) Var(Y_i) Var(Yi)变为 1 1 1,这样对于离中心点距离为某常数C形成的曲面是超球面。换句话说,数据在Y_i方向的大小无关(也就是 Y i Y_i Yi方向所选的尺度无关),形成的一定是一个球面。
将上面式子 Y = P X Y=PX Y=PX修正为
Y = [ 1 λ 1 ⋯ 0 ⋮ ⋱ ⋮ 0 ⋯ 1 λ d ] P X = ∧ − 1 2 P X \begin{aligned} Y= &\begin{bmatrix} \frac{1}{\sqrt{\lambda_1}} & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \frac{1}{\sqrt{\lambda_d}} \end{bmatrix} PX \\ &= \wedge^{-\frac{1}{2}} PX \end{aligned} Y=⎣⎢⎡λ11⋮0⋯⋱⋯0⋮λd1⎦⎥⎤PX=∧−21PX
这样左乘一个修正矩阵,相当于把数据 Y = P X Y=PX Y=PX下的每个轴上的大小都除以了 λ i \lambda_i λi,之后数据在各维上的方差均为 1 1 1,数据分布就成了一个超球面。
4.验证Y的协方差
E [ ( Y − E ( Y ) ) ( Y − E ( Y ) ) T ] = E [ ∧ − 1 2 P ( X − E ( X ) ) ( X − E ( X ) ) T P T ∧ − 1 2 ] = ∧ − 1 2 P E [ ( X − E ( x ) ) ( X − E ( x ) ) T ] P T ∧ − 1 2 = ∧ − 1 2 P Σ P T ∧ − 1 2 = ∧ − 1 2 ∧ ∧ − 1 2 = I \begin{aligned} E[(Y-E(Y))(Y-E(Y) )^T ]&=E[ \wedge^{ -\frac{1}{2} } P (X-E(X)) (X-E(X))^T P^T \wedge^{ -\frac{1}{2} } ] \\ &= \wedge^{ -\frac{1}{2} }P E[ (X-E(x)) (X-E(x))^T ] P^T \wedge^{ -\frac{1}{2} }\\ &= \wedge^{ -\frac{1}{2} }P \Sigma P^T \wedge^{ -\frac{1}{2} }\\ &= \wedge^{ -\frac{1}{2} } \wedge \wedge^{ -\frac{1}{2} } \\ &= I \end{aligned} E[(Y−E(Y))(Y−E(Y))T]=E[∧−21P(X−E(X))(X−E(X))TPT∧−21]=∧−21PE[(X−E(x))(X−E(x))T]PT∧−21=∧−21PΣPT∧−21=∧−21∧∧−21=I
注:
- 上式用到了 ∧ = ∧ T \wedge =\wedge^T ∧=∧T,这是由于 ∧ \wedge ∧是对角阵。
- Σ η i = λ i η i ⇒ Σ P T = P T ∧ ⇒ P Σ P T = ∧ \Sigma \eta_i=\lambda_i \eta_i \Rightarrow \Sigma P^T= P^T \wedge \Rightarrow P\Sigma P^T=\wedge Σηi=λiηi⇒ΣPT=PT∧⇒PΣPT=∧ (用到了 P T P^T PT是正交阵, P P T = I PP^T=I PPT=I)
- P P P的每一列都是 Σ \Sigma Σ的特征向量,由于特征向量正交,并且我们将模长化为了1,故 P T P^T PT是正交阵。
5. 计算两点距离
( Y 1 − Y 2 ) T ( Y 1 − Y 2 ) = ( X 1 − X 2 ) T P T ∧ − 1 2 ∧ − 1 2 P ( X 1 − X 2 ) = ( X 1 − X 2 ) T P T ∧ − 1 P ( X 1 − X 2 ) = ( X 1 − X 2 ) T Σ − 1 ( X 1 − X 2 ) \begin{aligned} (Y_1-Y_2)^T (Y_1-Y_2) &= (X_1-X_2)^T P^T \wedge^{ -\frac{1}{2} } \wedge^{ -\frac{1}{2} } P(X_1-X_2) \\ &= (X_1-X_2)^T P^T \wedge^{-1} P (X_1-X_2) \\ &= (X_1-X_2)^T \Sigma^{-1} (X_1-X_2) \\ \end{aligned} (Y1−Y2)T(Y1−Y2)=(X1−X2)TPT∧−21∧−21P(X1−X2)=(X1−X2)TPT∧−1P(X1−X2)=(X1−X2)TΣ−1(X1−X2)
结果即为马氏距离的平方。
注:
Σ
P
T
=
P
T
∧
⇒
P
Σ
P
T
=
∧
⇒
P
Σ
P
T
∧
−
1
=
I
⇒
Σ
P
T
∧
−
1
=
P
T
⇒
P
T
∧
−
1
=
Σ
−
1
P
T
⇒
P
T
∧
−
1
P
=
Σ
−
1
\begin{aligned} &\Sigma P^T = P^T \wedge \\ \Rightarrow& P \Sigma P^T=\wedge \\ \Rightarrow& P \Sigma P^T \wedge^{-1} = I \\ \Rightarrow& \Sigma P^T \wedge^{-1} = P^T \\ \Rightarrow& P^T \wedge^{-1} = \Sigma^{-1} P^T \\ \Rightarrow& P^{T}\wedge^{-1}P =\Sigma^{-1} \end{aligned}
⇒⇒⇒⇒⇒ΣPT=PT∧PΣPT=∧PΣPT∧−1=IΣPT∧−1=PTPT∧−1=Σ−1PTPT∧−1P=Σ−1
上式利用了
P
T
P
=
I
P^TP=I
PTP=I,当仅当
P
P
P为正交阵时才满足。之前已经推出了
P
P
T
=
I
PP^T=I
PPT=I,故只有当P为方阵时,才满足
P
T
P
=
I
P^TP=I
PTP=I。换言之,Y保留了X的所有主成分。
故 d = D d=D d=D,即变换后的空间要保留与原来空间相同的维度 (Dimension)。