前两篇我们讨论了主成分分析的优化目标,有了优化目标,剩下的就是数学求解了。
“主成分”从字面上易理解为“保留主要属性,丢掉不重要的属性”,显然,这种理解是错误的。 它是“丢掉”(截断),但不是针对
x
\boldsymbol{x}
x而是针对
z
\boldsymbol{z}
z,前者的分量是样本的属性,后者的分量已是各属性的混合体
目标求解
在10.3 主成分分析的优化目标(坐标变换的魔力)
10.4 主成分分析的优化目标另一推导(投影点尽可能分开)中,我们已导出了主成分分析的优化目标式(10.33),再写一遍,即
min
W
^
−
t
r
(
W
^
T
X
X
T
W
^
)
s
.
t
.
W
^
T
W
^
=
I
d
′
\begin{align} \mathop{\min}\limits_{\hat{\mathbf{W}}} & \ -\mathrm{tr}(\hat{\mathbf{W}}^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\hat{\mathbf{W}}) \tag{10.52} \\ \mathrm{s.t.} & \quad \hat{\mathbf{W}}^{\mathrm{T}}\hat{\mathbf{W}}=\mathbf{I}_{d'}\notag \end{align}
W^mins.t. −tr(W^TXXTW^)W^TW^=Id′(10.52)
我们知道,
W
^
\hat{\mathbf{W}}
W^为
W
\mathbf{W}
W的截断,故式(10.52)中的函数可视为式(10.55)中的函数被超平面所截,故可转化为求解式(10.55)。
min
W
−
t
r
(
W
T
X
X
T
W
)
s
.
t
.
W
T
W
=
I
\begin{align} \mathop{\min}\limits_{\mathbf{W}} & \ -\mathrm{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\mathbf{W}) \tag{10.53} \\ \mathrm{s.t.} & \quad \mathbf{W}^{\mathrm{T}}\mathbf{W}=\mathbf{I}\notag \end{align}
Wmins.t. −tr(WTXXTW)WTW=I(10.53)
这里我们用大家熟悉的拉格朗日乘子法。
L
(
W
,
λ
)
=
−
t
r
(
W
T
X
X
T
W
)
+
λ
T
(
W
T
W
−
I
)
=
−
t
r
(
[
w
i
T
X
X
T
w
j
]
i
j
)
+
(
[
λ
i
]
i
)
T
(
[
w
i
T
w
i
−
1
]
i
)
=
−
∑
i
=
1
d
w
i
T
X
X
T
w
i
+
∑
i
=
1
d
λ
i
(
w
i
T
w
i
−
1
)
=
∑
i
=
1
d
(
λ
i
w
i
T
w
i
−
w
i
T
X
X
T
w
i
−
1
)
\begin{align} L(\mathbf{W},\boldsymbol{\lambda }) & =-\mathrm{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\mathbf{W})+\boldsymbol{\lambda }^{\mathrm{T}}(\mathbf{W}^{\mathrm{T}}\mathbf{W}-\mathbf{I})\notag \\ & =-\mathrm{tr}([\boldsymbol{w}_i^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_j]_{ij})+([{\lambda }_i]_i)^{\mathrm{T}}([\boldsymbol{w}_i^{\mathrm{T}}\boldsymbol{w}_i-1]_i)\notag \\ & =-\sum_{i=1}^d\boldsymbol{w}_i^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_i+\sum_{i=1}^d{\lambda }_i(\boldsymbol{w}_i^{\mathrm{T}}\boldsymbol{w}_i-1)\notag \\ & =\sum_{i=1}^d({\lambda }_i\boldsymbol{w}_i^{\mathrm{T}}\boldsymbol{w}_i-\boldsymbol{w}_i^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_i-1) \tag{10.54} \end{align}
L(W,λ)=−tr(WTXXTW)+λT(WTW−I)=−tr([wiTXXTwj]ij)+([λi]i)T([wiTwi−1]i)=−i=1∑dwiTXXTwi+i=1∑dλi(wiTwi−1)=i=1∑d(λiwiTwi−wiTXXTwi−1)(10.54)
先对涉及的导数做些准备。
【西瓜书附录式(A.32)】中,令
b
=
0
,
A
=
I
,
w
=
M
,
x
=
α
\boldsymbol{b}=0,\mathbf{A}=\mathbf{I},\boldsymbol{w}=\mathbf{M},\boldsymbol{x}=\boldsymbol{\alpha }
b=0,A=I,w=M,x=α,则有
∂
α
T
M
α
∂
α
=
2
M
α
∂
α
T
α
∂
α
=
2
α
\begin{align} \frac{\partial \boldsymbol{\alpha }^{\mathrm{T}}\mathbf{M }\boldsymbol{\alpha }}{\partial \boldsymbol{\alpha }} & =2\mathbf{M }\boldsymbol{\alpha } \tag{10.55} \\ \frac{\partial \boldsymbol{\alpha }^{\mathrm{T}}\boldsymbol{\alpha }}{\partial \boldsymbol{\alpha }} & =2\boldsymbol{\alpha } \tag{10.56} \end{align}
∂α∂αTMα∂α∂αTα=2Mα=2α(10.55)(10.56)
对式(10.54)求导,并应用式(10.56)、式(10.55),则有
∂
L
(
W
,
λ
)
∂
w
k
=
∂
∂
w
k
∑
i
=
1
d
(
λ
i
w
i
T
w
i
−
w
i
T
X
X
T
w
i
−
1
)
=
∂
∂
w
k
(
λ
k
w
k
T
w
k
−
w
k
T
X
X
T
w
k
−
1
)
+
∂
∂
w
k
∑
i
≠
k
(
⋯
)
=
2
λ
k
w
k
−
2
X
X
T
w
k
\begin{align} \frac{\partial L(\mathbf{W},\boldsymbol{\lambda })}{\partial \boldsymbol{w}_k} & =\frac{\partial }{\partial \boldsymbol{w}_k}\sum_{i=1}^d({\lambda }_i\boldsymbol{w}_i^{\mathrm{T}}\boldsymbol{w}_i-\boldsymbol{w}_i^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_i-1)\notag \\ & =\frac{\partial }{\partial \boldsymbol{w}_k}({\lambda }_k\boldsymbol{w}_k^{\mathrm{T}}\boldsymbol{w}_k-\boldsymbol{w}_k^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_k-1)+\frac{\partial }{\partial \boldsymbol{w}_k}\sum_{i\neq k}(\cdots )\notag \\ & =2{\lambda }_k\boldsymbol{w}_k-2\mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_k \tag{10.57} \end{align}
∂wk∂L(W,λ)=∂wk∂i=1∑d(λiwiTwi−wiTXXTwi−1)=∂wk∂(λkwkTwk−wkTXXTwk−1)+∂wk∂i=k∑(⋯)=2λkwk−2XXTwk(10.57)
令
∂
L
(
W
,
λ
)
∂
w
k
=
0
\frac{\partial L(\mathbf{W},\boldsymbol{\lambda })}{\partial \boldsymbol{w}_k}=0
∂wk∂L(W,λ)=0,得
X
X
T
w
k
=
λ
k
w
k
,
k
=
1
,
2
,
⋯
,
d
\begin{align} \mathbf{X}\mathbf{X}^{\mathrm{T}}\boldsymbol{w}_k={\lambda }_k\boldsymbol{w}_k,\quad k=1,2,\cdots,d \tag{10.58} \end{align}
XXTwk=λkwk,k=1,2,⋯,d(10.58)
将式(10.58)的
d
d
d个方程并成一个方程,即
X
X
T
(
w
1
,
w
2
,
⋯
,
w
d
)
=
(
λ
1
w
1
,
λ
2
w
2
,
⋯
,
λ
d
w
d
)
X
X
T
W
=
W
Λ
\begin{align} \mathbf{X}\mathbf{X}^{\mathrm{T}}(\boldsymbol{w}_1,\boldsymbol{w}_2,\cdots,\boldsymbol{w}_d) & =({\lambda }_1\boldsymbol{w}_1,{\lambda }_2\boldsymbol{w}_2,\cdots,{\lambda }_d\boldsymbol{w}_d)\notag \\ \mathbf{X}\mathbf{X}^{\mathrm{T}}\mathbf{W} & =\mathbf{W}\boldsymbol{\Lambda } \tag{10.59} \end{align}
XXT(w1,w2,⋯,wd)XXTW=(λ1w1,λ2w2,⋯,λdwd)=WΛ(10.59)
其中,
Λ
=
d
i
a
g
[
λ
1
,
λ
2
,
⋯
,
λ
d
]
,
λ
1
⩾
λ
2
⩾
⋯
⩾
λ
d
⩾
0
\boldsymbol{\Lambda }=\mathrm{diag}[{\lambda }_1,{\lambda }_2,\cdots,{\lambda }_d],{\lambda }_1\geqslant {\lambda }_2\geqslant \cdots\geqslant {\lambda }_d\geqslant 0
Λ=diag[λ1,λ2,⋯,λd],λ1⩾λ2⩾⋯⩾λd⩾0。
再应用条件
W
T
W
=
I
\mathbf{W}^{\mathrm{T}}\mathbf{W}=\mathbf{I}
WTW=I,则有
X
X
T
=
W
Λ
W
T
\begin{align} \mathbf{X}\mathbf{X}^{\mathrm{T}}=\mathbf{W}\boldsymbol{\Lambda }\mathbf{W}^{\mathrm{T}} \tag{10.60} \end{align}
XXT=WΛWT(10.60)
式(10.60)对照10.2 低维嵌入式(10.13),即式(10.58)中 λ k {\lambda }_k λk为矩阵 X X T \mathbf{X}\mathbf{X}^{\mathrm{T}} XXT的特征值组成,而 w k \boldsymbol{w}_k wk为对应的特征向量( k = 1 , 2 , ⋯ , d k=1,2,\cdots,d k=1,2,⋯,d),故问题转化为对矩阵 X X T \mathbf{X}\mathbf{X}^{\mathrm{T}} XXT进行特征分解,在协方差矩阵的特征值中给出了方法。
由此,优化问题式(10.55)就可以得到解决(参考式(10.17)):
对矩阵 X X T \mathbf{X}\mathbf{X}^{\mathrm{T}} XXT进行特征分解,得到从大到小排列的特征值: λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ d ⩾ 0 {\lambda }_1\geqslant {\lambda }_2\geqslant \cdots\geqslant {\lambda }_d\geqslant 0 λ1⩾λ2⩾⋯⩾λd⩾0,再求出对应的特征向量组: ( w 1 , w 2 , ⋯ , w d ) ({\boldsymbol{w} }_1,{\boldsymbol{w}}_2,\cdots,{\boldsymbol{w}}_d) (w1,w2,⋯,wd),由此组成变换矩阵 W \mathbf{W} W。
现在回到优化问题式(10.52):
max
W
^
t
r
(
W
^
T
X
X
T
W
^
)
=
max
取
d
′
个
w
i
t
r
(
W
T
X
X
T
W
)
=
max
取
d
′
个
λ
i
t
r
(
Λ
)
(由式(10.60))
=
max
取
d
′
个
λ
i
∑
i
=
1
d
λ
i
=
∑
i
=
1
d
′
λ
i
(由于
λ
i
已按从大到小排序)
\begin{align} \mathop{\max}\limits_{\hat{\mathbf{W}}}\ \mathrm{tr}(\hat{\mathbf{W}}^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}\hat{\mathbf{W}}) & =\mathop{\max}\limits_{\text{取$d'$个$\boldsymbol{w}_i$}}\ \mathrm{tr}({\mathbf{W}}^{\mathrm{T}}\mathbf{X}\mathbf{X}^{\mathrm{T}}{\mathbf{W}})\notag \\ & =\mathop{\max}\limits_{\text{取$d'$个${\lambda }_i$}}\ \mathrm{tr}(\boldsymbol{\Lambda })\quad \text{(由式(10.60))}\notag \\ & =\mathop{\max}\limits_{\text{取$d'$个${\lambda }_i$}}\sum_{i=1}^{d}{\lambda }_i\notag \\ & =\sum_{i=1}^{d'}{\lambda }_i\quad \text{(由于${\lambda }_i$已按从大到小排序)} \tag{10.61} % &\quad \text{(由于${\lambda }_i$已按从大到小排序,故应取前在的$d'$个)}\notag \end{align}
W^max tr(W^TXXTW^)=取d′个wimax tr(WTXXTW)=取d′个λimax tr(Λ)(由式(10.60))=取d′个λimaxi=1∑dλi=i=1∑d′λi(由于λi已按从大到小排序)(10.61)
由式(10.61)知,取前
d
′
d'
d′个特征值对应的特征向量,组成对应的矩阵
W
^
d
×
d
′
\hat{\mathbf{W}}_{d\times d'}
W^d×d′,即为优化问题式(10.52)的解。 这时,就可以用其进行降维,即对于
d
d
d维原始空间中的样本
x
\boldsymbol{x}
x,通过变换式
z
^
=
W
^
T
x
\hat{\boldsymbol{z}}=\hat{\mathbf{W}}^{\mathrm{T}}\boldsymbol{x}
z^=W^Tx得到超平面
W
^
\hat{\mathbf{W}}
W^中的样本
z
^
\hat{\boldsymbol{z}}
z^。
这即为主成分分析算法(PCA),归纳成【西瓜书图10.5】。
注:“主成分”从字面上易理解为“保留 x \boldsymbol{x} x的主要属性,丢掉不重要的属性”,显然,这种理解是错误的。 它是“丢掉”(截断),但不是针对 x \boldsymbol{x} x而是针对 z \boldsymbol{z} z,前者的分量是样本的属性,后者的分量已是各属性的混合体(由10.3 主成分分析的优化目标中式(10.21)进行混合)。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:10.4 主成分分析的优化目标另一推导(投影点尽可能分开)
下一篇:10.6 图像压缩(图像坐标x压缩成了坐标z么?错!)