logo资料库

PCA算法的PPT.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
2.1 PCA 算法介绍 2.1.1 PCA 原理 令 x 为表示环境的 m 维随机向量。假设 x 均值为零,即: E[x]=O. 令 w 表示为 m 维单位向量,x 在其上投影。这个投影被定义为向量 x 和 w 的内积,表示 为: 而主成分分析的目的就是寻找一个权值向量 w 使得表达式 E[y2]的值最大化: 根据线性代数的理论,可以知道满足式子值最大化的训应该满足下式: 即使得上述式子最大化的 w 是矩阵 Cx 的最大特征值所对应的特征向量。 2.1.2 主成分的求解步骤 在 PCA 中主要的是要求出使得方差最大的转化方向,其具体的求解步骤如下: (1)构建关联矩阵:Cx=E[x*xT],Cx∈Pn*n. 在实际应用中,由于原始数据的数学期望不容易求解,我们可以利用下式来近似构造关 联矩阵: (其中 x1,x2,…,xN,是各个原始灰度图像所有象素点对应的向量,N 是原始图像的 个数) (2)先计算出 Cx 的各个特征值 (3)把特征值按大小排序
(4)计算出前 m 个特征值对应正交的特征向量构成 w。 (5)将原始数据在特征向量 w 上进行投影,即可获得原始图像的主特征数据。 2.1.3 主成分的求解方法 通过上面的分析我们可以知道,对于主成分分析的问题最后转化为求解协方差矩阵的特 征值和特征向量的问题,主成分的正交化分解的算法或求 XXT 特征值问题的算法常用的有雅 可比方法和 NIPALS 方法。 2.2 Eigenface 算法 在利用 PCA 进行特征提取的算法中,特征脸方法(Eigenface)是其中的一个经典算法。 特征脸方法是从主成分分析导出的一种人脸识别和描述技术。特征脸方法就是将包含人脸的 图像区域看作是一种随机向量,因此可以采用 K-L 变换获得其正交 K-L 基底。对应其中较大 特征值的基底具有与人脸相似的形状,因此又称为特征脸。利用这些基底的线性组合可以描 述、表达和逼近人脸图像,因此可以进行人脸识别与合成。识别过程就是将人脸图像映射到 由特征脸构成的子空间上,比较其与己知人脸在特征空间中的位置,具体步骤如下: (1)初始化,获得人脸图像的训练集并计算特征脸,定义为人脸空间,存储在模板库中, 以便系统进行识别; (2)输入新的人脸图像,将其映射到特征脸空间,得到一组关于该人脸的特征数据; (3)通过检查图像与人脸空间的距离判断它是否是人脸; (4)若为人脸,根据权值模式判断它是否为数据库中的某个人,并做出具体的操作。 2.2.1 计算特征脸 设人脸图像 I(x,y)为二维 N*N 灰度图像,用 N 维向量 R 表示。人脸图像训练集为 {Ri|i=1,…,M},其中 M 为训练集中图像总数,这 M 幅图像的平均向量为: 每个人脸 Ri 与平均人脸ψ的差值向量是:
训练图像的协方差矩阵可表示为: C=AAT. 其中,A=[φ1,…φM]. 特征脸有协方差矩阵 C 的正交特征向量组成。对于 N*N 人脸图像,协方差矩阵 C 的大小 为 N2*N2,对它求解特征值和特征向量是很困难的。一种取而代之的方法是令 L=ATA. 即协方差矩阵的转置阵,则可以知道此矩阵是 M*M(M 是训练人脸的数量)的一个较小的 矩阵。首先计算 M*M 矩阵 L 的特征向量 vi(l=l,…,M),则矩阵 C 的特征向量 ui(l=1,…, M)由差值图像φi(i=1,…,M)与 vi(l=l,…,M)线性组合得到:U=[u1,…,uM]=[[ψ1,…, ψM]T][v1.…,vM]。实际上,m(m
如果事物的主要方面刚好体现在几个主要变量上,那么我们只需要将体现事物主要方 面的较少的几个主要变量分离出来,对此进行详细分析。但是,在一般情况下,并不 能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要 方面, PCA 就是这样一种分析方法。 PCA 主要用于数据降维,对于由一系列特征组成的多维向量,其中某些元素本身 没有区分性,比如某个元素在所有的样本中都相等,或者彼此差距不大,那么这个元 素本身就没有区分性,如果用它做特征来区分,贡献会非常小。所以我们的目的是找 那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使特征留 下的都是“精品”,使得计算量也相应变小。 对于一个 k 维的特征来说,相当于它的 每一维特征与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那 么我们可以变化这些维的坐标系,从而使这个特征在某些维上方差大,而在某些维上 方差很小。例如,一个 45 度倾斜的椭圆,在第一坐标系,如果按照 x,y 坐标来投影, 这些点的 x 和 y 的属性很难用于区分他们,因为他们在 x,y 轴上坐标变化的方差都差 不多,我们无法根据这个点的某个 x 属性或 y 属性来判断这个点是哪个,而如果将坐 标轴旋转,以椭圆长轴为 x 轴,则椭圆在长轴上的分布比较长,方差大,而在短轴上 的分布短,方差小,所以可以考虑只保留这些点的长轴属性,来区分椭圆上的点,这 样,区分性比 x,y 轴的方法要好! 所以我们的做法就是求得一个 k 维特征的投影矩阵,这个投影矩阵可以将特征从 高维降到低维。投影矩阵也可以叫做变换矩阵。新的低维特征必须每个维都正交,特 征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特征向量, 这些特征向量就可以构成这个投影矩阵了。特征向量的选择取决于协方差矩阵的特征 值的大小。经过 PCA 分析,一个多变量的复杂问题被简化为低维空间的简单问题。 可以利用这种简化方法进行作图,形象地表示和分析复杂问题。。 PCA 的目标 PCA 的 目标 是寻 找 r ( r
的维数从 N 降到 3 ,具体的 PCA 分析步骤如下: (1) 第一步计算样本矩阵 X 协方差矩阵 S : (2) 第 二 步 计 算 协 方 差 矩 阵 S 的 特 征 向 量 e1,e2,…,eN 及 其 对 用 的 特 征 值 , i = 1,2,…,N。把特征值从大到小排序,取前三位特征值对应的特征向量组成投影矩阵 W 。 (3)第三步投影数据到 W 组成的空间之中。现在数据可以在三维空间中展示为云 状的点集。 对于 PCA,确定新变量的个数 r 是一个两难的问题。我们的目标是尽可能减小 r ,因为 r 小,则数据的维数低,便于分析,同时也降低了噪声,但 r 过度小的话可 能丢失一些有用的信息。究竟如何确定 r 呢?这需要进一步分析每 个主元素对信息 的贡献。 贡献率表示所定义的主成分在整个数据分析中承担的主要意义所占的比重,当取 前 r 个主成分来代替原来全部变量时,累计贡献率的大小反应了这种取代的可靠性, 累计贡献率越大,可靠性越大;反之,则可靠性越小。一般要求累计贡献率达到 70% 以上。 举一个例子: 对于一个训练集,100 个对象模板,特征是 10 维,那么我们可以建立一个 10*100 的矩阵作为样本。求这个样本的协方差矩阵,得到一个 10*10 的协方差矩阵,然后求 出这个协方差矩阵的特征值和特征向量,应该有 10 个特征值和 10 个特征向量,我们 根据特征值的大小,取前四个特征值所对应的特征向量,构成一个 10*4(投影矩阵) 的矩阵,这个矩阵就是我们要求的特征矩阵,100*10 的样本矩阵乘以这个 10*4 的特 征矩阵,就得到了一个 100*4 的新的降维之后的样本矩阵,每个特征的维数下降了。 当给定一个测试的特征集之后,比如 1*10 维的特征,乘以上面得到的 10*4 的特 征矩阵,便可以得到一个 1*4 的特征,用这个特征去分类。 所以做 PCA 实际上 是求得这个投 影矩阵,用 高维的特征 乘以这个投 影矩阵,便 可以将高维特征的维数下降到指定的维数。 PCA 应用实例 随着计算机的大型化、高速化和人脸识别的方法的发展,人们提出了 许多人脸自动识别的系统。PCA(主成分分析)算法是人脸识别中比较新的一 种算法,该算法的优点是识别率高,识别速度快。
分享到:
收藏