目录
概述
PCA(Principal Component Analysis),即主成分分析方法,也称为主分量分析,是一种使用最广泛的数据降维算法。PCA通过线性变换将原始数据(n维特征)变换为一组各维度(k维特征)线性无关的数据,其中k维特征是全新的正交特征也被称为主成分。
在降维过程中,应该要求在减少数据特征的同时减少原特征包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量之间存在一定的相关关系,考虑将关系紧密的特征变成尽可能少的特征,使这些新特征是两两不相关的,那么就可以用较少的综合特征分别代表存在于各个变量中的各类信息。主成分分析就属于这类降维算法。
但存在这样的一个问题,到底删除哪一列损失的信息才最小?也或者根本不是单纯删除几列,而是通过某些变换将原始数据变为更少的列且又使得丢失的信息最小?到底如何度量丢失信息的多少?如何根据原始数据决定具体的降维操作步骤?
要回答上面的问题,就要对降维问题进行数学化和形式化的讨论。而PCA是一种具有严格数学基础并且已被广泛采用的降维方法。
PCA有两种通俗易懂的解释:(1)最大方差理论(2)最小化降维造成的损失。
就最大方差理论,对PCA进行数学原理讨论。
最大方差理论
讨论原理是从直接下面这篇博客搬运来的。
http://blog.codinglabs.org/articles/pca-tutorial.html
所以原理直接去篇博客看吧,本来想搬过来,发现公式太多了,懒得自己手写了,针对上述博客,做一些SVD奇异值分解的补充。[一定要看上述博客,要不然下面就看不懂]
1.3 PCA算法总结及奇异值分解应用
由PCA原理讲述可知,PCA本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据“离相关”,也就是让它们在不同正交方向上没有相关性。运用协方差矩阵,通过计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,选择特征值最大(即方差最大)的k个特征所对应的特征向量组成的矩阵。这样就可以将数据矩阵转换到新的空间当中,实现数据特征的降维。
求解有两种方法:特征值分解协方差矩阵、奇异值分解协方差矩阵,故PCA算法有两种实现方法ÿ