logo资料库

PCA算法的原理及其示例.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
PCA 算法的原理及其示例 郑琛 (北京师范大学,北京 100875) 摘要:主成分分析是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物 中解析出主要影响因素,揭示事物的本质,简化复杂的问题,对于某些复杂数据 就可应用主成分分析法对其进行简化。计算主成分的目的是将高维数据投影到较 低维空间。文中介绍了 PCA 算法的基本概念和基本原理,利用算法在降维和特 征提取方面的有效性,结合人脸识别的实例进行详细的阐述。 关键字:主成分分析;数据降维;特征提取 一、PCA 算法的基本概念 PCA 是 Principal component analysis 的缩写,中文翻译为主成分分 析。主成分又称主分量、主元素。它是研究如何通过原来变量的少数 几个线性组合来解释随机向量的方差-协方差结构,是数据压缩和特征 提取中一种多维向量的统计分析方法[1]。这种方法可以有效的找出数 据中最“主要”的元素和结构,去除噪音[2]和冗余,将原有的复杂数据 降维,揭示隐藏在复杂数据背后的简单结构。它的优点是简单,而且无 参数限制,可以方便的应用与各个场合。因此应用极其广泛,从神经科 学到计算机图形学都有它的用武之地。被誉为应用线形代数最有价值 的结果之一。 二、PCA 算法的原理与基本思想 PCA 算法的原理是设法将原来变量重新组合成一组新的互相无 关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和 变量尽可能多地反映原来变量的信息的统计的方法,也是数学上处理
降维的一种方法。 PCA 算法的基本思想是设法将原来众多具有一定相关性(比如 P 个指标),重新组合成一组新的互相无关的综合指标来代替原来的指 标。通常数学上的处理就是将原来 P 个指标作线性组合,作为新的综 合指标。典型的做法就是用 F1(选取的第一个线性组合,即第一个 综合指标)的方差来表达,即 Var(F1)越大,表示 F1 包含的信息 越多。因此在所有的线性组合中选取的 F1 应该是方差最大的,故称 F1 为第一主成分。如果第一主成分不足以代表原来 P 个指标的信息, 再考虑选取 F2 即选第二个线性组合,为了有效地反映原来信息,F1 已有的信息就不需要再出现再 F2 中,用数学语言表达就是要求 Cov (F1,F2)=0,则称 F2 为第二主成分,以此类推可以构造出第三、 第四,...........,第 P 个主成分。应当注意,主成分分析本身往往并不 是目的,而是达到目的的一种手段,因此,它多用在大型研究项目的 某个中间环节。如把它用在多重回归,便产生了主成分回归,这种回 归具有优良性质,另外,它在压缩、特征提取及分类应用中非常有用。 三、PCA 求解的一般步骤 PCA 求解:特征方程的根 在线形代数中,PCA 问题可以描述成以下形式: 寻找一组正交基组成的矩阵 P,有 Y=PX,使得 CY  1 n-1 则 P 的行向量(也就是一组正交基),就是数据 X 的主元向量。 YYT 是对角阵。 对 CY 进行推导: CY= 1 n-1 = 1 n-1 = 1 n-1 = 1 n-1 YYT (PX)(PX)T PXXTPT P(XXT)PT
CY= 1 n-1 PAPT 定义 A XXT,则 A 是一个对称阵。对 A 进行对角化求取特征向量得: A=EDET 则 D 是一个对角阵,而 E 则是对称阵 A 的特征向量排成的矩阵。 这里要提出的一点是,AA 是一个 m×m 的矩阵,而它将有 r(r m)个 特征向量。其中 r 是矩阵 AA 的秩。如果 r
3)对 XXT 进行特征分解,求取特征向量以及所对应的特征根。 四、举例说明——基于 PCA 算法的人脸识别 PCA 方法由于其在降维和特征提取方面的有效性,在人脸识别领域 得到了广泛的应用。 PCA 方法的基本原理是:利用 K-L 变换[3]抽取人脸的主要成分,构成 特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数, 通过与各个人脸图像比较进行识别。利用特征脸法进行人脸识别的过 程由训练阶段和识别阶段两个阶段组成。其具体步骤如下: 训练阶段 第一步:假设训练集有 200 个样本,由灰度图组成,每个样本大小为 M*N,写出训练样本矩阵: x   , xx 1 2 ,..., x 200 T 其中向量 xi 为由第 i 个图像的每一列向量堆叠成一列的 MN 维列向量, 即把矩阵向量化,如下图所示: 如:第 i 个图像矩阵为 1 4 7 2 5 8 3 6 9                                  321 654 987      则 xi 为 第二步:计算平均脸[4] 计算训练图片的平均脸: 第三步:计算差值脸  1 i 200 200  i 1  ix
计算每一张人脸与平均脸的差值: d i  x i  i   第四步:构建协方差矩阵 C 1 200   200 1 i   A dd   1 dd i T i  ,...,d 2 T AA 1 200  200 第五步:求协方差矩阵的特征值和特征向量,构造特征脸空间 协方差矩阵的维数为 MN*MN,考虑其维数较大,计算量比较大,所 以采用奇异值分解(SingularValue Decomposition ,SVD)定理[5],通过求 解 AT A 的特征值和特征向量来获得 AAT 的特征值和特征向量。 求出 AT A 的特征值 根据特征值的贡献率选取前 p 个最大特征向量及其对应的特征向量 贡献率是指选取的特征值的和与占所有特征值的和比,即: 及其正交归一化特征向量 i i   i pi    1 i  200  i 1   i  i  a 即使训练样本在前 p 个特征向量集上的投影有 %99a 一般取 99%的能量 求出原协方差矩阵的特征向量 则“特征脸”空间为:  1 , uuw 2 ,,... u i   ,...,2,1 p ) 1  i i ( iAv pu 第六步 将每一幅人脸与平均脸的差值脸矢量投影到“特征脸”空间, 即 ,...,2,1  200  T idw i  i 第一步:将待识别的人脸图像 与平均脸的差值脸投影到特征空间, 识别阶段 
得到其特征向量表示: 第二步:定义阈值   i 第三步:采用欧式距离来计算   1 2   Tw  max  , j   i  ,...,2,1 2 i  200  2 i  i  , j i , j  2,1 200 ,..., i 与每个人脸的距离 为了区分人脸和非人脸,还需要计算原始图像 与由特征脸空间重  建的图像 之间的距离 f  2 f 2 其中:  w f ,则输入图像不是人脸图像; 根据以下规则对人脸进行分类:  1)若 2)若   3)若 五、结束语  i  i i i ,且 ,且 , , 则输入图像包含未知人脸; 则输入图像为库中第 k 个人的人脸。 PCA 技术的一大好处是对数据进行降维的处理。我们可以对新 求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部 分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压 缩的效果。同时最大程度的保持了原有数据的信息。 在前文的例子中,经过 PCA 处理后的数据只剩下了一维,也就是 弹簧运动的那一维,从而去除了冗余的变量,揭示了实验数据背后的物 理原理。 PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不需要人为的设定参数或是根据任何经验模型对 计算进行干预,最后的结果只与数据相关,与用户是独立的。但是,这一 点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识, 掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干 预,可能会得不到预期的效果,效率也不高。
参考文献: [1] Jose C.A Fast On-line Algorithm for PCA and Its Convergence Characteristics[J].IEEE,Transactions on Neural Network, 2000, 4(2):299-307 [2] 唐懿芳,钟达夫,主成分分析方法对数据进行预处理[J].广西师范大 学学报. [3] 彭 辉,等.基于 K-L 变换的人脸自动识别方法[J].清华大学学报 (自然科学版),1997,(3). [4] 何国辉,甘俊英(2006), “PCA 类内平均脸法在人脸识别中的应用研 究”.«计算机应用研究»,2006 年第三期. [5] 徐 仲,等.矩阵论简明教程(第四版)[M].北京:科学出版社,2005.
分享到:
收藏