基于PCA的人脸识别算法实现 下载本文

重庆邮电大学本科毕业设计(论文)

四、方差

“最好的表示”是什么意思呢?下面将给出一个较为直观的解释,但同时会增加一些额外的假设条件。在线性系统中,所谓的“混乱数据”通常包含以下三种成分:噪音,旋转以及冗余。

1. 噪音和旋转

噪音对数据的影响是巨大的,如果不能对噪音进行区分,就不可能抽取到数据中有用的信息。噪音的衡量有多种方式,最常见的定义是信噪比SNR(signal-to-noise ratio),或是方差比?2:

?2signal (4.7) SNR?2?noise

?2??ni?1(xi?x)n?1 (4.8)

比较大的信噪比表示数据的准确度高,而信噪比低则说明数据中的噪音成分比较多。那么怎样区分什么是信号,什么是噪音呢?这里假设,变换较大的信息被认为是信号,变换较小的则是噪音。事实上,这个假设等价于一个低通的滤波器,是一种标准的除噪准则。而变换的大小则是由方差来描述的。它表示了采样点在平均值两侧的分布,对应于图表 4.2(a)就是采样点云的“胖瘦”。显然的,方差较大,也就是较“宽”较“胖”的分布,表示了采样点的主要分布趋势,是主信号或主要分量;而方差较小的分布则被认 为是噪音或次要分量。

(a) (b)

- 24 -

重庆邮电大学本科毕业设计(论文)

图 4.2 (a)摄像机A的采集数据。图中黑色垂直直线表示一组正交基的方向。?2signal是采样点云在长线方

向上分布的的方差,而?2noise是数据点在短线方向上分布的方差。(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放置的位置太近或是数据被重复记录了,也可能是由于实验设计的不合理所造成的。那么对于观测者而言,这个变量的观测数据就是完全冗余的,应当去除,只用

- 25 -

重庆邮电大学本科毕业设计(论文)

一个变量就可以表示。这也就是PCA中“降维”思想的本源。

3. 协方差矩阵

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

ni?1

?2AB??(ai?a)(bi?b)n?1 (4.9)

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

2222,当A=B等价的,将A,B写?0当且仅当观测变量A,B相互独立。?AB?AB?0,且?AB??B成行向量的形式:

A?[a1,a2,...,an],B?[b1,b2,...,bn] 协方差可以表示为

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

?x1?? (4.11)X??? ????xm??

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

CX?2??x1x1?2??x2x1CX????2??x?mx11XXT (4.12) n?1?x2x??12

2x2x2?x2xm22???x1xm?2??x?1xm? (4.13) ???2???xmxm?容易发现协方差矩阵具有如下性质:

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

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

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

协方差矩阵CX包含了所有观测变量之间的相关性度量。更重要的是,根据前两部分的说明,这些相关性度量反映了数据的噪音和冗余的程度。

在对角线上的元素越大,表明信号越强,变量的重要性越高;元素越小则表明可能是存在的噪音或是次要变量。

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

- 26 -

重庆邮电大学本科毕业设计(论文)

一般情况下,初始数据的协方差矩阵总是不太好的,表现为信噪比不高且变量间相关度大。PCA的目标就是通过基变换对协方差矩阵进行优化,找到相关“主元”。那么,如何进行优化?矩阵的那些性质是需要注意的呢?

4. 协防差矩阵的对角化

总结上面的部分可以发现主元分析以及协方差矩阵优化的原则是:1)最小化变量冗余即对应于协方差矩阵的非对角元素要尽量小;2)最大化信号即对应于要使协方差矩阵的对角线上的元素尽可能的大。因为协方差矩阵的每一项都是正值,最小值为0,所以优化的目标矩阵CY的非对角元素应该都是0,对应于冗余最小。所以优化的目标矩阵CY应该是一个对角阵。即只有对角线上的元素可能是非零值。同时,PCA假设P所对应的一组变换基必须是标准正交的,而优化矩阵CY对角线上的元素越大,就说明信号的成分越大,换句话就是对应于越重要的“主元”。

对于协方差矩阵进行对角化的方法很多。根据上面的分析,最简单最直接的算法就是在多维空间内进行搜索。和图表4.2(a)的例子中旋转的方法类似:

1在m维空间中进行遍历,找到一个方差最大的向量,令作p1。 ○

2在与p1垂直的向量空间中进行遍历,找出次大的方差对应的向量记作p2 ○

3对以上过程循环,直到找出全部m的向量。它们生成的顺序也就是“主元”的排序。 ○

这个理论上成立的算法说明了PCA的主要思想和过程。在这中间,牵涉到两个重要的特性:1)转换基是一组标准正交基。这给PCA的求解带来了很大的好处,它可以运用线性代数的相关理论进行快速有效的分解。这些方法将在后面提到。2)在PCA的过程中,可以同时得到新的基向量所对应的“主元排序”,利用这个重要性排序可以方便的对数据进行简化处理或是压缩。

五、PCA求解:特征根分解

在线形代数中,PCA问题可以描述成以下形式: 寻找一组正交基组成的矩阵P,有Y=PX,使得CY?就是一 组正交基),就是数据X的主元向量。

对CY进行推导:

CY?1111YYT?(PX)(PX)T?PXXTPT?P(XXT)PT (4.14) n?1n?1n?1n?11CY?PAPT (4.15)

n?1A?EDET (4.16)

- 27 -

1YYT是对角阵。则P的行向量(也n?1

定义A?XXT,则A是一个对称阵。对A进行对角化求取特征向量得: