PCA教程_pdf
PCA是线性代数中最有价值的应用之一。PCA已经被广泛地应用于各种形式地分析——从神经科学到计算机图形学,因为PCA简单易用,是一个非参数的方法(即可通过解析方法求解),可以从混乱的数据集(confusing data sets)中提取相关的信息。通过PCA我们可以将一个复杂的数据集进行降维,揭示隐藏的,简化的结构,使之变得简单且容易分析及(2)形式化的隐含了数据集的连续性大大简化我们注意到每一个y都是由x点乘于其对应的P的了问题。1列来得到。这实际上正是一个等式的形式,y;是有了这个假设,PCA现在仅限于重新表示数基{p1,…,pn}上的投影。因此,P的每行都是可据为原基向量的线性组合。定义X表示原来的数以表示为X的列的一组新的基向量。据集合,每一列都是数据集Ⅹ的一个单一的样本(或者说某时刻的记录值)。在上述的简单示例3.3存在的问题中,X是一个m×n的矩阵,其中m=6.n=72000。定义Y表示另一个m×η的矩阵,Y山矩阵P进行通过假定线性,问题转变为找到合适的基变线性变换后产生。即下式换。在这个变换中行向量组{p1…,pm}成为X的主成分。存在以下几个问题PX= Y●最好的重新表示X的方式是什么接着,让我们定义下面的量:2如何选择基Pp表小P的第行显然我们需要除线性之外其他的假设,我们在下x,表示x的第列(或者说独立的一个样本数一节进行详述。据x)y;表示Y的第i列4方差和目标等式一表示一个基变换,解释如下:最重要的问题是:最好的表示数据是指什么?本部分将对这个问题做出直观的解释,同时1.P是一个矩阵,将X变换为Y附加一些额外的假设。本节末尾将提出一个用于2从儿何上来看,P是一个旋转拉伸变换描述混乱数据的目标函数将X变换为Y在线性系统中,“乱码( garbled)”只能指种潜在的混淆( confounds):噪声,旋转和冗余。3.P的列,{p12…,pn},是一组用来表示X的让我们分别处理每种情况。新的基问量上述的解释可能不是如此明显,但是写出PX的1.1噪声和旋转点积的形式可以看出。在任何一个数据集中测量的噪声必须很低不然我们无法有效的抽取关丁该系统的信息对于噪声而言,没有绝对的尺度来衡量,所有PX= P2的噪声都是相对的。一个常用的评价尺度是信噪x1x2…比( (signal- to-noise ratio snr)或者说方差σ2的比P率P1·X1PP1·X7SNRP2·x高的信噪比(≥1)意味着精度更高的数据,低信噪比表示被噪声污染的数据。Pm·x1pmnx2∵…·Pmn‘xn侵定相机A记录的结果位于Fig.2(a)。因为我们注意到Y的每一列弹簧运动的形式是一条直线,所以每一个相机记录的点也应该处于一条直线上,因此任何偏离P1·Xi这条直线的点都是噪声。在图中给定一条直线,我们就能够算出其对应的方差和信噪比。SNR衡量了数据点集在图上的胖瘦程度,如果SNR很2在本部分x和y都是列向量,在其他部分都是行向量。大(>》1)那么会比较瘦长,如果SNR=1,看起明显。在这种情况下,多个传感器会记录相同的来是一个圆。显然我们要找的基并不是原始动态信息。重新考虑Fg.2,我们是不有必要记录的(xA,yA),因为原始的方问并不满足有最大的两个变量?方差(假定SNR固定)。在图二中具有最大方差的ig.3(a)中描述了两个没有明显关系的记方向是数据点集的最长的轴方向。最大化方差等录,换言之,r1与r2是完全不相关的,因为无法价于寻找关于原始基的合适的旋转。最大化方差从r2来预测r1,也无法从r1来预测2,r1与2在统等价于寻找一个在Fg.2(b)中的最优的p。那么计上是独立的。另一方面,Fig.3(c)描述的记录如何寻找p*?在Fg.2(a)的二维示例中,*的方具有很高的相关性。这种极端的情况可能产生向沿着与数据点集最佳拟合的方向。因此,旋转于原始基至与p*平行即为弹簧在二维空间的运动的方向。那么如何扩展至多维空间?在处理这个问相机A和相机B非常接近,产牛点(xA,mB)题之前,我们需要先从另一个角度来审视这个问·点(xA,A),其中x4以米为单位,A以英题寸为单位在(c)中可能记录单一的变量会更加有意义为什么昵?因为在这种情况下,只利用一个变量就可以很精确的表达数据。事实上,这是数据降维背后的重要思想。4.3协方差矩阼la of p(degrees)在二维的例子中,我们很容易找到最合适的Fig2:(a)相机A获取的数据(xA,yA)。信号和噪直线来判别冗余信息,然而对更高维度的数据集声的方差由图中的两条直线表示。(b)旋转坐标轴该怎么办呢?考虑下面两个0均值的数据集:找到最优的p使得方差和SNR最大。SNR定义为沿着p*的方差与沿着垂直方向方差的比率。A={a1,2,…an},},B={b1,b2,…,bn}其屮下标表示第几个样本。A和B的方差分别定义(a)为2(0aA期望值4是n个变量的平均值。A和B之间的协方差是covariance of A and B= OAB=(aibilow redundancyhigh redundancy协方差衡量了两个变量之间的线性关系,值越大相关性越强。在Fig.2(a)和Fig.3(c)中,相Fig3:数据中可能出现的一系列冗余情关性很高。一些关于相关性的额外的因素:况,r1和r2(例如axA,B)是两个分开的记录。最ag≥0(非负性)。B=0当且仅当A和B完好的拟合数据点集的线是?2=hr1,在图中用虚全无关线表示。G2B-a2,如果A_B4.2冗余我们可以等价地将A和B转换为行矩阵:Fig.2暗示了在我们数据集中的一个额外的混a={a1.a2,…,an杂因素一—冗余。这个问题在弹簧的例子中尤其b={h1,b2,……,bx}3这些数据集己经经过0均值化处理4()2表示由诈作为索引的数据的平均值4现在我们可以使用矩阵点积计算的方式来表44对角化和协方差矩阵示协方差÷1我们总结一下前两部分的目标:(1)减少冗slab?(3)余,通过协方差矩阵衡量(2)最大化信息量,使用方差来衡量。根据定义,协方差矩阵是非其中n1是用于归一化的常量。5最后我们可以将负的,因此最小协方差是0。那么最优的协方差两个向量推广到任意多个,重定义x1=a,x2=矩阵Cy长什么样呢?显然,在”最优化”后(理想b以及另外的x3,…,xm。定义一个新的矩阵x。情况下)的C中所有非对角线上的元素为0。因此,C、是可以被对角化的。有许多方式来对角化Cy,值得玩味的(4)是PCA选择了最简单的方法,这可能也是PCA能PCA假定所有的基向量{p1,…,pn}都是正交的(即p;6;)。在线性代数屮,PCA假对ⅹ的一个解释如下:X的钶一行表示对某定P是一个正交矩阵。其次,PCA假定方差最大种测量尺度或称为属性(x)的所有测量值,X的方向是最重要的,换言之,它们是最重要的成每一列表示一次实验中获得的所有测量尺度或属分。为什么这些假设是最简单的呢?性的一次值。我们现在定义协方差矩阵Cx的为设想PCA如何工作,在我们的简单示例的Fg.2(b)中,P作为一个旋转变换来获得最大XXI(5)的方差的基。在多个维度下,我们可以通过一个简单的算法来执行:考虑XX是如何形成的,考虑Cx的第个元1.在m维空间中选择一个标准化方向使得ⅹ的素,它是由x与x的点积求得。Cx的几个性质方差最大,记此向量为p2.选择另一个方向使得方差最大,但是由于止Cx是一个m×m的方阵交条件,该方向要正交于之前选择的方向,记为pCx的对角线上的元素是特定测量属性的方3重复上述过程直到选出m个向量差结果p的顺序集合就是主成分。原则上这个简单·Cx的对角线以外的元素是测量的属性间的的算法是有效的,这也是为什么正交性假设是明协方差智的原因。也就是说,这个假设的好处就是它确实可以解决问题,符合线性代数的知识。能够提Cx测量了所有的属性对之间的相互关系。这个相供有效的,明确的代数解析解。互关系值反决了噪声以及冗余性。注意我们还从第二个假设获得了什么。我们对于对角线上的值,大的值意味着主要的信航面说过判断每个方向重要性的方法,也就是说,每个方向对应的方差P决定了该方向的重要息,小的值意味着噪声性。因此我们可以对每个基向量p对应的方差进·对于非对线上的值,大(的值意咪荐行排序,现在先停下来叫顺下前面我们做出的假设高(低)冗余性前面我们有Y=PX,Y是经过变换后的矩阵,对4.5假设和限制总结于矩阵Y的协方差矩阵C我们希望其县有什么特该韶分讲述PCA可能表现不佳的情况以及理性呢?解PCA的新的扩展。5比较直观的归·化是使用廴,但是这导致了对于方差的有僱估计,尤其是对于较小的n,表明对于尢偏估计的合适选择是a超出了本文的范围I线性我们先根据P对Cy进行重写线性是整个问题进行变换的基础,有些研究已经在探究非线性的情况,如将PCA扩展YY到非线性的算法一- kernel PCa(PX(PX)II均值和方差是烂够的统计方法PⅹP7认为使用均值和方差足以捕述当前的概率分1P(Xⅹ7)P布只是形式上。但有一类概率分布可以完全由均值和方差来描述一一指数型分布(如指PAP数,高斯)。为了使这个假设成立,x的概率分布必须注意我们定义了一个新的知阵A三XX7,A是对是指数型的分布。6偏差可能使这个假设无称的。效。另一方面,这个假设保证了SNR和协我们的思路足一个对称矩阵A可以通过它方差矩阵能够充分的表征噪声和冗余。的正交的特征向量来对角化(参考附承中的定理3,4),对A有A EDETIII大的方差绵含了更多的信息这个假设认为:数据具有很高的信噪比,因其中D是对角矩阵,E的每列是相应的特征向此,主成分具有更大的方差,蕴含着重要的量。信息,而小方差则代表噪声。矩阵A有r≤m个正交的特征向量,其中是矩阵A的秩。在保证正交性的前提下,我们可以通过选择(m-r)个其它的向量来“填满”矩阵E,IV主成分是正交的这些额外的向量并不会影响结果,因为在这些方这个假设提供了一个直观的简化,使向上的方差是0(实际上,在这里以及上文中所说得PCA可利用线性分解技术,这些技术尤的方差等价于特征值)。其体现在下面两部分中。现在来说明我们的技巧。我们选择这样一个矩阵P,它的每一行p是矩阵XX的特征向量。根据这个选择,有P二E1,代入Eq(6),我们我们已经讨论了导出PCA的所有方面,除了得到A=PDP,根据附录A的定理1(P1=线性代数的解决方案。第一个解决方案相对于第P),我们有:二个比较简单,第二个解决方案涉及到理解一个重要的代数分解。PAPP(P DP)P4.6解决PCA:协方差矩阵的特征向量(PP D(PP(PPD(PP我们通过线性代数得到PCA的第一个代数解法。这个解法依赖于特征分解的重要性质。重申1下,数据集是X,一个m×n的矩阵,m是测量的属性类型,n是样木的数量。目标结果总结很明显,P的选择可以使Cy对角化,这正如下:找到一个正交矩阵P使得Y=PX,Cy=是PCA的目标。我们可以总结一下PCA关YY是可对角化的。P的每一行是P的主元。于P和C的结论:个问题:如果x不是高斯分布会怎么样?对角化协方差矩阵可能并不能得到有效的结果,最严格的消除冗余的形式是统计独立性。P(1:B2)=P()P(y),P()表示概率密度,试图找出满足这个独立性约束的y1,…,ym,称为独立成分分析(ICA)X的主成分是XX的特征向量;或者P的行合{,v2,…n}和{1,u2,…,}都是r维空间中的正交向量集合。我们可以将这个结果总结为·Cy的第个对角线上的值是p所对应的X的如Fig.4所示的形式。我们先着手构造一个新的对方差(即特征值)角矩阵∑。在实际中,计算数据集X的PCA需要(1)减去每种测量类型(属性)的均值(2)计算XⅩ7的特征向量。这种解法的 Matlab代码示例在附录B中。or4.7更一般的方法:SVD0这部分涉及很多数学概念,您可以跳过。这部分被加进来的目的是为了保证完整性。我们得到另一个代数求解PCA的方法,并在此过程中发现了PCA与奇异值分解(SVD)的密切关系。我σ2是排序好的奇异值。同样将看到SVD是一个更加普遍的琿解PCA的方法。的我们构造正交矩阵V和U。我们从快速推导分解开始,在下一部分会解释这种分解。在最后一部分,我们将这些结论与PCA联系起来U=1u2…U方这里我们对V和U使用另外的(mr)和(n-r)个止47.1奇异值分解交向量分别来填满。Fig.4提供了图形化的表示定义X为一个任意的n×m矩阵7,Xx是一如何结合各个部分形成矩阵版的SVD个秩为的对称方阵。定义ⅹV=U万·{v1,v2,…,vn}和{入1,A2,…,入}分别是对称V和U的每一列都执行“值”版本的分矩阵ⅹⅹ的特征向量和特征值解(Fq.(7)。因为V是正交的,上式两边可(X XVi=divi以同乘V-1=V,得剑下面最终的分解形式=U∑VrG;≡√入是正的真值,称为奇异值。(9{uu2,…,u,}是×1的正交向量,定义虽然看起来简单,但是这种分解非常有为u;=1Xv用。Fq.(9)表明对于任意一个矩阵X都可以分解为一个正交矩阵,一个对角矩阵与另一个正交矩根据附录中的定理5我们得到了最终的定义,它们阵(或旋转,拉伸与二次旋转)。在下一部分我有两个新的特性:们来理解Eq(9)。4.7,2理解SVDXv;‖=σ;SVD的最终形式(Eq(9)是一个简洁但这些特性在定理5中给出了证明。现在我们已经是不容易理解的公式。让我们先来重新理准备好来构造分解了。奇异值分解的“值”版解Eq.(7)本(”alue” version)就是重述前面的第三个定义Xa= kb()a和b是列向量,k是个标量。集合{1,v}类似于a,集合{1,u2…,n类这个结果表明了很多。X乘上XX的特征向量似于b。不同的是{1,v2…,wm}和{1,m2,…,n}等于一个标量乘以另一个向量。特征向量集分别是n维和n维空间的正交向量集合。特别的,注意在这节,矩阵定义从m×变为了n×m。8这个过程与前面提过的相同。公式7中“值”版本的SVDXvi=gu,矩阵的形式的背后的数学直觉是我们想在一个等式屮来表示n个“值”版本的公式。通过图示很容易理解。等式7的矩阵形式如下所示number我们可以构造三个新的矩阵ⅴU和∑,所有的奇异值进行排序:0i2022…≥G特征向量与其奇异值一一对应。每一对相关联的向量特征向量与其奇异值一一对应。每一对相关联的向量vi和u都在各白的矩阵中的第i列,对用的奇异值在矩阵∑的对角线上(第ⅱ个位置)生成的等式XV=U∑如下听示AxO00矩阵ⅴ和U分别是WX和ηη的矩阵,∑是一^有一些非0值的对角矩阵(上图中的棋盘),求解这个矩阵等价于求n个“值”形式的方程上ig4:如何从“值”形式构造SVD的矩阵形式放松限制来说,似乎这些集合可以扩充到所有可这里我们定义Z三U∑。同样的,V的行能的“输入”(a)和“输出”(b)。我们能够(或V的列)是将X转换为Z的正交基。因为是证实{1,2,…,m}和{山1,l2,…,un}能够扩充到对X的变换,所以是一个扩展X的行空间的正交所有的“输入”和“输出”这一观点吗?基。同样的,行空间形式化了什么是“输入”的我们可以修改Eα.(9)使得这个模糊的假设更可能的任意矩阵清楚些我们只是关注理解SVD的表面的所有知识。X=U∑V但是对于本教程而言,我们已经有了足够的信息UTx=∑V7来理解这一框架是如何解PCA问题的UX=Z4.73SVD和PCA我们定义Z≡∑V。注意先前的列集{u1,02,…,an}变为了现在的U中通过类似的计算,很明显这两者关系密切。让我们回到原始的m×m的数据矩阵X。我们可以的行集。与Eq.(1)相比,un,a2,…,an)定义一个新的m×n的矩阵Y。与{p1,p2,…,pmn}的作用相同。因此,U是从ⅹ到Z的基变换。和前面一样,我们在变换1列向量。正交基U(或者P)改变列向量的形式意味着U是扩展X的列的基。由丁在这个列扩展,我们定义X的列为列空间。列空间有助Y的每一列都是0均值的。通过分析YY可以看于我们定义仟何矩阵的可能的“输出”这个概出Y为何如此定义。SVD有一个有趣的对称性,因此类似的我们可以定义一个行空间YY=(X7)1V=∑U(XV)=(∑UTTXXV1x1=U1∑Vⅹ=ZYY=CX构造YY等价于ⅹ的协方差矩阵。由第五部分我们知道X的主成分是Cx的特征向量。如果我们计算Y的SVD,矩阵Ⅴ的列包含YY-Cx的特征向量。因此V的列是Ⅹ的主成分。这第二个算法的 Matlab实现可以参考附录B这意味着什么呢?V扩展了Y三X7的行空间,因此V一定扩展了X的列空间。我P2们可以得到这样一个结论:寻找主成分等价于找到一个扩展ⅹ的列空间的正交基。Fig5:跟踪人在摩天轮上运动得到的数据点(黑色点),提取的主成分是(p1p2),相位是O。48讨论和结论PCA48.1简单总结实际中执行PCA是非常简单的。1.将数据集组织成一个m×n的矩阵,n是测量类型(属性)的种类,n是样本的数量2.每种测量类型的数据(即每列x;)减去其Fg6:非高斯分布的数据导致PCA失效,在指数均值(去中心化分布数据中,方差最大的轴不对应于相关的基。3.计算SVD或者协方差矩阵的特征向量483PCA的局限和扩展在一些文献综述中,许多作者将每一种类型的测PCA的优缺点都体现在它是一个非参数分析量值x作为源,数据投影的主成分Y=PX被成方法。我们只需要根据4.5鄣分的假定计算即可为信号,因为投影后的数据可能是我们真正感兴得到相应的解。没有参数需调整,且没有根据用趣的。户的经验来设定的参数。答案是独一元二的10,且独立于用户。但这也可以被认为是一种缺点,如果我们提前就知道了系统的一些先验知识和特48.2降维征,采用一些参数化的算法会更好。考虑记汞一个人在摩天轮上随时间变化的位PCA的一个重要作用是可以检查方差CY与置,如Fig-5所示。沿着坐标轴的概率分布近似于主成分的关系程度。我们发现大的方差与前<高斯分布,因此PCA找到了(P1,p2),但是这个答m个主成分关系密切,然后是逐渐衰减的。我们案可能并不是最优的。降维的最简洁的形式是认可以得到这样一个结论,最值得关注的信息位于识到相位(或摩天轮的角度)包含的重要信息。前k维中。因此,合适的参数算法会先转换数据到合适的极在弹簧的例子中,k=1,我们抛弃一些不重坐标系中,然后再计算PCA。有时,前面所说的要的轴能够帮助我们更好的理解高维数据中隐藏非线性变换被称为核变换,整个有参的算法被称的知识。这个过程被称为降维为 kernel pCa。其它常核变換包括傅里叶和高斯°如果最终的目标是寻找X的列空间的正交基,那么可以直接计算而不需要计算Y,对称X的SVD产生的U的列向量,“定是主成分10绝对精确地说,主成分并不是唯·确定的,只有」空间是唯·的,我们总是可以通过乘以-1来反转主成分地方向。另夕,超过短阵地秩的特征向量几乎可以任意选择。然而,这些自由庋并不会影响解的性质特征,也不会降低维度。变换。这个过程是有参的,因为用户必须根据先因此这里AA其实就是单位矩阵I的一个特定的验知识来确定核的选择,但是这很多时候会得到表示。又逆矩阵的定义是A-1A=I,因此因更优的结果。为AA—I,所以A1-A。有时假设本身过于严格。有人可能会想到2.A是任意一个矩阵,那么AA和AA都主元素不需要正交的情况。进一步的,每一维是对称矩阵。(x2)的分布不需要是高斯分布。例如,Fig-6中证明如下展示了一个二维指数型分布的数据集。最大的方差并不对应于有意义的轴,因此PCA失效。这点AA=AA=AA数据集的问题被独立成分分析(ICA)所解决(ATA=ATAT=AA公式是等价的:找到一个短阵P使得Y=Px,且Cy可对角.一个矩阵是对称的当且仪当它是可正交化。对角化的。然而ICA抛弃了除了线性之外的所有假设因为这个陈述是双向的,所以我们需要证明然后试图找到满足降维的最优的轴一一统计独立其充分性和必要性。首先我们来证明必要性性。ICA发现联合分布可以被分解11如果A是一个可正交对角化矩阵,那么它足一个对称矩阵。根据假定,正交对角化意味着存在Ply,y, ) -P(y,P(y个E,使得A-EDE,其中D是一个对角矩阵,E是某个对角化矩阵A的特殊矩阵。现在我们ICA的缺点是它是一种非线性优化的形式,使得来计算A。实际屮难以求解,解可能不唯一。然而,ICA已经被证明是一个实用的,强大的算法来解决一些A=(EDE1)=E1DE=EDE=A新问题因此,如果A是一个可正交对角化矩阵,则A是对称的。充分性的情况比较难以描述,这里留给5附录读者自己去证明。4.一个对称矩阵可以被它的正交特征向量51附录A:线性代数来对角化。这部分证明了线性代数中的一些不明显的定定义A是一个m×n的对称矩阵,特征向理,这些定理对本文至关重要。量为{e1e2en}。定义E=e1e2en],E的正交矩阵的逆是它的转置。第列是足特征向量e;。这个理论假定存在一个即要证明如果A是一个正交矩阵,那对角矩阵D,使得A=EDE么A这个定理是前面定理3的扩展,它告诉我们如令A是一个m×n的矩阵何寻找使对称矩阵对角化的矩阵E,实际上这个特殊矩阵就是由原矩阵的特征向量所形成A=a1a2a证明有两部分。在第一部分,我们来证明一个矩阵可以止交对角化当且仅当这个矩阵的特征其中a;是第边个列向量,我们现在来说明AA-向量使线性无关的。在第二部分,我们来证明对I,其中I是单位矩阵。于一个对称矩阵拥有这样一个特殊性质一一它的让我们来看下矩阵AA的第个元素。这所有的特征向量不但是线性无关的,而且使正交个元素为A2A)-aa。我们已经知道一个正的。由此证明了上述定理。交矩阵的每列是相互正交的,即两两的点乘为0。我们先来证明第一部分,定义矩阵A是任意白身的点乘结果是1。个矩阵且有线性无关的特征向量,并不要求它是对称的。进一步的,定义Ee]是(A4A))-a1a-10i≠j特征向量的列矩阵形式。定义D是是一个对角矩阵,第个特征值放在它的i位置等价地,在信息论的描述中,目标是找到一个基P,使得交互信息( mutual information)l(ya,y2)=0(≠)
暂无评论