1.主成分分析法思想及原理
1.1 什么是主成分分析法
PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法(非监督的机器学习方法)。其最主要的用途在于“降维”,通过析取主成分显出的最大的个别差异,发现更便于人类理解的特征。也可以用来削减回归分析和聚类分析中变量的数目。
1.2 为什么要做主成分分析
在很多场景中需要对多变量数据进行观测,在一定程度上增加了数据采集的工作量。更重要的是:多变量之间可能存在相关性,从而增加了问题分析的复杂性。因此需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。主成分分析与因子分析就属于这类降维算法。
1.3 主成分分析法的思想
PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。
1.4 主成分分析法的步骤
1.样本归0
2.找到样本点映射后方差最大的方向向量w.
最后转为求目标函数的最优化问题:
求w,使得由于是求最大值,可以使用梯度上升来解决。
2. PCA算法的实现及应用
2.1 求梯度:
2.2. 求解注意事项:
1.在每次计算前对分量进行处理,使其变为模长为1的单位向量。
2.主成分分析中的初始值不能为0.
3. 数据降维应用
3.1 降噪
为什么使用PCA可以降噪?因为在使用PCA降维时,已经丢失了部分的信息(忽略了解释方差比例)。因此在还原时,只能保证维度相同。会尽最大可能返回原始空间,但不会跟原来的数据一样。这样一来一回之间,丢失掉的信息,就相当于降噪了。对制造的数据先降维,后还原,就可以去除噪音了。
3.2 人脸识别
PCA将样本X从n维空间映射到k维空间,求出前k个主成分,。一个的矩阵,在经过主成分分析之后,一个的主成分矩阵。如果将主成分矩阵也看成是由k个样本组成的矩阵,那么可以理解为第一个样本是最重要的样本,以此类推。
在人脸识别领域中,原始数据矩阵可以视为有m个人脸样本的集合,如果将主成分矩阵每一行也看做是一个样本的话,每一行相当于是一个由原始人脸数据矩阵经过主成分分析得到的“特征脸”(Eigenface)矩阵,这个矩阵含有k个“特征脸”。每个“特征脸”表达了原有样本中人脸的部分特征。