数据压缩(二.2)——主成分分析(PCA)原理
PCA的步骤:
设有m条n维数据
- 将原始数据按列组成n行m列矩阵X。
- 将X的每一行(代表一个属性字段)进行零均质化,即减去这一行的均值。
- 求出协方差矩阵。
- 求出协方差矩阵的特征值及对应的特征向量。
- 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。
- 即为降维到k维后的数据。
PCA的背景知识
1. PCA问题的等价
PCA(主成分分析)可以等价为线性代数中的基变换。
2. 噪音
在PCA中,假设变化较大的信号被认为是信号,变化较小的则是噪音(由低通滤波器的原理类似得来)。
变化的大小是由方差来描述的。
3. 冗余和协方差矩阵
假设为两个向量的情况。若两个向量线性无关,相互独立,那么冗余度为零。易知,冗余度和相关度之间为相反的关系。冗余度越大,可降维的空间越大。
而线性代数中常常使用协方差矩阵来衡量两个向量之间的相关程度。
协方差矩阵是一个平方对称矩阵。对角线上的元素是对应的观测变量的方差。非对角线上的元素是对应的观测变量之间的协方差。
在对角线上的元素越大,就意味着方差越大,即信号的重要性越高。
总结:
协方差矩阵中,对角线上的元素越大,表明信号越强,变量的重要性越高;对角线上的元素越小,表明信号是噪音的可能性越大。在非对角线上的元素大小是信号之间相关度的衡量,即冗余度的衡量。
4. 协方差矩阵的对角化
根据以上知识,可以得知,PCA的目标是:
- 使得冗余最小,即对应于协方差矩阵的非对角元素要尽量小;
- 使得信号最大,即对应于协方差矩阵对角线元素尽可能大。
而协方差矩阵的每个元素都是非负数,所以最好的情况是,使得最终形成的协方差矩阵为对角阵。
假设变换基是标准正交的,对角线上的元素越大,说明信号的可能性越高。
5. PCA等价问题的细化
根据以上分析,可以将PCA重新进行等价:
寻找一组正交基组成的矩阵,有使得是对角阵。
对进行推导:
PCA的局限
根据上述推导过程,我们很容易发现PCA依然存在着很大的局限性:
- PCA是采用的矩阵的方式,其内部机理是线性的,对于非线性问题的解决有着较大的局限。
- PCA假设了信号与方差之间的关系,而这种概率的表述只限于指数型概率分布模型,如果考察的数据的概率分布不满足指数型概率分布模型,那么PCA将会失效。