PCA基本原理
1.引入及理解
What
PCA(主成分分析)是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。
Why
多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性。
How
在许多实际问题中,多个变量之间是具有一定的相关关系的。因此,在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息?
几何解释

此情况下,对于上图的数据分布,数据较较分散的分布在X2上,X1方向上的数据取值近似,将数据在X1上的取值去掉,保留在X2上的取值。

此情况下,对于原先的X1、X2坐标系下,数据在X1和X2上的取值都比较均匀,去掉任一坐标维度对数据都有很大的影响(导致数据重叠)。对于新建的y1、y2红色坐标系,这个问题就同图1问题了,保留数据在y1上取值信息,去掉数据在y2上的取值信息。
从几何解释中可以得出:
主成分分析可以让数据的投影到那些数据分布比较分散的维度上,如上图的y1,忽视数据分布较集中的维度,如上图的y2,保留较少的维度表示数据,进而达到降维的目的。
2.问题
如何可以将数据投影到分布分散的平面内,而忽略掉分布集中的平面。如上面的图2,大部分数据投影到y1坐标系中的话,数据分布会比较分散,投影到x1、x2等其他坐标轴分布会相对集中,其中,投影到y2上面分布最集中。所以我们尽可能将数据转化到红色坐标系,然后去掉y2坐标 ?
3.PCA原理
主成分:这些互相正交的新变量(上图y1,y2)是原先变量的线性组合(矩阵变换),叫做主成分。(principal component)。
从几何解释可以看出:
第一个要求:使得样本在选择的基底(坐标轴)上尽可能的分散。
我们知道方差可以用来表示数据之间的离散程度,那么要求数据在基底上分散即就是样本在这个基底上的坐标的方差(数据之间的离散程度)尽可能大。
第二个要求:使得各个选择的基底关联程度最小。(正交)
协方差矩阵定义:对n个维度,任意两个维度都计算一个协方差,组成矩阵,定义如下:
直观的对于一个含有x,y,z三个维度的样本,协方差矩阵如下:
类比上式,可以得出,对于原mxn大小的样本矩阵,其协方差矩阵的对角线代表了原来样本在各个维度上的方差,其他元素代表了各个维度之间的协方差。
对于上述两点要求,也就是经过PCA处理后的数据矩阵,它的协方差矩阵,对角线上的元素数值大(方差大,满足第一点要求),对角线以外的元素为0(协方差为零,选择的基底正交,满足第二点要求)。即处后的数据矩阵协方差为对角阵形式。
假设对于原始数据矩阵,经PCA降维后的矩阵
,要使得Y的协方差矩阵为
的形式,有:
由以上形式知:经PCA处理后的矩阵中的
即就是原始矩阵
的协方差矩阵
每个特征值对应特征向量组成的特征矩阵。
的特征值
从小到大排列后,取前
大特征值对应的特征向量组成矩阵
,
即为保留主成分个数为的降维后的矩阵,通常
。
4.最好的k和误差
可解释性方差大小:即特征矩阵中每个新特征向量所带的信息量大小,所对应的特征值越大,方差越大,信息量越大。
可解释性方差贡献率:降维后每个新特征向量所占的信息量占原始数据总信息量的百分比。
观察实际所需指标随着k的阈值选取的变化情况,择优选取。
假设选取前主成分,降维后的矩阵即为
对于上式 :为经过PCA降维后再重构的矩阵。
假设: ,
,取
的2列,即就是k=2,得
由(1)得,
的广义右逆矩阵
可得:
所以, ,且重构的误差来源于,降维后P矩阵信息的丢失,求时的不可还原。
5.算法步骤
设有m条n维数据。
1.样本矩阵
2.将X的每一列进行零均值化,即减去这一列的均值,得到矩阵;(为求协方差矩阵)
3.求出协方差矩阵
4.求出协方差矩阵的特征值以及对应的特征向量
5.将特征向量按对应特征值大小按列组成矩阵,取前k列组成矩阵
6.即为降维到
维后的数据。
对于图像数据的重构,通过步骤6,由可得。
6.应用举例
a.鸢尾花数据(150x4),有三类品种,4个特征,花萼长度、宽度、花瓣长度、宽度
经PCA降维至2,即150x2, 进行可视化。

b.人脸数据 1348x62x47(1348x2914)
原始图片

选择降维至150,维度2914x150,查看
(新的特征空间)图像:

降维后还原到原空间得到的数据和原始图像:(第一行为原始图像,第二行为降维后还原图像)

代码。
网友评论