PCA和单位球面上二次型的极大化

PCA的推导有两个方向,一种是极大化投影后数据的方差(信息),另一种是极小化投影的均方误差。

极大化投影后方差

直观来讲,数据一开始就含有一定数量的方差/信息 ,在这个思路下,我们希望找到一些方向,使得把数据往这些方向投影后,能最大限度地保留原有信息(方差),又能比原数据稍显精简。
PCA和单位球面上二次型的极大化
PCA和单位球面上二次型的极大化
图上这两个方向,很明显u1u_1u2u_2保存了更多信息,数据点的方差更大,u1u_1就是我们更想要的。
在继续推导之前,先引入一个定理:
单位球面上点的二次型的极大化(《实用多元统计分析》p62)
Bp×pB_{p\times p}是正定矩阵,特征值为λ1λ2λp0\lambda_1\geq \lambda_2\geq\cdots\geq\lambda_p\geq0,对应特征向量为e1,e2,,epe_1,e_2,\cdots,e_p,则
maxx0xBxxx=λ1,(x=e1)\max_{x\neq0}\frac{x'Bx}{x'x}=\lambda_1,\qquad(x=e_1)
minx0xBxxx=λp,(x=ep)\min_{x\neq0}\frac{x'Bx}{x'x}=\lambda_p,\qquad(x=e_p)
maxxe1,,ekxBxxx=λk+1,(x=ek+1)\max_{x\perp e_1,\cdots,e_k}\frac{x'Bx}{x'x}=\lambda_{k+1},\qquad(x=e_{k+1})
下面回到PCA,以二维为例,PCA想要做的,就是找到一个单位向量uu,使各数据点xix_iu1u_1上的投影xiTux_i^T u达到最大
max1mi=1m(xiTu)2=1mi=1muTxixiTu=uT(1mi=1mxixiT)u=uTΣu\max \frac{1}{m}\sum_{i=1}^m (x_i^Tu)^2=\frac{1}{m}\sum_{i=1}^mu^Tx_ix_i^Tu\\ =u^T(\frac{1}{m}\sum_{i=1}^mx_ix_i^T)u=u^T\Sigma u
其中Σ\Sigma为协方差阵。这个形式是不是和上面定理中一模一样(uu为单位向量,uu=u2=1u'u=\|u\|^2=1)?
所以由定理,我们可以直接知道,选取u=e1u=e_1是,上式得到最大化,值为λ1\lambda_1
另一种推导方法是用拉格朗日乘子法,我们想要
maxuTΣu,subject to uu=1\max u^T\Sigma u,\quad \text{subject to } u'u=1
将其改写为拉格朗日乘子的形式
L=uTΣuλ(uu1)Lu=2Σuλ(2u)=0Σu=λuL=u^T\Sigma u-\lambda (u'u-1)\\ \frac{\partial L}{\partial u}=2\Sigma u-\lambda(2u)=0\\ \Rightarrow \Sigma u=\lambda u
这就意味着uuΣ\Sigma对应特征值为λ\lambda的特征向量,λ\lambda最大可以取成λ1\lambda_1