漫谈高数(四) 特征向量物理意义

来源:互联网 发布:苹果6数据流量打不开 编辑:程序博客网 时间:2024/05/01 23:31
什么是特征向量,特征值,矩阵分解
        我们先考察一种线性变化,例如x,y坐标系的椭圆方程可以写为x^2/a^2+y^2/b^2=1,那么坐标系关于原点做旋转以后,椭圆方程就要发生变 换。我们可以把原坐标系的(x,y)乘以一个矩阵,得到一个新的(x',y')的表示形式,写为算子的形式就是(x,y)*M=(x',y')。这里的矩 阵M代表一种线性变换:拉伸,平移,旋转。那么,有没有什么样的线性变换b(b是一个向量),使得变换后的结果,看起来和让(x,y)*b像是一个数b乘 以了一个数字m*b? 换句话说,有没有这样的矢量b,使得矩阵A*b这样的线性变换相当于A在矢量b上面的投影m*b? 如果有,那么b就是A的一个特征向量,m就是对应的一个特征值。一个矩阵的特征向量可以有很多个。特征值可以用特征方程求出,特征向量可以有特征值对应的 方程组通解求出,反过来也一样。例如,设A为3阶实对称矩阵,a1=(a,-a,1)T是Ax=0的解,a2=(a,1,-a)T是(A+E)x=0的 解,a≠2,则常数a=? 因为a1=(a,-a,1)T是Ax=0的解,说明a1=(a,-a,1)T是A的属于0的特征向量,a2=(a,1,-a)T是(A+E)x=0的解, 说明a2=(a,1,-a)T是A的属于-1的特征向量。实对称矩阵属于不同特征值的特征向量式正交的,所以a^2-a-a=0,a≠2,所以a=0。

        还是太抽象了,具体的说,求特征向量的关系,就是把矩阵A所代表的空间,进行正交分解,使得A的向量集合可以表示为每个向量a在各个特征向量上面的投影长 度。例如A是m*n的矩阵,n>m,那么特征向量就是m个(因为秩最大是m),n个行向量在每个特征向量E上面有投影,其特征值v就是权重。那么每 个行向量现在就可以写为Vn=(E1*v1n,E2*v2n...Em*vmn),矩阵变成了方阵。如果矩阵的秩更小,矩阵的存储还可以压缩。再: 由于这些投影的大小代表了A在特征空间各个分量的投影,那么我们可以使用最小2乘法,求出投影能量最大的那些分量,而把剩下的分量去掉,这样最大限度地保 存了矩阵代表的信息,同时可以大大降低矩阵需要存储的维度,简称PCA方法。
        举个例子,对于x,y平面上的一个点(x,y),我对它作线性变换,(x,y)*[1,0;0,-1],分号代表矩阵的换行,那么得到的结果就是 (x,-y),这个线性变换相当于关于横轴x做镜像。我们可以求出矩阵[1,0;0,-1]的特征向量有两个,[1,0]和[0,1],也就是x轴和y 轴。什么意思呢? 在x轴上的投影,经过这个线性变换,没有改变。在y轴上的投影,乘以了幅度系数-1,并没有发生旋转。两个特征向量说明了这个线性变换矩阵对于x轴和y轴 这两个正交基是线性不变的。对于其他的线性变换矩阵,我们也可以找到类似的,N个对称轴,变换后的结果,关于这N个对称轴线性不变。这N个对称轴就是线性 变换A的N个特征向量。这就是特征向量的物理含义所在。所以,矩阵A等价于线性变换A。
        对于实际应用的矩阵算法中,经常需要求矩阵的逆:当矩阵不是方阵的时候,无解,这是需要用到奇异值分解的办法,也就是A=PSQ,P和Q是互逆的矩阵,而 S是一个方阵,然后就可以求出伪逆的值。同时,A=PSQ可以用来降低A的存储维度,只要P是一个是瘦长形矩阵,Q是宽扁型矩阵。对于A非常大的情况可以 降低存储量好几个数量级。
        特征向量有什么具体的物理意义? 例如一个驻波通过一条绳子,绳子上面的每个点组成一个无穷维的向量,这个向量的特征向量就是特征函数sin(t),因为是时变的,就成了特征函数。每个点 特征值就是每个点在特定时刻的sin(x+t)取值。再如,从太空中某个角度看地球自转,虽然每个景物的坐标在不断的变换,但是这种变换关于地球的自传轴 有对称性,也就是关于此轴的平移和拉伸的坐标变换不敏感。所以地球自转轴,是地球自转这种空间变换的一个特征向量。Google的PageRank,就是 对www链接关系的修正邻接矩阵的,主要特征向量的投影分量,给出了页面平分。有什么特性呢? AB和BA有相同的特征向量----设AB的特征向量为x,对应的特征值为b,则有(AB)x = bx,将上式两边左乘矩阵B,得B(AB)x = (BA)(Bx) = b(Bx),故b为BA的特征值,对应的特征向量为Bx。反之亦然。
        什么是特征矩阵和特征值?我们用整体论来考虑,假设P(A)=(1,2,3)是A的3个特征向量。那么P(A^2)就是(1^2,2^2,3^2),P可 以看作是一种算子。当然,算子的特性是需要用部分/细节详细证明的。一旦证明,就可以作为整体的特征。特征值有什么特性?说明矩阵可以分解成N维特征向量 的投影上面,这N个特征值就是各个投影方向上的长度。由于n*n矩阵A可以投影在一个正交向量空间里面,那么任何N维特征向量组成的矩阵都可以是线性投影 变换矩阵,那么I就是一个同用的线性变换投影矩阵。所以对于特征值m,一定有是够成了一个没有线性无关向量的矩阵Aa=ma两边同乘以I得到 Aa=maI,所以(A-mI)a=0有非0解,那么|A-mI|=0(可以用反正法,如果这个行列式不是0,那么N个向量线性无关,在N维空间中只能相 交于原点,不可能有非0解)。所以可以推出一些很有用的性质,例如A=[1/2,1,1;0,1/3,1;0,0,1/5],那么只要满足|A- mI|=0的值就是特征值,显然特征值数组立即可以得到(1/2,1/3,1/5)。一个n*n的矩阵A,秩=1,那么最大线性无关组=1组,特征向 量=1个,任意n维非零向量都是A的特征向量。特征向量本身不是定死的,这就好比坐标系可以旋转一样。一旦特征向量的各个方向确定了,那么特征值向量也就 确定了。求特征值的过程就是用特征方程:|A-mE|=0,P(1/A)=1/P(A),可以证明。有什么物理含义呢?一个N维线性无关的向量,去掉其中 的一维,那么就有至少两个向量是线性相关的了,所以行列式=0。特征矩阵有什么作用?把矩阵变化为正定矩阵,也就是A=P^-1BP,这样的变换,A是对 角阵。
        线性代数的研究,是把向量和矩阵作为一个整体,从部分的性质出发,推到出整体的性质,再由整体的性质得到各种应用和物理上的概念。当矩阵A是一个符号的时 候,它的性质会和实数a有很多相似的地方。科学的定理看起来总是递归着的。再举一个例子,高数的基本概念有微分,积分,倒数,那么我立刻可以想到中值定理 就应该有3个,形式上分别是微分,积分和倒数。
    
        线性变换的缺点:线性变换PCA可以用来处理图像。如2维的人像识别:
1. 我们把图像A看成矩阵,进一步看成线性变换矩阵,把这个训练图像的特征矩阵求出来(假设取了n个能量最大的特征向量)。用A乘以这个n个特征向量,得到一个n维矢量a,也就是A在特征空间的投影。
2. 今后在识别的时候同一类的图像(例如,来自同一个人的面部照片),认为是A的线性相关图像,它乘以这个特征向量,得到n个数字组成的一个矢量b,也就是B在特征空间的投影。那么a和b之间的距离就是我们判断B是不是A的准则。
        不过,PCA有天生的缺点,就是线性矢量的相关性考察有"平移无关性"优点的同时,也完全忽略了,2维图形中,矢量分量之间的顺序是有意义的,顺序不同可 以代表完全不同的信息。还有,就是图像B必须是A的某种伸缩(由特征向量空间决定的),才能被很好的投影到A的特征向量空间里面,如果B包含了A中的某种 旋转因素,那么PCA可以彻底失效。所以实际应用中PCA的方法做图像识别,识别率并不高,它要求图像有某种严格的方向对齐和归一化。所以PCA一般不用 来做直接的特征提取而是用来做特征矩阵的降维。当然,降维的结果用于分类并不理想,我们可以进一步做最小二承法拉开类间距离的Fisher变换。但是 Fisher变换会引入新的弱点,那就是对于训练类别的数据变得更敏感了,分类效果上升的代价是通用性下降,当类型数量急剧膨胀的时候,分类效果的函数仍 然是直线下降的----但是还是比直接PCA的分类效果好得多。
        K-L变换是PCA的一个应用形式。假设图像类型C有N个图像,那么把每个图像拉直成一个向量,N个图像的向量组成一个矩阵,求矩阵的特征向量(列向 量)。那么用原来的N个图像乘以这些列向量求出平均值,就是我们的特征图像。可以看到特征图像和原图像有相似的地方,但是去掉了和拉伸,平移相关的一些形 变信息。在得到了鲁棒性的同时,牺牲了很多精确性。所以它比较适合特定范围图像的Verification工作,也就是判断图像P是不是属于类型C。对比 一下神经网络:说白了把函数y=f(x)的映射,变成了[y]=[f(x)]的向量映射。输入输出的点(entry)是固定的。而真实的神经系统,并没有 明显的内部处理和外部接口的区分。所以所有的神经网络理论,名字上是神经网络,实质上,差得很远。

        最后:什么是"谱"(Spectrum)? 我们知道音乐是一个动态的过程,但是乐谱却是在纸上的,静态的存在。对于数学分析工具,研究时变函数的工具,可以研究傅立叶变换对应的频率谱;对于概率问 题,虽然每次投色子的结果不一样,但是可以求出概率分布的功率谱密度。数学作为一种形而上学工具,研究的重点,就是这个变化世界当中那些不变的规律。
原创粉丝点击