1、目录v什么是PCAv一个简单的模型引出的PCAvPCA的代数原理vPCA求解v总结和讨论v应用领域 PCA(Principal component analysis),主元分析。它是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。 正如它的名字:主元分析,这种方法可以有效的找出数据中最 “主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。 它的优点是简单,而且无参数限制,可以方便的应用与各 个场合。 PCA目的v压缩变量个数 用较少的变量去解释原始数据中的大部分变量,剔除冗余信息。即将许多相关性很高的变量转化成个数较少、能解释大部分原始数据
2、方差且彼此互相独立的几个新变量,也就是所谓的主成分。 这样就可以消除原始变量间存在的共线性,克服由此造成的运算不稳定、矩阵病态等问题。vPCA广泛用于化学实验数据的统计分析,进行数据降维、变量提取与压缩、确定化学组分数、分类和聚类以及与其他方法连用进行数据处理。v主成分计算方法有非线性偏最小二乘(NIPALS) 、乘幂法( POWER) 、奇异值分解(SVD) 和特征值分解( EVD) 等。它们的原理基本上是基于特征值问题, 计算结果也基本相同.一个简单的模型一个简单的模型 Question: 光谱电压速度大量的变量代表可能变化的因素大量的变量代表可能变化的因素限制因素实验环境观测手段复杂、混
3、乱、冗余How 分析变量背后的关系?一个简单的物理模型),(),(),(CCBBAAyxyxyx 这是一个理想弹簧运动规律的测定实验。假设球是连接在一个无质量无摩擦的弹簧之上,从平衡位置沿 轴拉开一定的距离然后释放。(x0,y0,z0)200HZ沿着某个x轴的运动),(AAyx标准正交基CCBBAAyxyxyxx200hz拍摄10分钟,将有10 x60 x200=120000IbbbBm100010001.21在线性代数中,这组基本正交基表示为行列向量线性无关的单位矩阵基变换Q Q?如何寻找到另一组正交基,它们是标准正交基的线性组合,而且能够最好的表示数据集 ?线性线性关键假设数据被限制在一个
4、向量空间中,能被一组基表示;隐含的假设了数据之间的连续性关系。YPX X表示原始数据集。X是一个m*n的矩阵,它的每一个列向量都表示一个时间采样点上的数据X,在上面的例子中,m=6,n=120000。Y表示转换以后新的数据集。P是他们之间的线性转换。(1) 有如下定义: pi表示P的行向量。 xi表示X的列向量(或者X)。 yi表示Y的列向量。公式(1)表示不同基之间的转换,在线性代数中,它有如下的含义: P是从X到Y的转换矩阵。 几何上来说,P对X进行旋转和拉伸得到Y 。 P的行向量,p1,pm 是一组新的基,而Y是原数据X在这组新的基表示下得到的重新表示。nmxxppPX11nmmnxpx
5、pxpxpY1111mmiiixpxpyY的列向量ix与p中对应列的点积,也就是相当于在对应向量上的投影问题怎样才能最好的表示数据X?P的基怎样选择才是最好的?体现数据特征 what? how? ?方差和目标方差和目标混乱数据噪音旋转冗余A 噪音和旋转B 冗余C 协方差矩阵D 协方差矩阵对角化 噪音和旋转 噪音对数据的影响是巨大的,如果不能对噪音进行区分,就不可能抽取数据中有用的信息。噪音的衡量有多种方式,最常见的定义是信噪比SNR(signal-to-noise ratio),或是方差比 :222noisesignalSNR1)(122nxxnii(a)摄像机A的采集数据。图中黑色垂直直线表
6、示一组正交基的方向。 是采样点云在长线方向上分布的方差,而 是数据点在短线方向上分布的方差。(b)对 P的基向量进行旋转使SNR和方差最大。 2signal2noise冗余冗余不必要的变量1)该变量对结果没有影响;2)该变量可以用其它变量表示,从而造成数据冗余。图表 3:可能冗余数据的频谱图表示。r1和r2分别是两个不同的观测变量。(比如例子中的xa,yb)。最佳拟合线r2=kr1 用虚线表示。二者高度相关,冗余低冗余,相互独立 协方差矩阵协方差矩阵1)(12nbbaaniiiABTABABn 112那么,对于一组具有m个观测变量,n个采样时间点的采样数据X,将每个观测变量的值写为行向量,可以
7、得到一个m*n的矩阵 A、B分别表示不同的观测变量所记录的一组值。将A,B写成向量的形式:A=a1,a2,.an B=b1,b2,.bn协方差可以表示为: TXXXnC11定义协方差矩阵Cx是一个m*m的平方对称矩阵。Cx对角线上的元素是对应的观测变量的方差。非对角线上的元素是对应的观测变量之间的协方差。v在对角线上的元素越大,表明信号越强,变量的重要性越高;元素越小则表明可能是存在的噪音或是次要变量。v在非对角线上的元素大小则对应于相关观测变量对之间冗余程度的大小。v一般情况下,初始数据的协方差矩阵总是不太好的,表现为信噪比不高且变量间相关度大。PCA的目标就是通过基变换对协方差矩阵进行优化
8、,找到相关“主元”。v那么,如何进行优化?矩阵的那些性质是需要注意的呢? 协方差矩阵的对角化协方差矩阵的对角化v主元分析以及协方差矩阵优化的原则是:v1)最小化变量冗余,对应于协方差矩阵的非对角元素要尽量小;v2)最大化信号,对应于要使协方差矩阵的对角线上的元素尽可能的大。 因为协方差矩阵的每一项都是正值,最小值为0,所以优化的目标矩阵Cy的非对角元素应该都是0,对应于冗余最小。所以优化的目标矩阵Cy应该是一个对角阵。即只有对角线上的元素可能是非零值。同时,PCA假设P所对应的一组变换基p1,p2,.pm必须是标准正交的,而优化矩阵Cy对角线上的元素越大,就说明信号的成分越大,换句话就是对应于
9、越重要的“主元”。 旋转P的方法类似:(1)在m维空间中进行遍历,找到一个方差最大的向量,令作P1。 (2)在与P1垂直的向量空间中进行遍历,找出次大的方差对应的向量,记作p2。 (3)对以上过程循环,直到找出全部m的向量。它们生成的顺序也就是“主元”的排序。 特性转换基是一组标准正交基。可以同时得到新的基向量所对应的“主元排序”,PCA求解:特征根分解求解:特征根分解v寻找一组正交基组成的矩阵P,有 Y=PX,使得 是对角阵。则P的行向量(也就是一组正交基),就是数据X的主元向量。对Cy进行推导:定义 ,则A是一个对称阵。对A进行对角化求取特征向量得: 则D是一个对角阵,而E则是对称阵A的特
10、征向量排成的矩阵。 求出特征向量矩阵后我们取 ,则 ,由线形代数可知矩阵P有性质 ,从而进行如下计算: 可知此时的P就是我们需要求得变换基。至此我们可以得到PCA的结果:X的主元即是 的特征向量,也就是矩阵P的行向量。矩阵Cy对角线上第i个元素是数据X在方向pi的方差。我们可以得到PCA求解的一般步骤:1)采集数据形成m*n的矩阵。m为观测变量个数,n为采样点个数。2)在每个观测变量(矩阵行向量)上减去该观测变量的平均值得到矩阵X。3)对 进行特征分解,求取特征向量以及所对应的特征根。总结和讨论总结和讨论v PCA技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行
11、排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。 PCA的特点:主成分是原变量的线性组合;各个主成分之间互不相关;主成分按照方差从大到小依次排列,第一主成分对应最大的方差(特征值);每个主成分的均值为0、其方差为协方差阵对应的特征值;不同的主成分轴(载荷轴)之间相互正交;如果原来有p个变量,则最多可以选取p个主成分,这p个主成分的变化可以完全反映原来全部p个变量的变化;如果选取的主成分少于p个,则这些主成分的变化应尽可能多地反映原来全部p个变量的变化。 计算机视学领域的应用计算机视学领域的应用 PCA方法
12、是一个具有很高普适性的方法,被广泛应用于多个领域。这里要特别介绍的是它在计算机视觉领域的应用,包括如何对图像进行处理以及在人脸识别方面的特别作用 。 A. 数据表示数据表示 如果要将PCA方法应用于视觉领域,最基本的问题就是图像的表达。如果是一幅N*N大小的图像,它的数据将被表达为一个 维的向量: 在这里图像的结构将被打乱,每一个像素点被看作是一维,最直接的方法就是将图像的像素一行行的头尾相接成一个一维向量。还必须要注意的是,每一维上的数据对应于对应像素的亮度、灰度或是色彩值,但是需要划归到同一纬度上。B. 模式识别模式识别 假设数据源是一系列的20幅图像,每幅图像都是N*N大小,那么它们都可
13、以表示为一个 维的向量。将它们排成一个矩阵: 然后对它们进行PCA处理,找出主元。 为什么这样做呢?据人脸识别的例子来说,数据源是20幅不同的人脸图像,PCA方法的实质是寻找这些图像中的相似的维度,因为人脸的结构有极大的相似性(特别是同一个人的人脸图像),则使用PCA方法就可以很容易的提取出人脸的内在结构,也及时所谓“模式”,如果有新的图像需要与原有图像比较,就可以在变换后的主元维度上进行比较,则可衡量新图与原有数据集的相似度如何。对这样的一组人脸图像进行处理,提取其中最重要的主元,即可大致描述人脸的结构信息,称作“特脸”(EigenFace)。 这就是人脸识别中的重要方法“特征脸方法”的理论
14、根据。近些年来,基于对一般PCA方法的改进,结合ICA、kernel-PCA等方法,在主元分析中加入关于人脸图像的先验知识,则能得到更好的效果。C. 图像信息压缩图像信息压缩 使用PCA方法进行图像压缩,又被称为Hotelling算法,或者Karhunen and Leove(KL)变换。这是视觉领域内图像处理的经典算法之一。具体算法与上述过程相同,使用PCA方法处理一个图像序列,提取其中的主元。然后根据主元的排序去除其中次要的分量,然后变换回原空间,则图像序列因为维数降低得到很大的压缩。例如上例中取出次要的5个维度,则图像就被压缩了1/4。但是这种有损的压缩方法同时又保持了其中最“重要”的信息,是一种非常重要且有效的算法。 v精品课件精品课件!v精品课件精品课件!v谢谢!谢谢老师和同学指导!v 赫赫