matlab中为什么可以用正交基求解,关于PCA的理解

PCA(principal compoment analysis)主成分分析,主要用在数据降维上,当数据的维数非常大的时候,无论是计算还是存储都是十分耗时的。因此,需要对数据进行降维处理,同时保持降维后的数据对于问题的描述能力。

一、主成分分析的引入

考虑一个简单的模型:

0818b9ca8b590ca3270a3433284dd417.png

该实验的目的是记录绑在弹簧上的红色小球的运动轨迹,对于有先验知识的实验者来说,这个实验是非常容易的,因为球的运动轨迹只在x轴上发生,因此只需要在垂直于xy平面上架设摄像机即可。但是,在真实世界或者没有实验经验的人来说,是不可能这样假设的。一般来说,就需要记录下球的三维位置(X0,Y0,Z0)。可以通过不同角度的放置三个摄像机来实现(如图所示)。但是由于实验的限制,这三台摄像机的角度可能比较任意,并不是正交的。事实上,在真实世界中也并没有所谓的{x,y,z}轴,每个摄像机记录下的都是一幅二维图像,有其自己的空间坐标系,球的空间位置是由一组二维坐标记录的:[(xa,ya),(xb,yb),(xc,yc)]。经过一段时间后会产生非常多的数据,怎么样从这些数据中找到能够很好的描述球是沿着某个X轴运动的规律呢?怎么样将试验数据中的冗余变量剔除,划归到这个潜在的X轴上呢?同时数据中可能含有一定的噪音,比如摄像机的误差、弹簧的寿命等均会对数据产生影响。

PCA就是这样的一种有利工具。

二、PCA的数学推导过程

从线形代数的角度来看,PCA的目标就是使用另一组基去重新描述得到的数据空间。而新的基要能尽量揭示原有的数据间的关系。在这个例子中,沿着某轴上的运动是最重要的。这个维度即最重要的“主元”。PCA的目标就是找到这样的“主元”,最大程度的去除冗余和噪音的干扰。

1)标准正交基

为了引入推导,需要将上文的数据进行明确的定义。在上面描述的实验过程中,在每一个采样时间点上,每个摄像机记录了一组二维坐标(Xa,Ya),综合三台摄像机数据,在每一个时间点上得到的位置数据对应于一个六维列向量。

0818b9ca8b590ca3270a3433284dd417.png如果以200hz的频率拍摄10分钟,将得到10*60*200=120000个这样的向量数据。即矩阵X6×120000

抽象一点来说,每一个采样点数据X都是在m维向量空间(此例中m=6维)内的一个向量,这里的m是牵涉的变量个数。由线形代数我们知道,在m维向量空间中的每一个向量都是一组正交基的线形组合。最普通的一组正交基是标准正交基,实验采样的结果通常可以看作是在标准正交基下表示的。因为一般的观测者都是习惯于取摄像机的屏幕坐标,即向上和向右的方向作为观测的基准。也就是说,标准正交基表现了数据观测的一般方式。在线形代数中,这组基表示为行列向量线形无关的单位矩阵。

2)基变换

从更严格的数学定义上来说,PCA回答的问题是:如何寻找到另一组正交基,它们是标准正交基的线性组合,而且能够最好的表示数据集?

提出PCA方法的一个最关键的假设:线性。这是一个非常强的假设条件。它使问题得到了很大程度的简化:1)数据被限制在一个向量空间中,能被一组基表示;2)隐含的假设了数据之间的连续性关系。

这样一来数据就可以被表示为各种基的线性组合。令X表示原数据集。是一个m*n的矩阵,它的每一个列向量都表示一个时间采样点上的数据,在上面的例子中,m=6,n=120000 。Y表示转换以后的新数据集表示,P是他们之间的线性变换:PX=Y

0818b9ca8b590ca3270a3433284dd417.png

xi表示的是X中的列向量,pi表示的是P中的行向量,yi表示Y中的列向量,在线性代数中,他们的含义是:

P是从X到Y的转换矩阵;P对X进行旋转和拉伸得到Y;P的行向量{p1,p2..,pm}就是一组新的基,而Y是原数据Y在这组新的基表示下得到的重新表示。

在线性的假设条件下,问题转化为寻找一组变换后的基,也就是的行向量,这些向量就是PCA中所谓的“主元”。问题转化为如下的形式:

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

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

解决问题的关键是如何体现数据的特征。那么,什么是数据的特征,如何体现呢?

3)良好的数据表示

好的数据表示应该反映数据的特征,而较差的数据会包含一些混乱数据如:噪音、旋转、冗余,接下来介绍一下数据的噪音、旋转、冗余。

a)噪音和旋转:

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

0818b9ca8b590ca3270a3433284dd417.png比较大的信噪比表示数据的准确度高,而信噪比低则说明数据中的噪音成分比较多。那么怎样区分什么是信号,什么是噪音呢?这里假设,变化较大的信息被认为是信号(即方差大),变化较小的则是噪音(方差小,没有区分度)。事实上,这个标准等价于一个低通的滤波器,是一种标准的去噪准则。而变化的大小则是由方差来描述的。

0818b9ca8b590ca3270a3433284dd417.png它表示了采样点在平均值两侧的分布,对应于图表 2(a)就是采样点云的“胖瘦”。显然的,方差较大,也就是较“宽”较“胖”的分布(长黑线的方向),表示了采样点的主要分布趋势,是主信号或主要分量;而方差较小的分布则被认为是噪音或次要分量。

0818b9ca8b590ca3270a3433284dd417.png

图表 2:(a)摄像机A的采集数据。图中黑色垂直直线表示一组正交基的方向(实验采用通常的观测方向)。σ2(signal)是采样点云在长线方向上分布的

方差(方差值较大),而σ2(noise)是数据点在短线方向上分布的方差(方差值较小)。(b)对P的基向量进行旋转使SNR和方差最大。仔细观测(b)的两个图,当基向量旋转到45度时,上方途中信号方差最大,同时下方图中信噪比也达到最大,其余在其他任何度数时都没有达到最大值。

假设摄像机A拍摄到的数据如图表 2(a)所示,圆圈代表采样点,因为运动理论上是只存在于一条直线上,所以偏离直线的分布都属于噪音。此时SNR描述的就是采样点云在某对垂直方向上的概率分布的比值。那么,最大限度的揭示原数据的结构和关系,找出某条潜在的,最优的x轴,事实上等价寻找一对空间内的垂直直线(图中黑线表示,也对应于此空间的一组基),使得信噪比尽可能大的方向。容易看出,本例中潜在的x轴就是图上的较长黑线方向。

那么怎样寻找这样一组方向呢?直接的想法是对基向量进行旋转。如图表 2(b)所示,随着这对直线的转动SNR以及方差的变化情况。应于SNR最大值的一组基p,就是最优的“主元”方向。

b)冗余:

有时在实验中引入了一些不必要的变量。可能会使两种情况:1)该变量对结果没有影响;2)该变量可以用其它变量表示,从而造成数据冗余。看下图

0818b9ca8b590ca3270a3433284dd417.png

如图表 3所示,它揭示了两个观测变量之间的关系。(a)图所示的情况是低冗余的,从统计学上说,这两个观测变量是相互独立的,它们之间的信息没有冗余。而相反的极端情况如(c),r1和r2高度相关,r2完全可以用r1表示,一般来说,这种情况发生可能是因为摄像机A和摄像机B放置的位置太近或是数据被重复记录了,也可能是由于实验设计的不合理所造成的。那么对于观测者而言,这个变量的观测数据就是完全冗余的,应当去除,只用一个变量就可以表示了。这也就是PCA中“降维”思想的本源。

有了对于数据表示衡量的准则,如何表示数据呢,在这个问题中,协方差矩阵包含了所有观测变量之间的相关性度量。更重要的是,根据前两节的说明,这些相关性度量反映了数据的噪音和冗余的程度。

4)PCA求解:特征根求解

在线形代数中,PCA问题可以描述成以下形式:

寻找一组正交基组成的矩阵P,有Y=PX,使得

0818b9ca8b590ca3270a3433284dd417.png是对角阵(注意Y是变换后的矩阵,Cy是由Y再进行变换后的矩阵,Cy是优化后最后希望看到的矩阵)。则P的行向量(也就是一组正交基),就是数据X的主元向量。对Cy进行推导:

0818b9ca8b590ca3270a3433284dd417.png定义

0818b9ca8b590ca3270a3433284dd417.png,则A是一个对称阵。

可对A进行对角化取特征向量得:

0818b9ca8b590ca3270a3433284dd417.png则D是一个由特征值组成的对角阵,而E则是对称阵A的特征向量排成的矩阵。

这里要提出的一点是,A是一个m*m的矩阵,而他将有r(r<=m)个特征向量。其中r是矩阵A的秩,。如果r

求出特征向量矩阵后我们取P=E,则

0818b9ca8b590ca3270a3433284dd417.png,可推导出:

0818b9ca8b590ca3270a3433284dd417.png

可知此时的P就是我们需要求得变换基,D就是线性变换后的目标,Cy即也是等同目标。至此我们可以得到PCA的结果:

a)X的主元即是XX'的特征向量,也就是矩阵P的行向量;

b)矩阵Cy对角线上第i个元素是数据X在方向Pi上的方差;

我们可以得到PCA求解的一般步骤:

1)采集数据形成m*n的矩阵,m为观测变量个数, n为采样点个数;

2)在每个观测变量(矩阵行向量)上减去该观测变量的平均值得到矩阵X;

3)对XX'进行特征分解,求取特征向量以及所对应的特征根。

三、matlab中的PCA应用

http://blog.csdn.net/wangzhiqing3/article/details/12193131

参考文献:

http://blog.csdn.net/wangzhiqing3/article/details/12193131

http://hi.baidu.com/leifenglian/item/abf63c11772020fe64eabf3f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值