PCA(Principal Components Analysis)即主成分分析,是几种降维的方法之一,经常应用在图像处理方面。
它和SIFT的联系是:前面几步,先是高斯模糊,建立高斯金字塔和高斯差分金字塔,然后最值的选择,排除边缘不稳定点和剧变不够激烈的点。最后一步SIFT使用4X4X8=128维进行描述,运用PCA算法小于128维对该特征点进行描述。
降维的主要思想是:一个样本可以由很多属性(特征或是字段)去描述,通过去除这些属性之间的相关性,只用其中几个重要的属性去描述该样本,在最大程度保持原有数据的基础上达到降维的效果。
主要涉及到的几个概念:协方差、特征值、特征向量
协方差:是用来描述两个变量的相关性
特征值、特征向量:是对该矩阵的空间映射,特征向量之间是线性无关的,可以用这些特征向量表示出该矩阵。特征值就是在这些特征向量的方向上的矩阵向量的矢量值。、
结合一个列子来顺一下这个算法的流程:假设如果有m个样本,每个样本有n个特征,则该数据可以组成一个mXn的矩阵
算法流程:
1、计算这n个特征之间的两两之间的协方差,组成nXn的协方差矩阵
2、计算该nXn协方差矩阵的特征向量和特征值。
3、选出前k个特征值所对应的特征向量组成变换矩阵。k如何确定?按照特征值大小进行排序,表达就是数据的重要程度,可以根据实际情况选择前k维。
4、让原始数据和变换矩阵相乘得到的就是降维后的数据。