1.从协方差矩阵开始——协防差矩阵和样本阵的关系
定义1: 协方差
Cov
(
X
,
Y
)
=
E
{
[
X
−
E
(
X
)
]
[
Y
−
E
(
Y
)
]
}
=
E
(
X
Y
)
−
2
E
(
X
)
E
(
Y
)
+
E
(
X
)
E
(
Y
)
=
E
(
X
Y
)
−
E
(
X
)
E
(
Y
)
(X,Y) =E\{[X-E(X)][Y-E(Y)]\} \\ =E(XY)-2E(X)E(Y)+E(X)E(Y)\\ =E(XY)-E(X)E(Y)
(X,Y)=E{[X−E(X)][Y−E(Y)]}=E(XY)−2E(X)E(Y)+E(X)E(Y)=E(XY)−E(X)E(Y)
意义: 度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。
引自:https://blog.csdn.net/GoodShot/article/details/79940438。可以参考其中配图。
注1: Cov ( X , X ) = E ( X 2 ) − ( E ( X ) ) 2 = D ( X ) (X,X) =E(X^2)-(E(X))^2=D(X) (X,X)=E(X2)−(E(X))2=D(X) 样本X自身协方差为其方差。
定义2: 样本方差
σ
2
=
∑
i
=
1
m
(
X
i
−
X
ˉ
)
2
m
−
1
\sigma^2 = \frac{\sum^{m}_{i=1}{(X_i-\bar{X})^2}}{m-1}
σ2=m−1∑i=1m(Xi−Xˉ)2, 其中
X
ˉ
=
∑
i
=
1
m
X
i
m
\bar{X} = \frac{\sum^{m}_{i=1}X_i}{m}
Xˉ=m∑i=1mXi, 为
{
X
i
}
\{X_i\}
{Xi}的均值。
定义3: 样本协方差
Cov
(
X
,
Y
)
=
∑
i
=
1
m
(
X
i
−
X
ˉ
)
(
Y
i
−
Y
ˉ
)
m
−
1
(X,Y) =\frac{\sum^{m}_{i=1}(X_i-\bar{X})(Y_i-\bar{Y})}{m-1}
(X,Y)=m−1∑i=1m(Xi−Xˉ)(Yi−Yˉ)
显然有Cov
(
X
,
Y
)
(X,Y)
(X,Y) = Cov
(
Y
,
X
)
(Y,X)
(Y,X)。
那么,对于只有两个特征
X
X
X和
Y
Y
Y的情况(即
X
X
X、
Y
Y
Y两个维度),可以有协方差矩阵
C
X
,
Y
=
(
C
o
v
(
X
,
X
)
C
o
v
(
X
,
Y
)
C
o
v
(
Y
,
X
)
C
o
v
(
Y
,
Y
)
)
\bold{C}_{X,Y}= \begin{pmatrix} \rm{Cov(X,X)} & \rm{Cov(X,Y)} \\ \rm{Cov(Y,X)} & \rm{Cov(Y,Y)} \end{pmatrix}
CX,Y=(Cov(X,X)Cov(Y,X)Cov(X,Y)Cov(Y,Y))。
对于有三个特征
X
X
X、
Y
Y
Y和
Z
Z
Z的情况(即
X
X
X、
Y
Y
Y和
Z
Z
Z三个维度),有协方差矩阵
C
X
,
Y
,
Z
=
(
C
o
v
(
X
,
X
)
C
o
v
(
X
,
Y
)
C
o
v
(
X
,
Z
)
C
o
v
(
Y
,
X
)
C
o
v
(
Y
,
Y
)
C
o
v
(
Y
,
Z
)
C
o
v
(
Z
,
X
)
C
o
v
(
Z
,
Y
)
C
o
v
(
Z
,
Z
)
)
\bold{C}_{X,Y,Z}= \begin{pmatrix} \rm{Cov(X,X)} & \rm{Cov(X,Y)} & \rm{Cov(X,Z)}\\ \rm{Cov(Y,X)} & \rm{Cov(Y,Y)} & \rm{Cov(Y,Z)}\\ \rm{Cov(Z,X)} & \rm{Cov(Z,Y)} & \rm{Cov(Z,Z)} \end{pmatrix}
CX,Y,Z=⎝⎛Cov(X,X)Cov(Y,X)Cov(Z,X)Cov(X,Y)Cov(Y,Y)Cov(Z,Y)Cov(X,Z)Cov(Y,Z)Cov(Z,Z)⎠⎞。
注2: 可见,协方差矩阵
C
\bold{C}
C是一个实对称矩阵。关于实对称矩阵的主要性质如下:
1.实对称矩阵A的不同特征值对应的特征向量是正交的。
2.实对称矩阵A的特征值都是实数,特征向量都是实向量。
3.n阶实对称矩阵A必可对角化,且相似对角阵上的元素即为矩阵本身特征值。
4.若λ0具有k重特征值 必有k个线性无关的特征向量,或者说必有秩r(λ0E-A)=n-k,其中E为单位矩阵。
故,协方差矩阵 C \bold{C} C可以正交分解为对角阵。
定理 1: 有实对称矩阵 A ∈ R n × n \bold{A} \in \mathbb{R^{n\times n}} A∈Rn×n,则一定存在正交阵 U \bold{U} U,使 U T A U = U − 1 A U = Λ = \bold{U}^{\rm{T}} \bold{A} \bold{U} = \bold{U}^{-1} \bold{A} \bold{U} = \Lambda= UTAU=U−1AU=Λ=diag ( λ 1 , λ 2 , … , λ n ) (\lambda_1,\lambda_2,\dots,\lambda_n) (λ1,λ2,…,λn)
电脑莫名其妙重启了。。。继续撸。。。
以下以
X
=
(
x
1
,
x
2
,
…
,
x
m
)
,
m
∈
N
X=(x_1,x_2,\dots,x_m),m\in\mathbb{N}
X=(x1,x2,…,xm),m∈N为例,进行说明。其中,
x
i
x_i
xi是
X
X
X的第
i
i
i个特征。
注3: 在我们处理数据
X
X
X以前,我们要做的是数据中心化,这是后续工作的前提。
设
X
X
X为有
n
n
n个特征,
m
m
m个样本的数据
X
=
(
x
1
,
1
−
μ
1
x
1
,
2
−
μ
2
…
x
1
,
n
−
μ
n
x
2
,
1
−
μ
1
x
2
,
2
−
μ
2
…
x
2
,
n
−
μ
n
…
…
…
…
x
m
,
1
−
μ
1
x
m
,
2
−
μ
2
…
x
m
,
n
−
μ
n
)
X = \begin{pmatrix} x_{1,1}-\mu_1 &x_{1,2}-\mu_2 &\dots &x_{1,n}-\mu_n \\ x_{2,1}-\mu_1 &x_{2,2}-\mu_2 &\dots &x_{2,n}-\mu_n \\ \dots &\dots &\dots &\dots\\ x_{m,1}-\mu_1 &x_{m,2}-\mu_2 &\dots &x_{m,n}-\mu_n \end{pmatrix}
X=⎝⎜⎜⎛x1,1−μ1x2,1−μ1…xm,1−μ1x1,2−μ2x2,2−μ2…xm,2−μ2…………x1,n−μnx2,n−μn…xm,n−μn⎠⎟⎟⎞,其中
μ
i
\mu_i
μi为第
i
i
i个特征的均值。
此时 x ∙ , j x_{\bullet,j} x∙,j为0均值样本, μ j = 0 \mu_j = 0 μj=0。
对于
X
X
X中的任意两个特征
x
i
x_i
xi和
x
j
x_j
xj,记
c
i
,
j
=
c_{i,j}=
ci,j=Cov
(
x
i
,
x
j
)
=
E
{
[
x
i
−
μ
i
]
[
x
j
−
μ
j
]
}
=
E
{
x
i
x
j
}
=
1
m
∑
l
=
1
m
x
∙
,
i
x
∙
,
j
=
1
m
X
∙
,
i
T
X
∙
,
j
(x_i,x_j) \\ =E\{[x_i-\mu_i][x_j-\mu_j]\}=E\{x_ix_j\}\\ =\frac{1}{m}\sum^{m}_{l=1}x_{\bullet,i}x_{\bullet,j}\\ =\frac{1}{m}X^{\rm{T}}_{\bullet,i}X_{\bullet,j}
(xi,xj)=E{[xi−μi][xj−μj]}=E{xixj}=m1∑l=1mx∙,ix∙,j=m1X∙,iTX∙,j
其中,
X
∙
,
i
X_{\bullet,i}
X∙,i是样本
X
m
×
n
X_{m\times n}
Xm×n中的第
i
i
i列。
所以,样本
X
X
X的协方差矩阵
C
X
\rm{C_X}
CX
=
{
c
i
,
j
}
=
1
m
X
T
X
=\{c_{i,j}\}=\frac{1}{m}X^{\rm{T}}X
={ci,j}=m1XTX (注:如果是无偏估计,则为
1
m
−
1
\frac{1}{m-1}
m−11)。
扣题:上式就是协方差阵和样本阵的关系。
2.求映射阵 Q n × k \bold{Q}_{n \times k} Qn×k使由 n n n维降维至 k k k维
设目标为降维的矩阵为
Y
\bold{Y}
Y,映射阵为
Q
\bold{Q}
Q,有关系
Y
m
×
n
=
X
m
×
n
Q
n
×
n
\bold{Y}_{m\times n}=\bold{X}_{m\times n}\bold{Q}_{n\times n}
Ym×n=Xm×nQn×n
降维的话, Y m × k = X m × n Q n × k \bold{Y}_{m\times k}=\bold{X}_{m\times n}\bold{Q}_{n\times k} Ym×k=Xm×nQn×k
降维的原则: 新的到的 Y \bold{Y} Y的方差尽可能大,协方差尽可能小。
根据上一节最后一个公式,设 C Y \rm{C_Y} CY为样本 Y Y Y的协方差矩阵,有
C Y \rm{C_Y} CY = 1 m Y T Y = 1 m ( X Q ) T X Q = 1 m Q T X T X Q = Q T C X Q =\frac{1}{m}\bold{Y}^{\rm{T}}\bold{Y}\\ =\frac{1}{m}(\bold{XQ})^{\rm{T}} \bold{XQ}\\ =\frac{1}{m}\bold{Q}^{\rm{T}}\bold{X}^{\rm{T}}\bold{XQ}\\ =\bold{Q}^{\rm{T}} \rm{C_X} \bold{Q} =m1YTY=m1(XQ)TXQ=m1QTXTXQ=QTCXQ
考虑到定理1中是对称矩阵可以正交分解,故令 Q = U \bold{Q}=\bold{U} Q=U,有
C Y \rm{C_Y} CY = Q T C X Q = U T C X U = Λ = =\bold{Q}^{\rm{T}} \rm{C_X} \bold{Q} =\bold{U}^{\rm{T}} \rm{C_X} \bold{U}\\ =\Lambda= =QTCXQ=UTCXU=Λ=diag ( λ 1 , λ 2 , … , λ n ) (\lambda_1,\lambda_2,\dots,\lambda_n) (λ1,λ2,…,λn)
在此,我们不妨假设 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n \lambda_1 \geq \lambda_2\geq \dots \geq \lambda_n λ1≥λ2≥⋯≥λn,对应的特征向量为 u 1 , u 2 , … , u n u_1,u_2,\dots,u_n u1,u2,…,un。即, λ i \lambda_i λi已经排列好大小。则取前 k k k个特征向量,组成 Q n × k = ( u 1 , u 2 , … , u k ) \bold{Q}_{n\times k} = (u_1,u_2,\dots,u_k) Qn×k=(u1,u2,…,uk),其中 0 < k < n 0 < k<n 0<k<n。
扣题: Y m × k = X m × n Q n × k \bold{Y}_{m\times k}=\bold{X}_{m\times n}\bold{Q}_{n\times k} Ym×k=Xm×nQn×k实现了数据的降维。
3.数据的复原(重构)
X
′
m
×
n
=
Y
m
×
k
(
Q
n
×
k
)
T
\bold{X'}_{m\times n}=\bold{Y}_{m\times k}(\bold{Q}_{n \times k})^{\rm{T}}
X′m×n=Ym×k(Qn×k)T 即是数据的重构!
注意: 由
Y
=
X
Q
Y=XQ
Y=XQ得出
X
=
Y
Q
T
X=YQ^{T}
X=YQT的结论是错误的。应为
X
′
=
Y
Q
T
X'=YQ^{T}
X′=YQT,
X
X
X为中心化之后的原始数据,
X
‘
X‘
X‘才是重构后的复原数据。
以下图为例,进行说明。图片引自https://blog.csdn.net/hustqb/article/details/78394058
X中心化后得到
X
=
(
(
−
1
,
−
2
)
,
(
−
1.0
)
,
(
0
,
0
)
,
(
0
,
1
)
,
(
2
,
1
)
)
5
×
2
X = ((-1,-2),(-1.0),(0,0),(0,1),(2,1))_{5 \times 2}
X=((−1,−2),(−1.0),(0,0),(0,1),(2,1))5×2 5个样本,红色星号。降维后得到
Y
=
(
y
1
,
y
2
,
y
3
,
y
4
,
y
5
)
5
×
1
T
Y=(y1,y2,y3,y4,y5)_{5 \times 1}^T
Y=(y1,y2,y3,y4,y5)5×1T 5个数,是1维数据,不是点。蓝色斜线为
u
1
=
(
u
1
,
1
,
u
1
,
2
)
T
u_1=(u_{1,1},u_{1,2})^T
u1=(u1,1,u1,2)T为
C
X
C_X
CX最大特征值
λ
1
\lambda_1
λ1对应的特征向量。
Q
=
(
u
1
)
2
×
1
Q = (u_1)_{2\times 1}
Q=(u1)2×1。
此时的Y,已经损失了部分信息——损失了绿色的截线长度的信息,
Y
Q
T
YQ^T
YQT也不能重新获得这些信息。
Y
Q
T
YQ^T
YQT仅仅是将Y={y1,y2,y3,y4,y5}这5个数映射在方向
u
1
=
(
u
1
,
1
,
u
1
,
2
)
T
u_1=(u_{1,1},u_{1,2})^T
u1=(u1,1,u1,2)T上,形成排列在一条线上的5个点——
X
′
X'
X′,而不是原先成散布状的原始数据
X
X
X。