08 主成分分析(进阶版)
标签:机器学习与数据挖掘
1.主成分定义
设随机向量
X
T
=
[
X
1
,
X
2
,
.
.
.
,
X
P
]
\mathbf{X}^{\text{T}}=\left[ X_1,X_2,...,X_P \right]
XT=[X1,X2,...,XP] 有协方差矩阵乏,其特征值$\lambda _1\geqslant \lambda _2\geqslant …\geqslant \lambda _p\geqslant 0 $。
考虑线性组合:
Y
1
=
a
1
′
X
=
a
11
X
1
+
a
12
X
2
+
.
.
.
+
a
1
p
X
p
Y
2
=
a
2
′
X
=
a
21
X
1
+
a
22
X
2
+
.
.
.
+
a
2
p
X
p
.
.
.
Y
p
=
a
p
′
X
=
a
p
1
X
1
+
a
p
2
X
2
+
.
.
.
+
a
p
p
X
p
Y_1=\boldsymbol{a}_1'\boldsymbol{X}=a_{11}X_1+a_{12}X_2+...+a_{1p}X_p \\ Y_2=\boldsymbol{a}_2'\boldsymbol{X}=a_{21}X_1+a_{22}X_2+...+a_{2p}X_p \\ ... \\ Y_p=\boldsymbol{a}_p'\boldsymbol{X}=a_{p1}X_1+a_{p2}X_2+...+a_{pp}X_p
Y1=a1′X=a11X1+a12X2+...+a1pXpY2=a2′X=a21X1+a22X2+...+a2pXp...Yp=ap′X=ap1X1+ap2X2+...+appXp
则,我们可以得到:
V
a
r
(
Y
i
)
=
a
i
′
Σ
a
i
  
i
=
1,2,...,
p
C
o
v
(
Y
i
,
Y
k
)
=
a
i
′
Σ
a
k
  
i
,
k
=
1,2,...,
p
Var\left( Y_i \right) =\boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{\varSigma a}_{\boldsymbol{i}}\,\, i=\text{1,2,...,}p \\ Cov\left( Y_i,Y_k \right) =\boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{\varSigma a}_{\boldsymbol{k}}\,\, i,k=\text{1,2,...,}p
Var(Yi)=ai′Σaii=1,2,...,pCov(Yi,Yk)=ai′Σaki,k=1,2,...,p
上式的那些
Y
1
Y_1
Y1,
Y
2
Y_2
Y2,…,
Y
p
Y_p
Yp,它们使得方差尽可能的大
第一主成分是最大方差的显著性组合,即使得$Var\left( Y_i \right)
最
大
化
。
显
然
,
最大化。显然,
最大化。显然,Var\left( Y_i \right)
会
因
为
会因为
会因为\boldsymbol{a_1}$乘以某一个常数而增大。为消除这种不确定性,一个方便的方法是值关注有单位长度的系数向量。我们因此定义:
第一主成分
=
=
= 线性组合
a
1
′
X
\boldsymbol{a}_{\boldsymbol{1}}'\boldsymbol{X}
a1′X,在
a
1
′
a
1
=
1
\boldsymbol{a}_{\boldsymbol{1}}'\boldsymbol{a}_{\boldsymbol{1}}=1
a1′a1=1时,它使
V
a
r
(
a
1
′
X
)
=
0
Var\left( \boldsymbol{a}_1'\boldsymbol{X} \right) =0
Var(a1′X)=0最大。
第二主成分 = = = 线性组合 a 2 ′ X \boldsymbol{a}_{\boldsymbol{2}}'\boldsymbol{X} a2′X,在 a 2 ′ a 2 = 1 \boldsymbol{a}_{\boldsymbol{2}}'\boldsymbol{a}_{\boldsymbol{2}}=1 a2′a2=1和 C o v ( a i ′ X , a k ′ X ) = 0 Cov\left( \boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{X,a}_{\boldsymbol{k}}'\boldsymbol{X} \right) =0 Cov(ai′X,ak′X)=0时,它使 V a r ( a 2 ′ X ) Var\left( \boldsymbol{a}_2'\boldsymbol{X} \right) Var(a2′X)最大。
…
第 i i i主成分 = = =线性组合 a i ′ X \boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{X} ai′X,和 a i ′ a i = 1 \boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{a}_{\boldsymbol{i}}=1 ai′ai=1和 C o v ( a i ′ X , a k ′ X ) = 0 ( k < i ) Cov\left( \boldsymbol{a}_{\boldsymbol{i}}'\boldsymbol{X,a}_{\boldsymbol{k}}'\boldsymbol{X} \right) =0 (k < i) Cov(ai′X,ak′X)=0(k<i)时,它使 V a r ( a i ′ X ) Var\left( \boldsymbol{a}_i'\boldsymbol{X} \right) Var(ai′X)最大。
2.重要结论:
用语言来描述结论8.2:
总体总方差
=
σ
11
+
σ
22
+
.
.
.
+
σ
p
p
=
λ
1
+
λ
2
+
.
.
.
+
λ
p
\text{总体总方差}=\sigma _{11}+\sigma _{22}+...+\sigma _{\begin{array}{c} pp\\ \end{array}} \\ =\lambda _1+\lambda _2+...+\lambda _p
总体总方差=σ11+σ22+...+σpp=λ1+λ2+...+λp
推导:
ρ
Y
i
,
X
i
=
C
o
v
(
Y
i
,
X
k
)
V
a
r
(
Y
i
)
V
a
r
(
X
k
)
=
λ
i
e
i
k
λ
i
  
σ
k
k
=
e
i
k
  
λ
i
σ
k
k
\rho _{Y_i,X_i}=\frac{Cov\left( Y_i,X_k \right)}{\sqrt{Var\left( Y_i \right)}\sqrt{Var\left( X_k \right)}}=\frac{\lambda _ie_{ik}}{\sqrt{\lambda _i}\,\,\sqrt{\sigma _{kk}}}=\frac{e_{ik}\,\,\sqrt{\lambda _i}}{\sqrt{\sigma _{kk}}}
ρYi,Xi=Var(Yi)Var(Xk)Cov(Yi,Xk)=λiσkkλieik=σkkeikλi
理解:这其实是按照相关系数的算法,算出的东西叫做信息量。
6.解释
首先,我们知道对一个矩阵的谱分解意味着对这个所在的n维图形找出它的特征。若是2维的一个椭圆,即是找出它的长短轴,而实际上,主成分同样。考虑一个二元正态随机向量:
我们可以看到,对于此图形,我们对其做主成分分析(也是谱分解)实际的操作就是找出其长短轴,也就是它的特征,并以此为基础进行变换。对于p维而已,减少其轴的数量也就是减少其维度。
当然,我们现在针对一下这个2维数据,可以发现其长轴方向就是其方差最大化的地方。
7.代码实现
R的话,参考本博客 R语言 里面 第四站的内容。