Mengqi's blog

线性代数拾遗(六):特征值与特征向量


上一章 最后,我们引入了马尔可夫链马尔可夫链简单来说就是一个个状态组成的链,其中每个状态只于前一个状态有关。然而,除了这个简单定义之外,马尔可夫链还有一个有趣的性质:平稳分布。要解释平稳分布是什么,我们先从一个例子讲起。

一、马尔可夫链的平稳分布

比如一个地区有三个政党:「民主党」、「共和党」、「自由党」,我们用一个向量 xR3\mathbf{x} \in \mathbb{R}^3 来表示每年选举的投票结果:

[民主党得票率共和党得票率自由党得票率]\begin{bmatrix} \text{民主党得票率} \\ \text{共和党得票率} \\ \text{自由党得票率} \end{bmatrix}

假设每年的选举结果只和上一年的结果有关,即选举向量构成的序列满足马尔可夫性质,是一个马尔可夫链。那么,像 上一章 那个人口迁移的例子一样,我们可以用一个状态迁移矩阵来描述每年选举结果的变化情况。

比如我们要研究某一年开始,该地区选举变化情况,而且已经得到了该地区选举变化的迁移矩阵 P\mathbf{P}

P=[0.50.20.30.30.80.30.200.4]\mathbf{P}= \begin{bmatrix} 0.5 & 0.2 & 0.3 \\ 0.3 & 0.8 & 0.3 \\ 0.2 & 0 & 0.4 \end{bmatrix}

假设在起始年,三个党的得票情况为:x0=[100]\mathbf{x}_0 = \begin{bmatrix}1\\ 0\\ 0 \end{bmatrix}。那么我们顺着迁移矩阵看一下接下来几年,这个地区的选举情况会发生怎么样的变化。通过递推公式 xi+1=Pxi\mathbf{x}_{i+1} = \mathbf{P} \mathbf{x}_i 我们可以计算出

x1=[0.50.30.2],x2=[0.370.450.18],x3=[0.3290.5250.146],,x7=[0.30160.59530.1031],x8=[0.30080.59770.1016],x9=[0.30040.59880.1008]\mathbf{x}_1 = \begin{bmatrix} 0.5 \\ 0.3 \\ 0.2 \end{bmatrix}, \mathbf{x}_2 = \begin{bmatrix} 0.37 \\ 0.45 \\ 0.18 \end{bmatrix}, \mathbf{x}_3 = \begin{bmatrix} 0.329 \\ 0.525 \\ 0.146 \end{bmatrix}, \cdots, \mathbf{x}_7 = \begin{bmatrix} 0.3016 \\ 0.5953 \\ 0.1031 \end{bmatrix}, \mathbf{x}_8 = \begin{bmatrix} 0.3008 \\ 0.5977 \\ 0.1016 \end{bmatrix}, \mathbf{x}_9 = \begin{bmatrix} 0.3004 \\ 0.5988 \\ 0.1008 \end{bmatrix} \cdots

我们可以发现,这个选举结果向量 x\mathbf{x} 越来越逼近于向量 q=[0.30.60.1]\mathbf{q} = \begin{bmatrix}0.3\\ 0.6\\ 0.1\end{bmatrix}。事实上,当我们把迁移矩阵乘上这个向量:

Pq=[0.50.20.30.30.80.30.200.4][0.30.60.1]=[0.30.60.1]=q\mathbf{P}\mathbf{q}= \begin{bmatrix} 0.5 & 0.2 & 0.3 \\ 0.3 & 0.8 & 0.3 \\ 0.2 & 0 & 0.4 \end{bmatrix} \begin{bmatrix} 0.3\\ 0.6\\ 0.1 \end{bmatrix} = \begin{bmatrix} 0.3\\ 0.6\\ 0.1 \end{bmatrix} = \mathbf{q}

就会发现,不但选举结果越来越趋向某一个固定向量 q\mathbf{q},而且当结果达到和 q\mathbf{q} 一致时,这个系统便不再改变!这也就是我们所说的达到平稳分布。这个固定向量 q\mathbf{q} 就是 稳态向量

可以证明,这个稳态向量迁移矩阵所控制。一个马尔可夫链中,迁移矩阵一旦确定,那么不管它的起始状态(x0\mathbf{x}_0)是什么样,它的稳态将唯一确定(有种宿命论的感觉)。这是马尔可夫链的一个重要性质,对于一个系统的长期发展很有帮助。此外,这个性质也反应了矩阵的两个重要属性:特征值特征向量

二、特征值与特征向量

当我们把一个矩阵看作是一个线性变换:xAx\mathbf{x} \mapsto \mathbf{A}\mathbf{x} 时,我们将矩阵理解成为一种运动,一种能使向量 x\mathbf{x} 向着向量 Ax\mathbf{A}\mathbf{x} 移动的「力」。一般来说,向量 x\mathbf{x}A\mathbf{A} 进行变换有可能是朝着各个方向移动。然而,总有某些特殊向量,线性变换在这些向量上的作用是十分简单的。

比如:已知向量 u=[11],v=[21]\mathbf{u}=\begin{bmatrix}-1\\ 1\end{bmatrix}, \mathbf{v}=\begin{bmatrix}2\\ 1\end{bmatrix},矩阵 A=[3210]\mathbf{A} = \begin{bmatrix} 3 & -2 \\ 1 & 0 \end{bmatrix} 表示的线性变换分别应用于(即矩阵左乘)向量 u\mathbf{u}v\mathbf{v} 后的结果如下图所示:

线性变换应用于不同的向量

事实上,Av=2v\mathbf{A}\mathbf{v} = 2\mathbf{v},从图像上看就是拉伸了向量 v\mathbf{v}

更一般的,

A\mathbf{A}n×nn\times n矩阵,x\mathbf{x}为非零向量,若存在数 λ\lambda 使得 Ax=λx\mathbf{A}\mathbf{x}=\lambda\mathbf{x},则称 λ\lambda 为矩阵 A\mathbf{A} 的特征值,x\mathbf{x}A\mathbf{A} 对应于特征值 λ\lambda 的特征向量。

这就是我们其实已经很熟悉的特征值特征向量定义了。特征值特征向量的一个作用就是来研究线性变换中那些「特殊情况」,这些特殊情况可以看作是这个线性变换的「特征」。当我们把矩阵看作线性变换时,特征值特征向量可以相配合作为描述这个线性变换的一个「特征」(有的文献也把特征值特征向量称为本征值本征向量)。

至于特征值特征向量的求解,相信大家比较熟练了(建立特征方程 (AλI)x=0(\mathbf{A}-\lambda\mathbf{I})\mathbf{x}=\mathbf{0} 进行求解),这里不再赘述。注意,一个特征方程所有解的集合构成了一个空间,即对于某一个特征值,它所对应的特征向量将构成一个空间,被称为 A\mathbf{A} 对应于 λ\lambda特征空间特征空间由零向量和所有对应于 λ\lambda特征向量组成。

不同特征值对应的特征向量线性无关,而同一个特征值对应的不同特征向量能张成整个特征空间。如果一个特征值只对应一个特征向量,那么这个特征值对应的特征空间就是一条一维直线;而如果一个特征值对应两个特征向量,那么这个特征值对应的特征空间将是一个二维平面。

两个一维特征向量张成两个一维特征空间

由于 Ax=λx\mathbf{A}\mathbf{x}=\lambda\mathbf{x},因而线性变换 A\mathbf{A} 对于特征空间只起到「扩张」的作用(扩张后还是同样的特征空间)。

特征空间的扩张

三、特征向量与马尔可夫链

我们已经知道 xi+1=Axk\mathbf{x}_{i+1}=\mathbf{A}\mathbf{x}_k,而如果我们找一个 A\mathbf{A}特征值 λ\lambda 及其对应的特征向量 x0\mathbf{x}_0,则有

x1=Ax0=λx0xi+1=Axi=λxi=λix0\mathbf{x}_1 = \mathbf{A}\mathbf{x}_0 = \lambda\mathbf{x}_0 \\ \mathbf{x}_{i+1} = \mathbf{A}\mathbf{x}_i = \lambda\mathbf{x}_i = \lambda^i\mathbf{x}_0

因此,如果我们已经知道一个马尔可夫链的转移矩阵 A\mathbf{A},我们不需要看它的初始状态是什么,只要找 A\mathbf{A}特征值 λ\lambda 及其对应的特征向量 x0\mathbf{x}_0,那么我们就能通过计算得到这个马尔可夫链达到稳态时的状态。

x0\mathbf{x}_0 除了用一个特征向量外,也可以用多个特征向量的线性组合。比如 A\mathbf{A}特征值λ1,λ2\lambda_1, \lambda_2,对应的两个特征向量v1,v2\mathbf{v}_1, \mathbf{v}_2,那么我们可以用 c1v1+c2v2c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 来表示 x0\mathbf{x}_0。这样得到的 xi+1\mathbf{x}_{i+1} 为:

x1=Ax0=c1Av1+c2Av2xi+1=c1Aiv1+c2Aiv2=c1λ1iv1+c2λ2iv2\begin{aligned} \mathbf{x}_1 &= \mathbf{A}\mathbf{x}_0 \\ &= c_1 \mathbf{A} \mathbf{v}_1 + c_2 \mathbf{A} \mathbf{v}_2 \\ \mathbf{x}_{i+1} &= c_1 \mathbf{A}^i \mathbf{v}_1 + c_2 \mathbf{A}^i \mathbf{v}_2 \\ &= c_1 \lambda_1^i \mathbf{v}_1 + c_2 \lambda_2^i \mathbf{v}_2 \end{aligned}

3.1 人口迁移例子

回顾 上一章 那个关于城市人口迁移的研究,那个例子我们引入了马尔可夫链这个概念,而从这章我们知道马尔可夫链有个平稳分布的性质,那么上一章那个人口迁移的例子最终也一定会达到某种稳定状态,即城乡人口比例保持不变。

上一章中,我们已经得出:

x0=xi+1=[ci+1ri+1]=[0.950.030.050.97][ciri]\mathbf{x}_0 = \mathbf{x}_{i+1} = \begin{bmatrix} c_{i+1} \\ r_{i+1} \end{bmatrix} = \begin{bmatrix} 0.95 & 0.03 \\ 0.05 & 0.97 \end{bmatrix}\begin{bmatrix} c_i \\ r_i \end{bmatrix}

迁移矩阵 A=[0.950.030.050.97]\mathbf{A} = \begin{bmatrix} 0.95 & 0.03\\ 0.05 & 0.97 \end{bmatrix}。这次的套路是求解特征方程 (AλI)x=0(\mathbf{A}-\lambda\mathbf{I})\mathbf{x}=0(事实上,这里的2阶方阵通过计算行列式解 detA=0\det\mathbf{A}=0 会更方便些。当然,手边有电脑的话直接交给 matlab、python 之类的就行 :D),得到特征值为 1 和 0.92,对应的特征向量分别为 v1=[35]\mathbf{v}_1 = \begin{bmatrix} 3\\ 5 \end{bmatrix}v2=[11]\mathbf{v}_2 = \begin{bmatrix} 1\\ -1 \end{bmatrix} 的倍数。

由于有两个互不相等的特征值,我们可以知道它们对应的两个特征向量也线性无关,我们将初始向量 x0\mathbf{x}_0 用两个特征向量的线性组合表示:

x0=c1v1+c2v2=[v1v2][c1c2]\mathbf{x}_0 = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 = [\mathbf{v}_1 \mathbf{v}_2] \begin{bmatrix} c_1\\ c_2 \end{bmatrix}

假设我们已知 x0=[0.60.4]\mathbf{x}_0 = \begin{bmatrix} 0.6\\ 0.4 \end{bmatrix} (单位:百万人),那么就可以解得 c1=0.125,c2=0.225c_1 = 0.125, c_2 = 0.225.

所以,每年的人口分布为:

xi+1=Axi=Aix0=c1Aiv1+c2Aiv2=c11iv1+c20.92iv2\begin{array}{rl} \mathbf{x}_{i+1} = \mathbf{A}\mathbf{x}_i = \mathbf{A}^i\mathbf{x}_0 &= c_1 \mathbf{A}^i \mathbf{v}_1 + c_2 \mathbf{A}^i \mathbf{v}_2 \\ &= c_1 \, 1^i \, \mathbf{v}_1 + c_2 \, 0.92^i \, \mathbf{v}_2 \end{array}

随着 ii \rightarrow \infty1i=1,0.92i01^i = 1, 0.92^i \rightarrow 0,所以 xic1v1=0.125v1x_i \rightarrow c_1 \mathbf{v}_1 = 0.125 \mathbf{v}_1

这就显示了这个马尔可夫链最终总会达到平稳分布,达到平稳分布时的稳态向量就是 0.125v10.125 \mathbf{v}_1。这也印证了我们之前的观察:马尔可夫链达到平稳分布时,稳态向量与初始状态无关,只与迁移矩阵(特别是迁移矩阵特征向量)有关。

总结

这一章,我们通过马尔可夫链了解到了矩阵特征值特征向量的概念。在本章中,我们把一个矩阵看作是一个线性变换,这个矩阵不断应用于某一个向量,使这个向量在空间中发生「运动」。而直观的讲,特征值特征向量就是来描述这个「运动」的一个「本征」的,即在某些方向上的线性变换不会改变向量的方向。

参考文献:

版权声明:

本文中所有文字、图片版权均属本人所有,如需转载请注明来源。