深入理解PCA原理

基于之前谈的SVD,说一下PCA的原理.

PCA主要的作用是用于降维的,目前降维方法很多,PCA只是比较古老经典的一种。

令样本空间(假设已经中心化)为

                                                                       X = \begin{pmatrix} x_1\\ ...\\ x_m \end{pmatrix}_{m\times n}}=A ,x属于n维的行向量,每行代表一个样本

PCA的思路是找到一组正交基(v1,...vr),r<n,r小于等于A的秩,将x从n维度降到r维度,并且要尽量保持x的方差,通俗地说,就是尽量保持原有数据当中的信息。

首先,讲一下计算方法

由SVD原理,我们已经知道A可以作如下分解

                                                                            A = U\Sigma V^T

其中  U,V分别 属于矩阵  AA^T,A^TA 的特征向量空间。需要指出的是,这两个相关矩阵的意义并不相同,前者表示的是样本之间的相关性,后者表示的是维度之间的相关性。

对于样本x,经过V空间投影后,x在V空间坐标为y,则有

                                                                               y = x_{1\times n}V_{n\times r}

到此,我们可以看到PCA的投影仅仅用到了A地右奇异矩阵当中的前r维特征向量,实现了x的降维。

对于样本空间A的PCA过程也很简单

                                                                       

                                                                                AV_{n\times k} = U\Sigma_{m\times k}

我们可以理解用右奇异矩阵的前k列特征向量,作为A的投影轴,提取A中的主要信息。那么为什么右奇异矩阵的列向量作为PCA的主要投影轴呢?下面用几种方法去证明上述的过程

方法一 二次型

令w为单位列向量,A到w的投影为\left \| Aw \right \|,要求\left \| Aw \right \|最大值,只要求得\left \| Aw \right \|^2

\left \| Aw \right \|^2 = (Aw)^T(Aw) = w^TA^TAw\left \| w^Tw \right \| = 1

A^TA = V\Sigma V^T, V为正交的单位特征向量矩阵

w^TA^TAw = w^TV\Sigma V^Tw

令对角矩阵\Sigma中的特征值为  \lambda_1,...,\lambda_r,特征值非负,且从大到小排列,z = w^TV,则有zz^T = 1

t = w^TV\Sigma V^Tw = z\Sigma z^T = \sum \lambda_i z_i^2 ,\lambda_r\leq t\leq \lambda_1

z取(1,0,0,....),t可以达到\lambda_1,此处,\left \| Aw \right \|投影最大,依次,第二个正交轴z取(0,1,0,....),达到第二大,依次类推。

\left \| Aw \right \|的最小值在第r个投影轴上投影是得到

方法二 拉格朗日乘子法

\left \| Aw \right \|^2 = (Aw)^T(Aw) = w^TA^TAw ,\left \| w^Tw \right \| = 1,令    S = A^TA

L = w^TSw +\lambda(1-w^Tw)

\frac{\partial L}{\partial w} = 2Sw - 2\lambda w \Rightarrow Sw = \lambda w

极值点全部位于特征向量处。

方法三 最小损失

前面的方法都是基于找到最大投影空间,通过前面的论述我们已经知道,假设A的特征值为\lambda_1,...,\lambda_r, 从大到小排列

第一个特征值的投影值是最大的,依次类推,从另一个角度来看,最后一个投影值是最小的,PCA实际过程可以描述为去掉这些投影最小的特征向量,然后重新去构建数据

令目标正交投影空间为W = [w1,....,wr],

对于任意样本x,它的重建结果为

                                                                  \widehat{x}= \sum_{1}^{r}\(w_i^Txw_i)

                                                                \widehat{A}= \sum_iw_i^TAw_i

假设\widehat{A}由W中前r-1个轴构建,那么,损失可以表示为

                                                             \left \| A-\hat{A} \right \| = \left \| w_r^TAw_r\right \|

问题仍然可以转化为求\left \| Aw \right \|最小值,降维过程可以理解去掉数据中最小方差的部分,而协方差矩阵的特征值刚好可以表达数据在各个特征向量上的方差,特征值越大,方差越大,反之亦然,因此,很好的满足了利用特征向量降维的目的。

 

另外,还有一个视角,将X矩阵视为一个多变量矩阵,它的多元分布函数密度可以表示为

                          p(x) = Cexp[(-\frac{1}{2}(x-\mu )^T(A^TA)^{-1} (x- \mu )]

C为常数,便于讨论这里省略

 

                            S = A^TA = V\Sigma V^T \Rightarrow S^{-1} = V\Sigma^{-1} V^T

令 

                            K = S^{1/2} = V\Sigma^{1/2} V^T\Rightarrow S^{-1} = (K*K)^{-1}

代入上式子到密度函数当中

                           p(x) = Cexp[(-\frac{1}{2}(x-\mu )^T(K^{-1}*K^{-1}) (x- \mu )]

                         p(x) = Cexp[-\frac{1}{2}(K^{-1}(x-\mu ))^T(K^{-1} (x- \mu ))]

                       y = K^{-1} (x- \mu )  

原式有

                      p(x) = Cexp[-\frac{1}{2}(y^Ty)]

                     x = Ky+\mu

          x本身是一个非独立的多元正态分布,经过坐标变换, x投影到K所对应的各个特征向量为新坐标的各个变量的独立分布。

通过K中的特征值,我们可以知道x在各个的轴向上的方差

                                                                                                                                                    

参考:

   

          PCA                https://www.optbbs.com/thread-229078-1-1.html

          多元高斯分布  https://www.cnblogs.com/bingjianing/p/9117330.html

           

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值