线性代数之——马尔科夫矩阵

这一部分我们关注正的矩阵,矩阵中的每个元素都大于零。一个重要的事实:最大的特征值是正的实数,其对应的特征向量也如是。最大的特征值控制着矩阵 (A) 的乘方。

假设我们用 (A) 连续乘以一个正的向量 (oldsymbol u_0=(a, 1-a))

(k) 步后我们得到 (A^koldsymbol u_0),这些向量 (oldsymbol u_1,oldsymbol u_2, oldsymbol u_3,cdots)会接近于一个稳定状态 (oldsymbol u_infty=(0.6, 0.4))。这个最终的结果不依赖于输入向量:对每一个 (oldsymbol u_0) 我们都收敛到相同的 (oldsymbol u_infty)。稳定状态方程 (Aoldsymbol u_infty=oldsymbol u_infty) 说明 (oldsymbol u_infty) 是对应于特征值为 1 的一个特征向量。

乘以矩阵 (A) 后的确不会改变 (oldsymbol u_infty),但这依然不能解释为什么所有的 (oldsymbol u_0) 都会变成 (oldsymbol u_infty)。让我们来看另外一个例子,它可能有一个稳定状态,但却不是总能到达。

在这种情况下,我们的起始向量为 (oldsymbol u_0=(0, 1)),然后我们得到 (oldsymbol u_1=(0, 2))(oldsymbol u_2=(0, 4)),第二个元素每次都会加倍。用特征值的语言来说,矩阵的特征值为 (lambda_1=1)(lambda_2=2),输入向量在不稳定特征向量方向的分量每次都乘以了 (lambda_2=2),这会导致发散。

我们讨论矩阵的两个特殊属性来使得稳定状态一定可以达到,这两个属性定义了马尔科夫矩阵,上面的 (A) 就是一个例子。

马尔科夫矩阵满足:1. 每个元素是非负的;2. 每列元素相加等于 1。

如果 (A) 是马尔科夫矩阵,那么我们立马就有:

  • 乘以一个非负向量 (oldsymbol u_0) 我们仍热得到一个非负向量 (oldsymbol u_1=Aoldsymbol u_0)
  • 如果向量 (oldsymbol u_0) 元素相加为 1,那么 (oldsymbol u_1=Aoldsymbol u_0) 的元素相加也为 1

假设丹佛市汽车出租的起始比例为 0.02,丹佛市之外的比例为 0.98。每个月,丹佛市 80% 的汽车留在本地,20% 流出,市外有 5% 的汽车流进,95% 的汽车还留在市外,那么我们有

注意到 0.065+0.935=1,所有的汽车都被统计了,总量始终为 1。

这部分涉及到矩阵的乘方,我们首先想到的就是要对矩阵进行对角化 (A=SLambda S^{-1}),然后 (A^k=SLambda^k S^{-1})

上面的方程向我们展示实际发生了什么,特征值为 1 的特征向量是稳定状态,另一个特征向量随着迭代次数的增加逐渐消失。步数越多,我们就越接近于 (oldsymbol u_infty=(0.2, 0.8))。在极限情况下,20% 的汽车在丹佛市 80% 的汽车在市外。

由于 (A) 的每一列相加等于1,所以 (A-I) 的每一列相加等于 0,这也就是说 (A-I) 的行是相关的,其行列式为零,所以 1 是 (A) 的一个特征值。如果有特征值大于 1,那么乘方后 (A^k) 元素值会增加,但 (A^k) 仍然是一个马尔科夫矩阵,其元素值非负且每列和为 1,所以这不可能发生,没有特征值绝对值大于 1。

当还有其它特征值的绝对值为 1时,我们要特别注意。

这个矩阵每次把丹佛市的汽车都送到外面,同时把外面的汽车都送进来,矩阵的乘方要么是本身要么是恒等矩阵,没有稳定状态。假设矩阵及其乘方的元素严格限制为都是正数,不允许有零出现,那么其余特征值严格小于 1,肯定可以达到稳定状态。

获取更多精彩,请关注「seniusen」!

原文地址:https://www.cnblogs.com/seniusen/p/11938794.html