PCA方法详解和人脸识别应用实例Word文件下载.docx

上传人:b****2 文档编号:14111404 上传时间:2022-10-18 格式:DOCX 页数:17 大小:479.55KB
下载 相关 举报
PCA方法详解和人脸识别应用实例Word文件下载.docx_第1页
第1页 / 共17页
PCA方法详解和人脸识别应用实例Word文件下载.docx_第2页
第2页 / 共17页
PCA方法详解和人脸识别应用实例Word文件下载.docx_第3页
第3页 / 共17页
PCA方法详解和人脸识别应用实例Word文件下载.docx_第4页
第4页 / 共17页
PCA方法详解和人脸识别应用实例Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

PCA方法详解和人脸识别应用实例Word文件下载.docx

《PCA方法详解和人脸识别应用实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《PCA方法详解和人脸识别应用实例Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

PCA方法详解和人脸识别应用实例Word文件下载.docx

如何对数据进行分析,取得隐藏在数据背后变量间的本质关系,是一个很困难的问题。

在神经科学、气象学、海洋学等等学科实验中,假设的变量个数往往非常之多,但是真正的影响因素以及它们之间的关系可能又是非常之简单的。

下面的例子取自一个我们都非常熟悉的物理学中的实验。

这个实验看上去似乎过于简单,但足以说明问题。

如图表4.1所示,这是一个理想弹簧运动规律的测定实验。

假设球是连接在一个无质量无摩擦的弹簧之上,从平衡位置沿x轴拉开一定的距离然后释放。

图4.1理想弹簧运动规律模型

对于一个具有先验知识的实验者来说,这个实验是非常容易的。

球的运动只是在x轴向上发生,只需要记录下x轴上的运动序列并加以分析即可。

但是,在实际中,对于第一次做这个实验的实验者来说(这也是实验科学中最常遇到的一种情况),是无法进行这样的假设的。

那么,一般来说,必须记录下球的三维位置(x0,y0,z0)。

这一点可以通过在不同角度放置三个摄像机实现(如图4.1所示),假设以200Hz的频率拍摄画面就可以得到球在空间中的运动序列。

但是,由于实验的限制,这三台摄像机的角度可能比较任意,并不是正交的。

事实上,在真实世界中也并没有所谓的x,y,z轴,每个摄像机记录下的都是一幅二维的图像,有其自己的空间坐标系,球的空间位置是由一组二维坐标记录的:

[(xA,yA)(xB,yB)(xC,yC)]。

经过实验,系统的摄像机记录了几分钟球的位置序列。

怎样从这些数据中得到球是沿着某个x轴运动的规律呢?

怎样将实验数据中的冗余变量剔除,化归到这个潜在的x轴上呢?

在真实的实验场景中,数据的噪音是必须面对的因素。

在这个实验中噪音可能来自空气、摩擦、摄像机的误差以及非理想化的弹簧等等。

噪音使数据变得混乱,掩盖了变量间的真实关系。

如何去除噪音是实验者每天都要思考和解决的问题。

上面提出的两个问题就是PCA方法要解决的目标。

PCA主成分分析方法是解决此类问题的一个非常有效的工具。

下文将结合以上的例子提出解决方法,逐步叙述PCA方法的思想和求解过程。

三、基变换

从线形代数的角度来看,PCA的目标就是使用另一组基去重新描述得到的数据空间。

而新的基要能尽量揭示原有的数据间的关系。

在这个例子中,沿着某x轴上的运动是最重要的。

这个维度即最重要的“主元”。

PCA的目标就是找到这样的“主元”,最大程度的去除冗余和噪音的干扰。

1.标准正交基

为了更有利于推导,将对上述例子的数据作出定义为:

在实验过程中,在每一个采样时间点上,每个摄像机记录一组二维坐标为(x,y),综合三台摄像机数据,在每一个时间点上得到的位置数据对应于一个六维列向量。

(4.1)

如果以200Hz的频率拍摄10分钟,将得到10*60*200=120000个这样的向量数据。

抽象一点来说,每一个采样点数据都是在m维向量空间(此例m=6)内的一个向量,这里的m是涉及到的变量个数。

由线形代数知识可以知道,在m维向量空间中的每一个向量都是一组正交基的线形组合。

最普通的一组正交基是标准正交基,实验采样的结果通常可以看作是在标准正交基下表示的。

举例来说,上例中每个摄像机记录的数据坐标为(x,y),这样的基便是[(1,0),(0,1)]。

那为什么不取或是其他任意的基呢?

原因是,这样的标准正交基反映了数据的采集方式。

假设采集数据点是(2,2),一般并不会记录。

(在基下),因为一般的观测者都是习惯于取摄像机的屏幕坐标,即向上和向右的方向作为观测的基准。

也就是说,标准正交基表现了数据观测的一般方式。

在线形代数中,这组基表示为行列向量线形无关的单位矩阵。

(4.2)

2.基变换

从更严格的数学定义上来说,PCA回答的问题是:

如何寻找到另一组正交基,它们是标准正交基的线性组合,而且能够最好的表示数据集?

在PCA方法中有一个很关键的假设:

线性。

这是一个非常好的假设,它使问题得到了很大程度的简化,具体表现为数据被限制在一个向量空间中,能被一组基表示,并且还隐含的假设了数据间的连续性关系。

这样一来数据就可以被表示为各种基的线性组合。

令X表示原数据集。

X是一个m*n的矩阵,它的每一个列向量都表示一个时间采样点上的数据,在上面的例子中,m=6,n=120000。

Y表示转换以后的新的数据集表示。

P是他们之间的线性转换。

它们间的转换关系为

(4.3)

有如下定义:

pi表示P的行向量。

xi表示X的列向量。

yi表示Y的列向量。

上式(3)在线性代数中,它有如下的含义:

P是从X到Y的转换矩阵。

几何上来说,P对X进行旋转和拉伸得到Y。

P的行向量,(p1,p2,…,pm)是一组新的基,而Y是原数据X在这组新的基表示下得到的重新表示。

下面是对最后一个含义的说明:

(4.4)

(4.5)

注意到Y的列向量:

(4.6)

可见yi表示的是xi与P中对应列的点积,也就是相当于是在对应向量上的投影。

所以,P的行向量事实上就是一组新的基。

它对原数据X进行重新表示。

3.问题

在线性的假设条件下,问题转化为寻找一组变换后的基,也就是P的行向量(p1,p2,…,pm),这些向量就是PCA中所谓的“主元”。

问题转化为如下的形式:

怎样才能最好的表示原数据X?

P的基怎样选择才是最好的?

解决问题的关键是如何体现数据的特征。

那么,什么是数据的特征,如何体现呢?

四、方差

“最好的表示”是什么意思呢?

下面将给出一个较为直观的解释,但同时会增加一些额外的假设条件。

在线性系统中,所谓的“混乱数据”通常包含以下三种成分:

噪音,旋转以及冗余。

1.噪音和旋转

噪音对数据的影响是巨大的,如果不能对噪音进行区分,就不可能抽取到数据中有用的信息。

噪音的衡量有多种方式,最常见的定义是信噪比SNR(signal-to-noiseratio),或是方差比:

(4.7)

(4.8)

比较大的信噪比表示数据的准确度高,而信噪比低则说明数据中的噪音成分比较多。

那么怎样区分什么是信号,什么是噪音呢?

这里假设,变换较大的信息被认为是信号,变换较小的则是噪音。

事实上,这个假设等价于一个低通的滤波器,是一种标准的除噪准则。

而变换的大小则是由方差来描述的。

它表示了采样点在平均值两侧的分布,对应于图表4.2(a)就是采样点云的“胖瘦”。

显然的,方差较大,也就是较“宽”较“胖”的分布,表示了采样点的主要分布趋势,是主信号或主要分量;

而方差较小的分布则被认为是噪音或次要分量。

(a)(b)

图4.2(a)摄像机A的采集数据。

图中黑色垂直直线表示一组正交基的方向。

是采样点云在长线方向上分布的的方差,而是数据点在短线方向上分布的方差。

(b)对P的基向量进行旋转使SNR和方差最大。

假设摄像机A拍摄到的数据如表4.2(a)所示,圆圈代表采样点,因为运动理论上是只存在于一条直线上,所以偏离直线的分布都属于噪音。

此时SNR描述的就是采样点云在某对垂直方向上的概率分布的比值。

那么,最大限度的揭示原数据的结构和关系,找出潜在的最优的x轴,事实上等价寻找一对空间内的垂直直线(图中黑线表示,也对应于此空间的一组基),使得信噪比尽可能大的方向。

容易看出,本例中潜在的x轴就是图上的较长黑线方向。

那么怎样寻找这样一组方向呢?

直接的想法是对基向量进行旋转。

如图表4.2(b)所示,随着这对直线的转动SNR以及方差的变化情况。

对应于SNR最大值的一组基p,就是最优的“主元”方向。

2.冗余

在实验中,经常会出现由于我们先验知识的不足而引入了一些不必要的变量。

这样可能会是两种情况:

1)该变量对结果没有影响;

2)该变量可以用其它变量表示,从而造成数据冗余。

(a)(b)(c)

图4.3可能冗余数据的频谱图表示。

r1和r2分别表示两个不同的观测变量。

(比如例子中的xA,yB)。

最佳拟合曲线r2=kr1用虚线表示。

如图表3所示,它揭示了两个观测变量之间的关系。

4.3(a)图所示的情况是低冗余的,从统计学上说,这两个观测变量是相互独立的,它们之间的信息没有冗余。

而相反的极端情况如4.3(c),r1和r2高度相关,r2完全可以用r1表示。

一般来说,这种情况发生可能是因为摄像机A和摄像机B放置的位置太近或是数据被重复记录了,也可能是由于实验设计的不合理所造成的。

那么对于观测者而言,这个变量的观测数据就是完全冗余的,应当去除,只用一个变量就可以表示。

这也就是PCA中“降维”思想的本源。

3.协方差矩阵

对于上面的简单情况,可以通过简单的线性拟合的方法来判断各观测变量之间是否出现冗余的情况,而对于复杂的情况,需要借助协方差[13]来进行衡量和判断:

(4.9)

A,B分别表示不同的观测变量所记录的一组值,在统计学中,由协方差的性质可以得到:

,且当且仅当观测变量A,B相互独立。

,当A=B等价的,将A,B写成行向量的形式:

协方差可以表示为

(4.10)

那么,对于一组具有m个观测变量,n个采样时间点的采样数据X,将每个观测变量的值写为行向量,可以得到一个m*n的矩阵:

(4.11)

接下来定义协方差矩阵如下:

(4.12)

(4.13)

容易发现协方差矩阵具有如下性质:

CX是一个m*m的平方对称矩阵。

Cx对角线上的元素是对应的观测变量的方差。

非对角线上的元素是对应的观测变量之间的协方差。

协方差矩阵CX包含了所有观测变量之间的相关性度量。

更重要的是,根据前两部分的说明,这些相关性度量反映了数据的噪音和冗余的程度。

在对角线上的元素越大,表明信号越强,变量的重要性越高;

元素越小则表明可能是存在的噪音或是次要变量。

在非对角线上的元素大小则对应于相关观测变量对之间冗余程度的大小。

一般情况下,初始数据的协方差矩阵总是不太好的,表现为信噪比不高且变量间相关度大。

PCA的目标就是通过基变换对协方差矩阵进行优化,找到相关“主元”。

那么,如何进行优化?

矩阵的那些性质是需要注意的呢?

4.协防差矩阵的对角化

总结上面的部分可以发现主元分析以及协方差矩阵优化的原则是:

1)最小化变量冗余即对应于协方差矩阵的非对角元素要尽量小;

2)最大化信号即对应于要使协方差矩阵的对角线上的元素尽可能的大。

因为协方差矩阵的每一项都是正值,最小值为0,所以优化的目标矩阵CY的非对角元素应该都是0,对应于冗余最小。

所以优化的目标矩阵CY应该是一个对角阵。

即只有对角线上的元素可能是非零值。

同时,PCA假设P所对应的一组变换基必须是标准正交的,而优化矩阵CY对角线上的元素越大,就说明信号

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1