最近在做聚类的时候用到了主成分分析PCA技术,里面涉及一些关于矩阵特征值和特征向量的内容,在网上找到一篇对特征向量及其物理意义说明较好的文章,整理下来,分享一下。
一、矩阵基础[1]:
矩阵是一个表示二维空间的数组,矩阵可以看做是一个变换。在线性代数中,矩阵可以把一个向量变换到另一个位置,或者说从一个坐标系变换到另一个坐标系。矩阵的“基”,实际就是变换时所用的坐标系。而所谓的相似矩阵(),就是同样的变换,只不过使用了不同的坐标系。线性代数中的相似矩阵实际上就是要使这些相似的矩阵有一个好看的外表,而不改变其变换的功用。
矩阵虽然是二维的,但我们通常把矩阵的大小称为矩阵的维度。例如一个3乘3的矩阵就可以说是一个三维矩阵。
二、直观性说明[2]:
我们先来看点直观性的内容。矩阵的特征方程式是:
矩阵实际可以看作一个变换,方程左边就是把向量x变到另一个位置而已;右边是把向量x作了一个拉伸,拉伸量是lambda。那么它的意义就很明显了,表达了矩阵A的一个特性就是这个矩阵可以把向量x拉长(或缩短)lambda倍,仅此而已。
任意给定一个矩阵A,并不是对所有的向量x它都能拉长(缩短)。凡是能被矩阵A拉长(缩短)的向量就称为矩阵A的特征向量(Eigenvector);拉长(缩短)的量就是这个特征向量对应的特征值(Eigenvalue)。
值得注意的是,我们说的特征向量是一类向量,因为任意一个特征向量随便乘以一个标量结果肯定也满足上述方程,当然这两个向量都可以看成是同一特征向量,并且它们也对应于同一个特征值。
如果特征值是负数,则说明矩阵不但把特征向量拉长(缩短)了,而且使该向量的方向发生了反转(指向了相反的方向)。一个矩阵可能可以拉长(缩短)多个向量,因此它就可能有多个特征值。另外,对于实对称矩阵来说,不同特征值对应的特征向量必定正交。
我们也可以说,一个变换矩阵的所有特征向量组成了这个变换矩阵的一组基。所谓基,可以理解为坐标系的轴。我们平常用到的大多是直角坐标系,在线性代数中可以把这个坐标系扭曲、拉伸、旋转,称为基变换。我们可以按需求去设定基,但是基的轴之间必须是线性无关的,也就是保证坐标系的不同轴不要指向同一个方向或可以被别的轴组合而成,否则的话原来的空间就“撑”不起来了。在主成分分析(PCA)中,我们通过在拉伸最大的方向设置基,忽略一些小的量,可以极大的压缩数据而减小失真。
变换矩阵的所有特征向量作为空间的基之所以重要,是因为在这些方向上变换矩阵可以拉伸向量而不必扭曲和选择它,使得计算大为简单。因此特征值固然重要,但我们的终极目标却是特征向量。
三、几个重要的抽象概念
1、核
所有经过变换矩阵后变成了零向量的向量组成的集合,通常用Ker(A)来表示。
假设你是一个向量,有一个矩阵要来变换你,如果你不幸落入了这个矩阵的核里面,那么很遗憾转换后你就变成了虚无的零。特别指出的是,核实“变换”(Transform)中的概念,矩阵变换中有一个相似的概念叫“零空间”。有的材料在谈到变换的时候使用T来表示,联系到矩阵时才用A,本文把矩阵直接看作“变换”。核所在的空间定义为V空间,也就是全部向量原来的空间。
2、值域
某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示。
假设你是一个向量,有一个矩阵要来变换你,这个矩阵的值域表示了你将来所有可能的位置。值域的维度也叫做秩(Rank)。值域所在的空间定义为W空间。
3、空间
向量与建立在其上的加、乘运算构成了空间。向量可以(也只能在)空间中变换。使用坐标系(基)在空间中描述向量。
不管是核还是值域,它们都是封闭的。意思是说,如果你和你的朋友困在核里面,你们不管是相加还是相乘都还会在核里面,跑不出去,这就构成了一个子空间。值域同理。
数学家证明了,V(核所在的空间定义为V空间)的维度一定等于它的任意一个变换矩阵的核的维度加上值域的维度。
严格的证明可以参考相关资料,这里说一个直观的证明方法:
V的维度也就是V的基的数目。这些基分为两部分,一部分在核中,一部分是值域中非零象的原象(肯定可以分,因为核和值域都是独立的子空间)。如果把V中的任意向量用基的形式写出来,那么这个向量必然也是一部分在核中,另一部分在值域中非零象的原象里。现在对这个向量作变换,核的那部分当然为零了,另一部分的维度刚好等于值域的维度。
四、变换矩阵行空间和零空间的关系
根据矩阵的性质,变换矩阵的行数等于V的维度,变换矩阵的秩等于值域R的维度,所以可以得出:
因为A的秩又是A行空间的维度(注意在非满矩阵中这个数肯定小于行数),所以上述公式可以变为:
之所以写成这个形式,是因为我们可以发现A的零空间和A的行空间是正交互补的。正交是因为零空间就是核,按定义乘以A的行向量当然为零。互补是因为它们加起来刚好张成整个V空间。
这个正交互补导致了非常好的性质,因为A的零空间和A的行空间的基组合起来刚好可以凑成V的基。
五、变换矩阵列空间和左零空间的关系
如果把以上方程取转置,则可以得到:
因为的实际意义是把值域和定义域颠倒过来了,所以的零空间就是值域以外的区域投向V中零点的所有向量的空间,有人将其称为“左零空间”(Left Null Space)。这样就可以得到:
同样,A的左零空间与A的列空间也正交互补,它们加起来刚好可以张成W空间,它们的基也构成了W的基。
六、变换矩阵行空间和列空间的关系
变换矩阵实际上就是把目标向量从行空间转换到列空间。
矩阵的行空间、列空间、零空间、左零空间构成了我们在线性代数研究中的所有空间,把它们的关系弄清楚,对于分别的基转换非常重要。
七、特征方程的秘密
我们试图构造一个这样的变换矩阵A:它把向量变换到一个值域空间,这个值域空间的基是正交的;不仅如此,还要求任对于意一个基v都有 的形式, 是原来空间的一个已知基。这样我们就能把复杂的向量问题转换到一个异常简单的空间中去。
如果 的数量不等于v,那么用取代A,可以变为一个对称且半正定矩阵,它的特征向量正是要求的基v!
再次说明,矩阵不等于变换,把矩阵看成变换只是提供一个理解变换矩阵的方法。或者,我们可以认为,矩阵只是变换的一种变现形式。
参考文献:
[1] 矩阵基础,http://blog.csdn.net/wangxiaojun911/article/details/4582021
[2] 矩阵——特征向量,http://blog.csdn.net/wangxiaojun911/article/details/6737933