您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页机器学习算法总结_PCA

机器学习算法总结_PCA

来源:意榕旅游网


第十章 利用PCA来简化数据

10.1引言

多个变量之间常常存在一定的相关性。由于变量个数较多再加上变量之间的在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,相关性,势必增加了分析问题的复杂性。举一个简单的例子,现在需要进行了一项关于美国国民经济的研究,现有美国1929一1938年各年的数据,从中可以得到了17个反映国民收入与支出的变量要素,例如雇主补贴、消费资料和生产资料、纯公共支出、净增库存、股息、利息、外贸平衡等等。要如何介绍美国国民收入与支出的情况?是否需要将这17个变量信息面面俱到的罗列出来呢?如果这样做,由于要素太多、信息量太过庞大,会增加问题的复杂性和分析难度,不容易让别人抓住主要信息,工作量也会大大提高。并且要素与要素之间可能存在相关关系,这样会导致信息重叠,分析偏误。

对此问题我们需要对这些要素进行高度概括,从多个变量中综合为少数几个代表性变量,既能够代表原始变量的绝大多数信息,又互不相关,并且在新的综合变量基础上,可以进一步的统计分析,这时就需要进行主成分分析。美国的统计学家斯通(Stone)使用主成分分析的方法,用可直接测量的三个新变量总收入F1、总收入变化率F2和经济发展或衰退的趋势F3就取代了原来的17个变量,令人吃惊的是精度达到了97.4%。

主成分分析方法能够在力保数据信息丢失最少的原则下,对这种多变量的数据表进行最佳综合简化,也就是说,对高维变量空间进行降维处理。很显然,在一个低维空间要比在一个高维空间处理问题容易得多。如此能够使问题得到更好的解决。 10.2 主成分分析的相关概念及基本原理

10.2.1 主成分分析的相关概念

主成分分析(Principal component analysis)缩写为PCA。它是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。正如它的名字:主成分分析,这种方法可以有效的找出数

据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。它的优点是简单,而且无参数限制,可以方便的应用与各个场合。因此应用极其广泛,从神经科学到计算机图形学都有它的用武之地。被誉为应用线形代数最价值的结果之一。

主成分分析采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。

主成分就是由原始变量综合形成的几个新变量。依据主成分所含信息量的大小称为第一主成分,第二主成分等等。

主成分与原始变量之间的具有以下几种关系: (1)主成分保留了原始变量绝大多数信息。 (2)主成分的个数大大少于原始变量的数目。 (3)各个主成分之间互不相关。

(4)每个主成分都是原始变量的线性组合。 10.2.2 主成分分析的基本原理

主成分分析所要做的就是设法将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来变量。通常,数学上的处理方法就是将原来的变量做线性组合,作为新的综合变量,但是这种组合如果不加以限制,则可以有很多,应该如何选择呢?如果将选取的第一个线性组合即第一个综合变量记为F1,自然希望它尽可能多地反映原来变量的信息,这里“信息”用方差来测量,即希望Var(F1)越大,表示F1包含的信息越多。因此在所有的线性组合中所选取的F1应该是方差最大的,故称F1为第一主成分。如果第一主成分不足以代表原来p个变量的信息,再考虑选取F2即第二个线性组合,为了有效地反映原来信息,F1已有的信息就不需要再出现在F2中,用数学语言表达就是要求Cov(F1,F2)0,称F2为第二主成分,依此类推可以构造出第三、四……第p个主成分。 10.3 主成分分析的作用

概括起来说,主成分分析主要由以下几个方面的作用。

1.主成分分析能降低所研究的数据空间的维数。即用研究m维的Y空间代替p维的X空间

(mp),而低维的Y空间代替高维的x空间所损失的信息很少。即:使只有一个主成分Y1(即m1)时,

这个Y1仍是使用全部X变量(p个)得到的。例如要计算Y1的均值也得使用全部x的均值。在所选的前m个主成分中,如果某个Xi的系数全部近似于零的话,就可以把这个Xi删除,这也是一种删除多余变量的方法。

2.有时可通过因子负荷

aij的结论,弄清X变量间的某些关系。

3.多维数据的一种图形表示方法。我们知道当维数大于3时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。

4.由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析。 5.用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择量,获得选择最佳变量子集合的效果。 10.4 主成分分析的数学模型

一个实际问题中,有p个要素,将其看作p个随机变量

,对p个变量进行线性组合,得

x1,x2,xp到新的变量F1,F2,...,Fk(kp),新变量能够充分反应原始变量的信息,并且相互独立。

对于一个样本资料,观测p个变量

x1,x2,xp,n个样品的数据资料阵为:

x11x21Xxn1x12x22xn2x1px2pxnpx1,x2,xp

其中:

x1jx2jxj,xnjj1,2,p

主成分分析就是将p个观测变量综合成为p个新的变量(综合变量),即

F1a11x1a12x2a1pxpFaxaxax22112222ppFpap1x1ap2x2appxp

F1a11a12F2a21a22F=.........Fpap1ap2a1px1a2px2=AX......appxp即

简写为:

(10-1)

Fjj1x1j2x2jpxp

j1,2,,p

要求模型满足以下条件: ①

Fi,Fj互不相关(ij,i,j1,2,,p)

②F1的方差大于F2的方差大于F3的方差,依次类推 ③

ak1ak2akp1222k1,2,p.

于是,称F1为第一主成分,F2为第二主成分,依此类推,有第p个主成分。主成分又叫主分量。这里

aij我们称为主成分系数。

上述模型可用矩阵表示为:

FAX,其中

F1F2FFp

x1x2Xxp

a11a12a1pa1aaa21a2222pAap1ap2appap

A称为主成分系数矩阵。

10.5 主成分分析的几何解释

10.5.1 方差的意义

方差是实际值与期望值之差平方的期望值。在概率论和数理统计中,方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。在许多实际问题中,研究随机变量和均值之间的偏离程度有着重要意义。

S21[(x1x)2(x2x)2...(xnx)2]n1 (10-2)

方差就是到中心的偏离程度,可以代表点的离散程度。

(a) (b)

图1 点的离散示意图

从图1(a)和(b)可以看出,(a)的离散程度大于(b),因此我们确定,(a)的方差大于(b),点更加离散。 10.5.2 PCA的几何解释

假设有n个样品,每个样品有二个变量,即在二维空间中讨论主成分的几何意义。设n个样品在

二维空间中的分布大致为一个椭园,如下图所示:

图2 主成分几何解释图

将坐标系进行正交旋转一个角度,使其椭圆长轴方向取坐标y1,在椭圆短轴方向取坐标y2,旋转公式为

y1jx1jcosx2jsiny2jx1j(sin)x2jcos……………………………(10-3)

j1,2n

yY11y21写成矩阵形式为:y12y1ny22y2n

cossinsinx11cosx21x12x1nUXx22x2n (10-4)

1UU,UUI,即满足sin2cos21。 U其中为坐标旋转变换矩阵,它是正交矩阵,即有

经过旋转变换后,得到下图的新坐标:

图3 主成分几何解释图

新坐标y1y2有如下性质:

(1)n个点的坐标y1和y2的相关几乎为零。

(2)二维平面上的n个点的方差大部分都归结为y1轴上,而y2轴上的方差较小。

y1和y2称为原始变量x1和x2的综合变量。由于n个点在y1轴上的方差最大,因而将二维空间的点

用在y1轴上的一维综合变量来代替,所损失的信息量最小,由此称y1轴为第一主成分,y2轴与y1轴正交,有较小的方差,称它为第二主成分。

旋转变换的目的:将原始数据的大部分信息集中到yl轴上,对数据中包含的信息起到了浓缩作用。

优点:(1)可达到简化数据结构的目的。

(2)新产生的综合变量Fl,F2具有不相关的性质,从而避免了信息重叠所带来的虚假性。 10.6 主成分分析的导出及主成分分析的步骤

10.6.1 主成分的导出

根据主成分分析的数学模型的定义,要进行主成分分析,就需要根据原始数据,以及模型的三个条件的要求,如何求出主成分系数,以便得到主成分模型。这就是导出主成分所要解决的问题。

1、根据主成分数学模型的条件①要求主成分之间互不相关,为此主成分之间的协差阵应该是一个对角阵。即,对于主成分,

FAX

其协差阵应为,

Var(F)Var(AX)(AX)(AX)AXXA (10-5)

1=

2p

2、设原始数据的协方差阵为V,如果原始数据进行了标准化处理后则协方差阵等于相关矩阵,即有,

VRXX (10-6)

3、再由主成分数学模型条件③和正交矩阵的性质,若能够满足条件③最好要求A为正交矩阵,即满足

AAI (10-7)

于是,将原始数据的协方差代入主成分的协差阵公式得

Var(F)AXXAARA (10-8)

ARARAA (10-9)

展开上式得

r11r21rp1a11a12a1pr12r1pa11a21ap1r22r2pa12a22ap2rp2rppa1pa2pappa21ap11a22ap22a2pappp

展开等式两边,根据矩阵相等的性质,这里只根据第一列得出的方程为:

r111a11r12a12r1pa1p0ra(r)ara02111221122p1prp1a11rp2a12(rpp1)a1p0

为了得到该齐次方程的解,要求其系数矩阵行列式为0,即

r111r21r1pr12rp2r1pr2p0r221rpp1

R1I0

是相应的特征向量。

显然,1是相关系数矩阵的特征值,

a1a11,a12,a1p根据第二列、第三列等可以得到类似的方程,于是i是方程

RI0 (10-10)

的p个根,i为特征方程的特征根,

aj是其特征向量的分量。

4、下面再证明主成分的方差是依次递减 设相关系数矩阵R的p个特征根为

12pa12a22ap2,相应的特征向量为

aj

a11a21Aap1a1pa1a2pa2appap

相对于F1的方差为

a1Ra11 Var(F1)a1XXa1同样有:Var(Fi)i,即主成分的方差依次递减。并且协方差为:

Cov(aiX,ajX)aiRaj

)ajai(aa1p

aj)0,(aia)(a1pij (10-11)

综上所述,根据证明有,主成分分析中的主成分协方差应该是对角矩阵,其对角线上的元素恰好是原始数据相关矩阵的特征值,而主成分系数矩阵A的元素则是原始数据相关矩阵特征值相应的特征向量。矩阵A是一个正交矩阵。

于是,变量

x,x,x经过变换后得到新的综合变量

12pF1a11x1a12x2a1pxpFaxaxax22112222ppFpap1x1ap2x2appxp

新的随机变量彼此不相关,且方差依次递减。 10.6.2 主成分分析的计算步骤

样本观测数据矩阵为:

x11x21Xxn1x12x1px22x2pxn2xnp

第一步:对原始数据进行标准化处理。

*xijxijxjvar(xj) (i1,2,,n;j1,2,,p)

1nxjxijni1 其中

1nvar(xj)(xijxj)2n1i1

(j1,2,,p)

第二步:计算样本相关系数矩阵。

r11r21Rrp1r12r22rp2r1pr2prpp

为方便,假定原始数据标准化后仍用X表示,则经标准化处理后的数据的相关系数为:

rijn1xtixtjn1t1 (10-12)

(i,j1,2,,p)

,p第三步:用雅克比方法求相关系数矩阵R的特征值(12)和相应的特征向量

aiai1,ai2,aip,i1,2p。

第四步:选择重要的主成分,并写出主成分表达式。

主成分分析可以得到p个主成分,但是,由于各个主成分的方差是递减的,包含的信息量也是递减的,所以实际分析时,一般不是选取p个主成分,而是根据各个主成分累计贡献率的大小选取前k个主成分,这里贡献率就是指某个主成分的方差占全部方差的比重,实际也就是某个特征值占全部特征值合计的比重。即

ip贡献率=

i1i (10-13)

贡献率越大,说明该主成分所包含的原始变量的信息越强。主成分个数k的选取,主要根据主成分的累积贡献率来决定,即一般要求累计贡献率达到810%以上,这样才能保证综合变量能包括原始变量的绝大多数信息。

另外,在实际应用中,选择了重要的主成分后,还要注意主成分实际含义解释。主成分分析中一个很关键的问题是如何给主成分赋予新的意义,给出合理的解释。一般而言,这个解释是根据主成分表达式的系数结合定性分析来进行的。主成分是原来变量的线性组合,在这个线性组合中个变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这个主成分是某个原变量的属性的作用,线性组合中各变量系数的绝对值大者表明该主成分主要综合了绝对值大的变量,有几个变量系数大小相当时,应认为这一主成分是这几个变量的总和,这几个变量综合在一起应赋予怎样的实际意义,这要结合具体实际问题和专业,给出恰当的解释,进而才能达到深刻分析的目的。

第五步:计算主成分得分。

根据标准化的原始数据,按照各个样品,分别代入主成分表达式,就可以得到各主成分下的各个

样品的新数据,即为主成分得分。具体形式可如下。

F11F21Fn1F12F22Fn2F1kF2kFnk

第六步:依据主成分得分的数据,则可以进行进一步的统计分析。其中,常见的应用有主成份回归,变量子集合的选择,综合评价等。 10.7 主成分分析在计算机视学领域的应用

PCA方法是一个具有很高普适性的方法,被广泛应用于多个领域。这里要特别介绍的是它在计算机视觉领域的应用,包括如何对图像进行处理以及在人脸识别方面的特别作用。 10.7.1 数据表示

如果要将PCA方法应用于视觉领域,最基本的问题就是图像的表达。如果是一幅N×N大小的图像,它的数据将被表达为一个N维的向量:

2X=(x1x2xN2)T

在这里图像的结构将被打乱,每一个像素点被看作是一维,最直接的方法就是将图像的像素一行行的头尾相接成一个一维向量。还必须要注意的是,每一维上的数据对应于对应像素的亮度、灰度或是色彩值,但是需要划归到同一纬度上。 10.7.2 模式识别

假设数据源是一系列的20幅图像,每幅图像都是N×N大小,那么它们都可以表示为一个N维的

2向量。将它们排成一个矩阵:

ImagesMatrix=(ImageVec1ImageVec2ImageVec20)

然后对它们进行PCA处理,找出主元。

为什么这样做呢?据人脸识别的例子来说,数据源是20幅不同的人脸图像,PCA方法的实质是寻找这些图像中的相似的维度,因为人脸的结构有极大的相似性(特别是同一个人的人脸图像),则使用PCA方法就可以很容易的提取出人脸的内在结构,也及时所谓“模式”,如果有新的图像需要与原有图像比较,就可以在变换后的主元维度上进行比较,则可衡量新图与原有数据集的相似度如何。

对这样的一组人脸图像进行处理,提取其中最重要的主元,即可大致描述人脸的结构信息,称作“特征脸”(EigenFace)。这就是人脸识别中的重要方法“特征脸方法”的理论根据。近些年来,基于对一般PCA方法的改进,结合ICA、kernel-PCA等方法,在主元分析中加入关于人脸图像的先验知识,则能得到更好的效果。 10.7.3 图像信息压缩

使用PCA方法进行图像压缩,又被称为Hotelling算法,或者Karhunenand Leove(KL)变换。这是视觉领域内图像处理的经典算法之一。具体算法与上述过程相同,使用PCA方法处理一个图像序列,提取其中的主元。然后根据主元的排序去除其中次要的分量,然后变换回原空间,则图像序列因为维数降低得到很大的压缩。例如上例中取出次要的5个维度,则图像就被压缩了1/4。但是这种有损的压缩方法同时又保持了其中最“重要”的信息,是一种非常重要且有效的算法。 10.8 总结与讨论

PCA技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。

PCA技术的一个很大的优点是,它是完全无参数限制的。在PCA的计算过程中完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与用户是独立的。但是,这一点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高。

图4 黑色点表示采样数据,排列成转盘的形状。

容易想象,该数据的主元是或是旋转角。

如图4中的例子,PCA找出的主元将是(P1,P2)。但是这显然不是最优和最简化的主元。(P1,P2)之间存在着非线性的关系。根据先验的知识可知旋转角θ是最优的主元。则在这种情况下,PCA就会失效。但是,如果加入先验的知识,对数据进行某种划归,就可以将数据转化为以θ为线性的空间中。这类根据先验知识对数据预先进行非线性转换的方法就成为kernel-PCA,它扩展了PCA能够处理的问题的范围,又可以结合一些先验约束,是比较流行的方法。

有时数据的分布并不是满足高斯分布。如图5所示,在非高斯分布的情况下,PCA方法得出的主元可能并不是最优的。在寻找主元时不能将方差作为衡量重要性的标准。要根据数据的分布情况选择合适的描述完全分布的变量,然后根据概率分布式

P(y1,y2)=P(y1)P(y2) (10-14) 来计算两个向量上数据分布的相关性。等价的,保持主元间的正交假设,寻找的主元同样要使

P(y1,y2)=0。这一类方法被称为独立主元分解(ICA)。

图5 数据的分布并不满足高斯分布,呈明显的十字星状。 这种情况下,方差最大的方向并不是最优主元方向。

PCA方法和线形代数中的奇异值分解(SVD)方法有内在的联系,一定意义上来说,PCA的解法是SVD的一种变形和弱化。对于m×n的矩阵X,通过奇异值分解可以直接得到如下形式:

X=UΣVT (10-15)

其中U是一个m×m的矩阵,V是一个n×n的矩阵,而Σ是m×n的对角阵。形式如下:

σ1Σ=σr00

其中σ1≥σ2≥≥σr,是原矩阵的奇异值。由简单推导可知,如果对奇异值分解加以约束:U的向量必须正交,则矩阵U即为PCA的特征值分解中的E,则说明PCA并不一定需要求取XX,也可以

T直接对原数据矩阵X进行SVD奇异值分解即可得到特征向量矩阵,也就是主元向量。

[参考文献]

[1] report

Lindsay I Smith. A tutorial on Principal Components Analysis. Online technical available

from

http://csnet.otago.ac.nz/cosc453/student_

tutori-

als/principal_components.pdf, 2002.

[2] Jonathon Shlens. A Tutorial on Principal Component Analysis. Online technical

report available from http://www.snl.salk.edu/~shlens/pub/notes/pca.pdf, 2005.

[3] Online

T Will. Introduction to the Singular Value Decomposition. Davidson College.

technical

report

available

from

http://www.davidson.edu/academic/math/will/svd/index.html, 1999.

[4] Bell, Anthony and Sejnowski, Terry. The Independent Components of Natural

Scenes are EdgeFilters. Vision Research, 1997, 37(23): 3327-3338.

[5] Online

T.F. Cootes, C.J.Taylor. Statistical Models of Appearance for Computer Vision.

technical

report

available

from

http://www.isbe.man.ac.uk/~bim/Models/app_models.pdf, 2004.

[6] [7] 165-169.

[8] 张翠平, 苏光大. 人脸识别技术综述. 中国图像图形学报, 2000, 5(11): 885-894.

何国辉, 甘俊英. PCA类内平均脸法在人脸识别中的应用研究. 计算机应用研究, 2006, (3):

牛丽平, 付仲良, 魏文利. 人脸识别技术研究. 电脑开发与应用, 2006, 19(5): 8-10.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务