(《机器学习》完整版系列)第10章 降维与度量学习——10.5 主成分分析的目标求解(“丢掉不重要属性”是错误的)

前两篇我们讨论了主成分分析的优化目标,有了优化目标,剩下的就是数学求解了。
“主成分”从字面上易理解为“保留主要属性,丢掉不重要的属性”,显然,这种理解是错误的。 它是“丢掉”(截断),但不是针对 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(WTWI)=tr([wiTXXTwj]ij)+([λi]i)T([wiTwi1]i)=i=1dwiTXXTwi+i=1dλi(wiTwi1)=i=1d(λiwiTwiwiTXXTwi1)(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} wkL(W,λ)=wki=1d(λiwiTwiwiTXXTwi1)=wk(λkwkTwkwkTXXTwk1)+wki=k()=2λkwk2XXTwk(10.57)
∂ L ( W , λ ) ∂ w k = 0 \frac{\partial L(\mathbf{W},\boldsymbol{\lambda })}{\partial \boldsymbol{w}_k}=0 wkL(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λd0

再应用条件 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λd0,再求出对应的特征向量组: ( 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^)=dwimax tr(WTXXTW)=dλimax tr(Λ)(由式(10.60)=dλimaxi=1dλi=i=1dλ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么?错!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值