1、主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数 量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是 K-L 变换。PCA 方法最著名的应用应该是在人脸识别中特征提取及数据维,我们知 道输入 200*200 大小的人脸图像,单单提取它的灰度值作为原始特征,则这个原始特征将达到40000 维,这给后面分类器的处理将带来极大的难度。著名 的人脸识别 Eigenface 算法就是采用 PCA 算法,用一个低维子空间描述人脸图像,同时用保存了识别所需要的信息。下面先介绍下 PCA 算法的本质 K- L 变换。1、K-L 变换(卡洛南-洛伊(Karhunen
2、-Loeve)变换):最优正交变换 一种常用的特征提取方法; 最小均方误差意义下的最优正交变换; 在消除模式特征之间的相关性、突出差异性方面有最优的效果。离散 K-L 变换:对向量 x(可以想象成 M 维 =width*height 的人脸图像原始特征)用确定的完备正交归一向量系 uj 展开:这个公式由来我想应该是任一 n 维欧式空间 V 均存在正交基,利用施密特正交化过程即可构建这个正交基。现在我们希望用 d 个有限项来估计向量 x,公式如下:计算该估计的均方误差如下:要使用均方误差最小,我们采用 Langrange 乘子法进行求解:因此,当满足上式时,取得最小值。即相关矩阵 R 的 d 个
3、特征向量(对应 d 个特征值从大到小排列)为基向量来展开向量 x 时,其均方误差最小,为:因此,K-L 变换定义:当取矩阵 R 的 d 个最大特征值对应的特征向量来展开 x 时,其截断均方误差最小。这 d 个特征向量组成的正交坐标系称作 x 所在的 D 维空间的 d 维 K-L 变换坐标系, x 在 K-L 坐标系上的展开系数向量 y 称作 x 的 K-L 变换。总结下,K-L 变换的方法 :对相关矩阵 R 的特征值由大到小进行排队,则均方误差最小的 x 近似于:矩阵形式:上式两边乘以 U 的转置,得向量 y 就是变换(降维)后的系数向量,在人脸识别 Eigenface 算法中就是用系数向量
4、y 代替原始特征向量 x 进行识别。下面,我们来看看相关矩阵 R 到底是什么样子。因此,我们可以看出相关矩阵 R 是一个实对称矩阵(或者严谨的讲叫正规矩阵),正规矩阵有什么特点呢?学过矩阵分析的朋友应该知道:若矩阵 R 是一个实对称矩阵,则必定存在正交矩阵 U,使得 R 相似于对角形矩阵,即:因此,我们可以得出这样一个结论:降维后的系数向量 y 的相关矩阵是对角矩阵,即通过 K-L 变换消除原有向量 x 的各分量间的相关性,从而有可能去掉那些带有较少信息的分量以达到降低特征维数的目的。2、主成分分析(PCA)主成分分析(PCA)的原理就是将一个高维向量 x,通过一个特殊的特征向量矩阵 U,投影
5、到一个低维的向量空间中,表征为一个低维向量y,并且仅仅损失了一些次要信息。也就是说,通过低维表征的向量和特征向量矩阵,可以基本重构出所对应的原始高维向量。在人脸识别中,特征向量矩阵 U 称为特征脸(eigenface)空间,因此其中的特征向量 ui 进行量化后可以看出人脸轮廓,在下面的实验中可以看出。以人脸识别为例,说明下 PCA 的应用。设有 N 个人脸训练样本,每个样本由其像素灰度值组成一个向量 xi,则样本图像的像素点数即为 xi 的维数,M=width*height ,由向量构成的训练样本集为。该样本集的平均向量为:平均向量又叫平均脸。样本集的协方差矩阵为:求出协方差矩阵的特征向量 u
6、i 和对应的特征值,这些特征向量组成的矩阵 U 就是人脸空间的正交基底,用它们的线性组合可以重构出样本中任意的人脸图像,(如果有朋友不太理解这句话的意思,请看下面的总结 2。)并且图像信息集中在特征值大的特征向量中,即使丢弃特征值小的向量也不会影响图像质量。将协方差矩阵的特征值按大到小排序:。由大于的对应的特征向量构成主成分,主成分构成的变换矩阵为:这样每一幅人脸图像都可以投影到构成的特征脸子空间中,U 的维数为 Md。有了这样一个降维的子空间,任何一幅人脸图像都可以向其作投影,即并获得一组坐标系数,即低维向量 y,维数 d1,为称为 KL 分解系数。这组系数表明了图像在子空间的位置,从而可以
7、作为人脸识别的依据。有朋友可能不太理解,第一部分讲 K-L 变换的时候,求的是相关矩阵的特征向量和特征值,这里怎么求的是协方差矩阵?其实协方差矩阵也是:,可以看出其实用代替 x 就成了相关矩阵 R, 相当于原始样本向量都减去个平均向量,实质上还是一样的,协方差矩阵也是实对称矩阵。总结下:1、在人脸识别过程中,对输入的一个测试样本 x,求出它与平均脸的偏差,则在特征脸空间 U 的投影,可以表示为系数向量 y:U 的维数为 Md,的维数为 M1,y 的维数 d1。若 M 为 200*200=40000 维,取200 个主成分,即 200 个特征向量,则最后投影的系数向量 y 维数降维 200 维。2、根据 1 中的式子,可以得出:这里的 x 就是根据投影系数向量 y 重构出的人脸图像,丢失了部分图像信息,但不会影响图像质量。