PCA降维示意以及SVD辅助作用体现

前言:仅个人小记

一、简要介绍PCA降维思想

对角化并引出正交矩阵Q

ATA=PΛP1=QΛQT{A}^{T}A=P\Lambda {P}^{-1} = Q\Lambda {Q}^{T}其中,A是m*n的矩阵,A的每一个列向量代表着一个数据样本,即A是由n个m维度的数据样本构成的数据矩阵。 Λ\Lambda是对角矩阵,且对角线上的值按降序摆放。Q是规格为nXn的正交矩阵。

借助正交矩阵Q进行降维

QTATAQ=Λ{Q}^{T}{A}^{T}AQ=\Lambda (AQ)TAQ=Λ{(AQ)}^{T}AQ=\Lambda
从Q中挑选前k个特征向量,即k个较大特征值对应的特征向量。构成k维度空间,将原来n维度的数据投影到这个k维度空间,k<n,从而实现降维,示意如下,

PCA降维示意以及SVD辅助作用体现

二、PCA 示例

前提: 规格为25*25的图像,图像的每个像素视为一个维度,即每张图像有625个维度。将图像拉直成一个625维度的向量。由4000张图像(不同字体的字母a构成),现在希望将图片从625维度降维到3维度。或者说找出3个最重要的维度。

PCA降维示意以及SVD辅助作用体现

PCA降维处理如下,

PCA降维示意以及SVD辅助作用体现

将图像按降维后得到的结果,标注在三维空间上(简陋绘制三维坐标),效果如下图,

PCA降维示意以及SVD辅助作用体现

放大一点的截图,

PCA降维示意以及SVD辅助作用体现

三、SVD 在PCA中辅助作用

SVD推导过程可见之前文章 https://blog.****.net/qq_25847123/article/details/79358598
A=UΣVTA = U\Sigma {V}^{T}ATA=VΣTUTUΣVT=VΣTΣVT{A}^{T}A=V{\Sigma}^{T}{U}^{T}U\Sigma {V}^{T}=V{\Sigma}^{T}\Sigma{V}^{T}此处对应着PCA中ATA=PΛP1=QΛQT{A}^{T}A=P\Lambda {P}^{-1} = Q\Lambda {Q}^{T}即,对应关系为,ATA=QΛQT=VΣTΣVT{A}^{T}A=Q\Lambda {Q}^{T}=V{\Sigma}^{T}\Sigma{V}^{T}Λ=ΣTΣ\Lambda ={\Sigma}^{T}\Sigma 其中,V和U都是正交矩阵。

故而,做完了SVD,得到的矩阵V就是PCA中想要的矩阵Q,故而可以通过解SVD进而完成PCA的任务。