一、PCA作用(意义, 为啥要提出这个东西?)
大概主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。
二、PCA核心思想
最大可分性:样本点在这个超平面上的投影能尽可能的分开
三、PCA算法流程
1、本质上而言, PCA是一种基变换的方法, 只是在变换的时候, 对基有“最大可分性”的要求, 什么是基变换?
一般来说,欲获得原始数据新的表示空间,最简单的是对原始数据进行线性变换(基变换):
Y = PX
其中***Y***是样本在新空间的表达,***P***是基向量,X 是原始样本。我们可知选择不同的基可以对一组数据给出不同的表示,同时当基的数量少于原始样本本身的维数则可达到降维的效果,矩阵表示如下:
最后,上述分析同时给矩阵相乘找到了一种物理解释:两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。很多同学在学线性代数时对矩阵相乘的方法感到奇怪,但是如果明白了矩阵相乘的物理意义,其合理性就一目了然了。
2、基筛选的优化目标(方差最大的基)
那么考虑,如何选择一个方向或 者基才是最优的?我们将所有的点分别向不同的基做投影,基于前面PCA最大可分思想,我们要找的方向是降维后损失最小,可以理解为投影后的数据尽可能的分开(最大可分性),那么这种分散程度可以用数学上的方差来表示,方差越大数据越分散。
3、基筛选的方法
我们希望多个基尽可能表示更多的信息,但是不存在相关性. 使用协方差来判断, 协方差为0, 表示两个基完全独立。通过构建协方差矩阵, 并将其对角化的方法(使得
P
C
P
T
PCP^T
PCPT是一个对角矩阵), 会得到一个矩阵P, 并且对角矩阵元素按从大到小依次排列, 那么P的前K行就是要寻找的基,用 P的前K行组成的矩阵乘以 X 就使得 X 从 N维降到了 K维。
4、算法流程总结
⚠️注意: PCA筛选基, 可以指定选择特征值最大对应的前前K个特征向量,也可以根据新基与原始数据特征的比值来确定.
四、PCA算法的优缺点
PCA算法的主要优点有:
(1) 仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
(2) 各主成分之间正交,可消除原始数据成分间的相互影响的因素。
(3) 计算方法简单,主要运算是特征值分解,易于实现。
PCA算法的主要缺点有:
(1) 主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。(属性模糊)
(2) 方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。(表现性能低)
五、相关问题介绍
1、SVD是PCA的一种求解方式, 简化了计算.
在PCA降维过程中,当进行协方差矩阵上求解特征值时,如果面对维度数据时,可想而知耗费的计算量程平方级增长。面对这样一个难点,从而引出奇异值分解(SVD).
2、LDA不是遵循最大可分性原则, 而是让映射后的样本具有最好的分类性能, 是有监督降维方法.
PCA(主成分分析)和LDA(线性判别分析)有很多的相似点,其本质是要将初始样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。