马氏距离

1. 协方差矩阵是半正定矩阵

对于向量 x x x,设其均值为 u u u。那么协方差矩阵 Σ = E [ ( x − u ) ( x − u ) T ] \Sigma=E[(x-u)(x-u)^T] Σ=E[(xu)(xu)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[(xu)(xu)T]y=E[yT(xu)(xu)Ty]=E[((xu)Ty)T(xu)Ty]=E[(xy)Ty2]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)=(xy)TΣ1(xy)

定义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)=(yu)TΣ1(yu)

3. 马氏距离的计算步骤
3.1 中心化

X = X − X ‾ X=X-\overline{X} X=XX

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=λ1 100λd 1PX=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[(YE(Y))(YE(Y))T]=E[21P(XE(X))(XE(X))TPT21]=21PE[(XE(x))(XE(x))T]PT21=21PΣPT21=2121=I

注:

  1. 上式用到了 ∧ = ∧ T \wedge =\wedge^T =T,这是由于 ∧ \wedge 是对角阵。
  2. Σ η 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=PTPΣPT= (用到了 P T P^T PT是正交阵, P P T = I PP^T=I PPT=I)
  3. 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} (Y1Y2)T(Y1Y2)=(X1X2)TPT2121P(X1X2)=(X1X2)TPT1P(X1X2)=(X1X2)TΣ1(X1X2)

结果即为马氏距离的平方。

注:
Σ 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=PTPΣPT=PΣPT1=IΣPT1=PTPT1=Σ1PTPT1P=Σ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)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值