您好,欢迎来到花生壳b2b外贸网信息发布平台!
18951535724
  • 用矩阵解马尔可夫链,把复杂的递推关系变得非常直观且系统化

       2026-03-27 网络整理佚名1760
    核心提示:简单来说,马尔可夫链(Markov Chain)是一种数学模型,用来描述一个对象在不同状态之间随机切换的过程。“未来只取决于现在,而与过去无关。

    简单来说,马尔可夫链(Markov Chain)是一种数学模型,用来描述一个对象在不同状态之间随机切换的过程。

    “未来只取决于现在,而与过去无关。” 这个性质被称为马尔可夫性质(Markov Property)。

    比如我们玩大富翁或者飞行棋:

    下一步能走到哪里,只取决于当前站在哪个格子,以及骰子掷出了几点。

    之前是经过哪些弯弯绕绕才走到这个格子的,对下一步没有任何影响。

    这就是马尔可夫链的精髓。

    用专业术语说:

    在已知“现在”的情况下,“将来”与“过去”是独立的。

    一个马尔可夫链通常包含以下要素:

    状态(State): 系统可能处于的情况。比如:晴天、雨天;或者网页的某个具体页面。

    状态空间(State Space): 所有可能状态的集合。

    转移概率(Transition Probability): 从一个状态变成另一个状态的概率。

    例如:如果今天是晴天,明天有 70% 概率还是晴天,30% 概率变雨天。这个 70% 和 30% 就是转移概率。

    马尔可夫链是概率论中第一个被系统研究的随机过程,现在它被广泛应用于各个领域:

    搜索引擎(如 Google 的 PageRank 算法): 把互联网看作一个状态空间,用户随机点击链接的过程就是一个马尔可夫链,用来计算网页的重要性。

    自然语言处理: 预测下一个词是什么(虽然现在的 AI 模型更复杂,但早期的 n-gram 模型就是基于此)。

    排队论: 银行排队、网络数据包传输,都可以用马尔可夫链来模拟等待时间。

    生物信息学: 用于基因序列的分析和预测。

    马尔可夫链,可以让复杂的长期预测问题,变得可以通过矩阵计算(转移概率矩阵)来解决,是现代数据科学和算法的基础工具之一。

    用矩阵来解马尔可夫链,核心就是把状态转移的关系整理成一个转移概率矩阵,然后通过矩阵乘法来计算未来的状态概率。

    这种方法能把复杂的递推关系变得非常直观且系统化。

    我们从一个简单的甲乙比赛问题来具体演示一下怎么操作。

    在马尔可夫链中,我们把所有状态列出来,然后构建一个矩阵 P,其中元素 Pᵢⱼ表示从状态 j 转移到状态 i 的概率。

    注意:有些教材定义为从 i 到 j,这里采用列向量习惯,即状态向量左乘矩阵。

    1. 定义状态

    状态是“甲比乙多的分数”:

    状态 0:比分差 -3(乙赢,吸收态)

    状态 1:比分差 -2

    状态 2:比分差 -1

    状态 3:比分差 0(起始点)

    状态 4:比分差 +1

    状态 5:比分差 +2

    状态 6:比分差 +3(甲赢,吸收态)

    2. 构建转移概率矩阵

    设每局甲赢概率p = 2/3,乙赢概率q = 1/3。

    矩阵 M 的大小是 7 × 7。

    代表从状态 j 转移到状态 i 的概率。

    吸收态: 一旦进去就出不来。

    = 1 (乙赢了,游戏结束)

    = 1 (甲赢了,游戏结束)

    中间态:

    比如在状态 1,比分差-2:

    有 p 的概率变成状态 2,比分差-1;

    有 q 的概率变成状态 0,比分差-3。

    构建出来的矩阵,用数字表示:

    pagerank的原理及计算

    求解方法:基本矩阵

    对于包含吸收态的马尔可夫链,有一个标准的解法套路。

    1. 重排矩阵(可选,便于理解)

    通常我们会把吸收态放在前面,矩阵可以写成分块矩阵的形式:

    pagerank的原理及计算

    I:单位矩阵(吸收态自己转自己)。

    Q:瞬态之间的转移。

    R:从瞬态转移到吸收态的概率。

    2. 计算基本矩阵

    计算 N = (I - Q)⁻¹

    这里的 N 叫做基本矩阵。

    表示从状态 j 出发,在被吸收之前经过状态 i 的期望次数。

    3. 计算吸收概率

    最终的吸收概率 B 为:

    B = N × R

    矩阵 B

    表示从第 j 个瞬态出发,最终被第 i 个吸收态吸收的概率。

    虽然用矩阵解这个问题,有点“杀鸡用牛刀”,但可以加深理解其间本质。

    接下去,我们只关注瞬态(-2, -1, 0, 1, 2)之间的转移,以及它们掉进吸收态(-3 或 +3)的概率。

    设 Q 为瞬态之间的转移矩阵(行和列对应 -2, -1, 0, 1, 2):

    pagerank的原理及计算

    设 R 为从瞬态掉进吸收态的概率:

    第一列(掉进 -3):甲只有从 -2 分,再输一局会掉进去,概率是 q。

    第二列(掉进 +3):甲只有从 +2 分,再赢一局会掉进去,概率是 p。

    pagerank的原理及计算

    计算步骤

    1. 计算 I - Q

    2. 求逆矩阵 N = (I - Q)⁻¹

    3. 计算 B = N × R

    在结果矩阵 B 中,找到对应起始状态的那一行。

    -3

    , 1/9,甲输的概率。

    +3

    , 8/9,甲赢的概率。

    对于状态很多的复杂问题,比如围棋AI评估胜率、网页排名;用矩阵运算——计算机非常擅长做矩阵乘法,这比解一堆方程要高效得多。

     
    举报收藏 0打赏 0评论 0
    更多>相关评论
    暂时没有评论,来说点什么吧
    更多>同类百科知识
    推荐图文
    推荐百科知识