特征值和特征向量的几何和物理意义(转载)

特征值和特征向量的几何和物理意义(转载)

我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值

$$
\left [ \begin{matrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn} \\
\end{matrix}
\right ]
\left [
\begin{matrix}
x_1 \\
x_2 \\
\vdots \\
x_n
\end{matrix}
\right ]
= \lambda \left [
\begin{matrix}
b_1 \\
b_2 \\
\vdots \\
b_n
\end{matrix}
\right ]
\tag{1}
$$
我们可以通过上面的式子,在解释一下,矩阵$A$乘以向量$x$以后,只是对向量$x$产生了一个同一方向的缩放效果,没有对$x$的方向产生影响(如果$\lambda \le 0$的话,其实是相反方向缩放),$\lambda$为缩放系数,可为负数。

实际上,上述的一段话既讲了矩阵变换特征值及特征向量的几何意义(图形变换)也讲了其物理含义。物理的含义就是运动的图景:特征向量在一个矩阵的作用下作伸缩运动,伸缩的幅度由特征值确定。特征值的绝对值大于$1$,则为拉伸,绝对值小于$0$为缩短,而特征值的符号决定了拉伸和缩短的方向。

特征值的两个性质

特征向量是线性不变量

特征向量的性质值一为线性不变性,正如上述所说,在一个矩阵的作用下,特征向量的方向不会发生改变(此处的方向不变意为线性方向不变)

特征值是振动的谱

这段看看就好了

除了线性不变量,另外一个亮点是关于振动方面的。戏说在朝代宋的时候,我国就与发现矩阵特征值理论的机会擦肩而过。话说没有出息的秦少游在往池塘里扔了一颗小石头后,刚得到一句“投石冲开水底天”的泡妞诗对之后,就猴急猴急地去洞房了,全然没有想到水波中隐含着矩阵的特征值及特征向量的科学大道理。大概地说,水面附近的任一点水珠在原处上下振动(实际上在做近似圆周运动),并没有随着波浪向外圈移动,同时这些上下振动的水珠的幅度在渐渐变小,直至趋于平静。在由某块有着特定质量和形状的石头被以某种角度和速度投入某个面积和深度特定的水池中所决定的某个矩阵中,纹波荡漾中水珠的渐变过程中其特征值起着决定性的作用,它决定着水珠振动的频率和幅度减弱的衰退率。

在理解关于振动的特征值和特征向量的过程中,需要加入复向量和复矩阵的概念,因为在实际应用中,实向量和实矩阵是干不了多少事的。机械振动和电振动有频谱,振动的某个频率具有某个幅度;那么矩阵也有矩阵的谱,矩阵的谱就是矩阵特征值的概念,是矩阵所固有的特性,所有的特征值形成了矩阵的一个频谱,每个特征值是矩阵的一个“谐振频点”。

美国数学家斯特让(G..Strang)在其经典教材《线性代数及其应用》中这样介绍了特征值作为频率的物理意义,他说:

大概最简单的例子(我从不相信其真实性,虽然据说1831年有一桥梁毁于此因)是一对士兵通过桥梁的例子。传统上,他们要停止齐步前进而要散步通过。这个理由是因为他们可能以等于桥的特征值之一的频率齐步行进,从而将发生共振。就像孩子的秋千那样,你一旦注意到一个秋千的频率,和此频率相配,你就使频率荡得更高。一个工程师总是试图使他的桥梁或他的火箭的自然频率远离风的频率或液体燃料的频率;而在另一种极端情况,一个证券经纪人则尽毕生精力于努力到达市场的自然频率线。特征值是几乎任何一个动力系统的最重要的特征。

其实,这个矩阵之所以能形成“频率的谱”,就是因为矩阵在特征向量所指的方向上具有对向量产生恒定的变换作用增强(或减弱)特征向量的作用。进一步的,如果矩阵持续地叠代作用于向量,那么特征向量的就会凸现出来。

比如,一个物理系统,其特性可以被一个矩阵所描述,那么这个系统的物理特性就可以被这个矩阵的特征值所决定,各种不同的信号(向量)进入这个系统中后,系统输出的信号(向量)就会发生相位滞后、放大、缩小等各种纷乱的变化。但只有特征信号(特征向量)被稳定的发生放大(或缩小)的变化。如果把系统的输出端口接入输入端口,那么只有特征信号(特征向量)第二次被放大(或缩小)了,其他的信号如滞后的可能滞后也可能超前同时缩小,放大的可能被继续放大也可能被缩小同时滞后,缩小的可能被继续缩小也可能被放大同时滞后等。经过N次的循环后,显然,乱七八糟的大量的向量群众们终不能成气候,只有特征向量们,心往一处想,劲往一处使,要么成功出人头地,要么失败杀身成仁。因此我们就可以因此在时间域上观察输出,就会得到一个或几个超级明显的特征信号出来(特征向量)。

简而言之,特征向量对于矩阵来说,是固有属性。将矩阵的内容作为一些特征,不断地进行迭代(可能是矩阵的幂作用在特征向量上)后,特征向量因为其始终保持同一个线性的关系,会越来越凸显。

一、矩阵基础

矩阵是一个表示二维空间的数组,矩阵可以看做是一个变换。在线性代数中,矩阵可以把一个向量变换到另一个位置,或者说从一个坐标系变换到另一个坐标系。矩阵的“基”,实际就是变换时所用的坐标系。而所谓的相似矩阵($P^-AP = B$或者$AP=PA$),就是同样的变换,只不过使用了不同的坐标系。线性代数中的相似矩阵实际上就是要使这些相似的矩阵有一个好看的外表,而不改变其变换的功用。

矩阵虽然是二维的,但我们通常把矩阵的大小称为矩阵的维度。例如一个$3 \times 3$的矩阵就可以说是一个三维矩阵。

二、直观性说明

我们先来看点直观性的内容。矩阵的特征方程式是:
$$
A x = \lambda x \tag{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空间)的维度一定等于它的任意一个变换矩阵的核的维度加上值域的维度。
$$
dim(V) = dim[Ker(A)] + dim[R(A)] \tag{3}
$$
严格的证明可以参考相关资料,这里说一个直观的证明方法:

$V$的维度也就是$V$的基的数目。这些基分为两部分,一部分在核中,一部分是值域中非零象的原象(肯定可以分,因为核和值域都是独立的子空间)。如果把$V$中的任意向量用基的形式写出来,那么这个向量必然也是一部分在核中,另一部分在值域中非零象的原象里。现在对这个向量作变换,核的那部分当然为零了,另一部分的维度刚好等于值域的维度。

上面的这段证明是个啥意思:就是说,其实我们对矩阵进行初等行变换的时候,就是在做转换,而值域的维度(变换结果出现的可能位置)由所有的行决定,只不过有一部分在变幻后为0了,也决定不了啥东西,给忽略掉了。所以,这个行数刚好等于秩。

四、变换矩阵行空间和零空间的关系

根据矩阵的性质,变换矩阵的行数等于$V$的维度,变换矩阵的秩等于值域$R$的维度,所以可以得出:
$$
A的行数 = dim(A的零空间) + A的秩
$$
因为A的秩又是A行空间的维度(注意在非满矩阵中这个数肯定小于行数),所以上述公式可以变为:
$$
A的行数 = dim(A的零空间)+dim(A的行空间)
$$
之所以写成这个形式,是因为我们可以发现A的零空间和A的行空间是正交互补的。正交是因为零空间就是核,按定义乘以$A$的行向量当然为零。互补是因为它们加起来刚好张成整个$V$空间。

这个正交互补导致了非常好的性质,因为A的零空间和A的行空间的基组合起来刚好可以凑成V的基。

五、变换矩阵列空间和左零空间的关系

如果把以上方程取转置,则可以得到:
$$
A的列数 = dim(A^T的零空间) + dim(A的列空间)
$$
因为$A^T$的实际意义是把值域和定义域颠倒过来了,所以$A^T$的零空间就是值域以外的区域投向$V$中零点的所有向量的空间,有人将其称为“左零空间”(Left Null Space)。这样就可以得到:
$$
A的列数 = dim(A的左零空间) + dim(A的列空间)
$$
同样,$A$的左零空间与$A$的列空间也正交互补,它们加起来刚好可以张成$W$空间,它们的基也构成了$W$的基。

六、变换矩阵行空间和列空间的关系

变换矩阵实际上就是把目标向量从行空间转换到列空间。

矩阵的行空间、列空间、零空间、左零空间构成了我们在线性代数研究中的所有空间,把它们的关系弄清楚,对于分别的基转换非常重要。

七、特征方程的秘密

我们试图构造一个这样的变换矩阵$A$:它把向量变换到一个值域空间,这个值域空间的基是正交的;不仅如此,还要求任对于意一个基$V$都有$A\mu = \lambda\mu$的形式,$\mu$是原来空间的一个已知基。这样我们就能把复杂的向量问题转换到一个异常简单的空间中去。

如果$\mu$的数量不等于$V$,那么用$A^TA$取代$A$,可以变为一个对称且半正定矩阵,它的特征向量正是要求的基$V$!

再次说明,矩阵不等于变换,把矩阵看成变换只是提供一个理解变换矩阵的方法。或者,我们可以认为,矩阵只是变换的一种变现形式。

评论

Agile Angularjs Animation Application Artificial Intelligence BP Babel Bokeh Book CD CLI CSS CentOS CheetSheet Cinder Clipboardjs Concept Continuous Delivery DeepLearning Department DevOps Develop Development Directive Distribution Django Document ECMA ES5 ES6 ES7 Echarts Engine Filter Front End Gallery Git Hexo Horizon Icarus JavaScript Javascript KVM LaTeX LeetCode LibreOffice Linux Machine Learning Mathematics Matrix MiddleWare Module Native Network Nginx NodeJS Numpy OOP OpenSSH OpenStack OpenStackApi Operations Oprations PDF Pandas Pipline Probability Python React Relational algebra Restful Route SVD SVM Scalar Sigmoid Team Tempest Tensor TensorFlow Testing Time TimeMachine Tips Vector Vmware Vue Vuex WSGI Web Word Cut aliyun auth babel certbot debounce dns docker dockerfile eject footer git header homebrew html5 http https jupyter jwt keystone lab loader lodash loss function mathematics migrate nav openstack outline pdf2html pm2 proto prototype python replace request response rp rt ruby scikit-learn section singular value decomposition stylus throttle url vue-router vue-ssr webpack 事件 事件代理 事件冒泡 事件捕获 位运算 入门 全局 全局变量 全局对象 全栈 公式 决策树 几何意义 函数 分类器 加速 动态变量 卷积 原型链 双向绑定 反向传播 发布 变量类型 官方示例 对象 小技巧 思维导图 感知机模型 手动实现 推导 提交阶段 数据绑定 最小二乘估计 最小二乘法 本地 朴素贝叶斯 朴素贝叶斯算法 机器学习 条件概率 标签模板 梯度下降 概念 概率 模板字符 模板字符串 正则 求导 流程 源码 源码阅读 激活函数 灰度 特征值 特征向量 生命周期 矩阵 神经网络 私有对象 科学计算 算法 算法实现 线性代数 线性回归 编译 联合概率 脚手架 调试 贝叶斯 贝叶斯判定准则 边际概率 闭包 间隔 防抖动 限流 随机森林
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×