PCA与SVD

Outline

预备知识

  • 样本实例 : x_{i}\in R^{D} 表示第i个样本,它的特征维度为D;
  • 样本矩阵 : X\in R^{N\times D}, 其中N表示样本个数,D表示样本维数;
  • 內积矩阵 : K\in R^{N\times N}元素 K_{ij} 表示样本 x_{i} 与样本 x_{j} 的相似度;
  • 协方差矩阵: S \in R^{D\times D}元素 S _{ij} 表示维度 i 与维度 j 的 协方差;
  • 正交矩阵U\in R^{m\times m}, 满足:UU^{T}=U^{T}U=I_{n}
  • 酉矩阵:    U\in C^{m\times m}, 满足:UU^{+}=U^{+}U=I_{n}U^{+}表示U的共轭转置;
  • Hermite矩阵X\in R^{N\times N}, 若 X = X^{+},其中\overline{A}表示共轭矩阵;

SVD

      设A是一个阶矩阵,其中元素均属于数域K(即实数域或者复数域),则存在一个分解使得:

                                                                                            A = U \Sigma V^{T}

其中,其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,其中Σi即为M的奇异值。

                                                              

PCA

          

  • View-1:最大化投影方差

       假定对于数据集X\in R^{N\times D} 我们打算把数据投影到一个一维空间(维度降为1维),因此需要寻找一个投影向量u\in R^{ D}。为了唯一确定该投影向量,我们对其加以限制:u^{ T}u=1.首先,计算样本均值:

                                                                                             

然后,计算投影后样本的方差:

                                                                              

其中,S表示样本协方差矩阵,定义如下:

                                                                                

考虑到投影向量u1的约束条件,我们可通过引入拉格朗日乘子,将带约束的优化问题转为无约束的优化问题:

                                                                               

上述优化目标关于u1求导置零,得到:

                                                                           , 即   

从而,所求投影向量即为样本协方差矩阵最大的特征值对应的特征向量!一般地,假设我们想要把数据投影到一个M+1维子空间,而我们已经得到了M个投影向量,则第M+1个投影向量必须与已有的M个向量线性无关,为了保证这一点,我们可以让u_{M+1}u1, ... ,uM正交【为什么?如果不正交呢?】。类似地,我们可以得到如下的目标函数:

                                                      

上述优化目标关于u_{M+1}求导置零,得到:

                                                                 

上式依次乘以u_{j}^{T} (j=1,2, ..., M),可得 \eta_{j} = 0 , (j=1,2, ..., M).因此,有:

                                                                           

即,所求的第M+1个投影向量为样本协方差矩阵的第M+1个特征值对应的特征向量。

  • View-2:最小化投影误差

       对于数据集X\in R^{N\times D}我们引入一组完备的正交基u_{i} (i=1,2, ..., D), 对于样本x_{n}而言,它在原来的坐标系(基向量)下的的坐标为{{}x_{n1}, ..., x_{nD}},则它在新的坐标系下可被表示为:

                                                                                         

u_{i} (i=1,2, ..., d)相互正交的特性可知:.于是有:

                                                                                        

我们打算:x_{n}在M<D维子空间的投影点来尽可能地逼近它在D维空间中的位置。不失一般性,假设M维子空间由正交基的前M个基构成,于是得到如下的近似点:

                                                                                

注意,这里需要说明的一点是,近似点\widetilde{x}_{n}的M+1至D的分量由剩余的正交基的线性组合来产生,这里bi对所有近似样本都取一样的值。至此,我们可以得到数据集的重构误差:

                                                                                    

最小化上述重构误差,得到: ,j = 1,2, ..., M;   ,     j = M+1, ..., D. 于是得到:

                                                                         

进一步,重构误差可以化简为:

                                                                 

类似地,考虑基的正交性和单位模的约束,不难得到:

                                                                                             

因此,为了使得重构误差最小化,应该选择最大的M的特征值对应的特征向量作为投影向量

实验结果

  • Mnist

                  

                                     

                

  • Nature image

                                 

            

                     gray_img                                  1st_pc                                      5 pcs                                         25-pc

PCA (Principal Component Analysis) 和 SVD (Singular Value Decomposition) 都是用于数据降维的重要数学工具,在机器学习和数据分析中广泛应用。它们都可以帮助我们在高维空间中找到关键特征,减少数据的复杂性和计算成本。 **PCA(主成分分析)**: 1. **基本原理**:PCA通过线性变换将原始数据投影到一组新的坐标轴上,新轴的方向对应数据方差最大的方向。通过保留主要的特征方向(即主成分),我们可以丢弃那些对数据解释度不大的维度。 2. **SVD的应用**:实际上,PCA可以通过SVD来实现,因为数据矩阵(中心化后)的SVD分解会产生正交的左奇异向量作为新坐标轴,而这些向量对应的奇异值代表了信息的重要性。 3. **降维步骤**:计算数据的协方差矩阵,然后做SVD分解得到UΣVT。前k个主成分对应矩阵U的前k列,降维后的数据就是这k列对应的原始数据乘积。 **SVD(奇异值分解)**: 1. **直接应用**:SVD本身就是将一个矩阵分解为三个部分:UΣV^T,其中U和V是对称正交矩阵,Σ是对角矩阵,包含的是数据的奇异值。奇异值反映了数据的“能量”或“影响力”。 2. **降维与重构**:SVD可用于降维,选择前k个最大的奇异值和对应的左/右奇异向量,仅使用这部分信息就可以重建近似的原始数据,从而达到降维效果。 3. **SVDPCA的关系**:当处理标准化的数据时,SVDPCA的结果相同。SVD提供了一种更通用的框架,但PCA在解释性上有优势,因为它构造的新坐标是根据数据的方差。 **相关问题--:** 1. PCA如何选择保留多少维度? 2. SVD降维在实际应用中的优势是什么? 3. 如何利用SVD进行数据的压缩存储?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值