马尔可夫链蒙特卡洛(MCMC)采样算法的原理与实现步骤
字数 1884 2025-10-30 08:32:20

马尔可夫链蒙特卡洛(MCMC)采样算法的原理与实现步骤

题目描述
马尔可夫链蒙特卡洛(MCMC)是一种通过构建马尔可夫链来从复杂概率分布中采样的计算方法。它广泛应用于贝叶斯推断、统计物理和机器学习中,尤其适用于直接采样困难的多维分布(如后验分布)。本题将详细讲解MCMC的核心思想、Metropolis-Hastings算法的步骤,以及收敛性判断方法。

解题过程

  1. 问题背景

    • 目标:从目标概率分布 \(p(x)\)(如贝叶斯后验 \(p(\theta \mid D)\))中抽取样本。
    • 难点:\(p(x)\) 可能非标准形式、多维或包含复杂归一化常数(如分区函数),无法直接采样。
    • MCMC思路:构造一条马尔可夫链,使其平稳分布等于目标分布 \(p(x)\),通过迭代转移生成近似样本。
  2. 马尔可夫链与平稳分布

    • 马尔可夫链:状态序列 \(x^{(0)}, x^{(1)}, \ldots\),满足 \(p(x^{(t)} \mid x^{(t-1)}) = T(x^{(t)} \mid x^{(t-1)})\)(转移概率仅依赖前一状态)。
    • 平稳分布 \(\pi(x)\):若链的转移概率满足细致平衡条件 \(\pi(x)T(x' \mid x) = \pi(x')T(x \mid x')\),则 \(\pi(x)\) 为平稳分布。
    • MCMC目标:设计转移核 \(T\),使 \(p(x)\) 成为平稳分布。
  3. Metropolis-Hastings算法步骤

    • 输入:目标分布 \(p(x)\)(可差一常数因子),提议分布 \(q(x' \mid x)\)(如高斯分布),初始值 \(x^{(0)}\),迭代次数 \(N\)
    • 过程
      a. 初始化 \(x^{(0)}\),设置 \(t = 0\)
      b. 循环执行以下步骤直到 \(t = N\)
      i. 从提议分布生成候选样本 \(x' \sim q(x' \mid x^{(t)})\)
      ii. 计算接受率 \(\alpha = \min\left(1, \frac{p(x') q(x^{(t)} \mid x')}{p(x^{(t)}) q(x' \mid x^{(t)})}\right)\)
      iii. 以概率 \(\alpha\) 接受候选样本:从均匀分布 \(u \sim U(0,1)\),若 \(u \leq \alpha\),则 \(x^{(t+1)} = x'\);否则 \(x^{(t+1)} = x^{(t)}\)
      iv. \(t = t + 1\)
    • 输出:样本序列 \(\{x^{(1)}, x^{(2)}, \ldots, x^{(N)}\}\)(需去除初始燃烧期样本)。
  4. 关键细节解释

    • 提议分布 \(q\):选择对称分布(如高斯)时,\(q(x' \mid x) = q(x \mid x')\),接受率简化为 \(\alpha = \min(1, p(x')/p(x^{(t)}))\)(Metropolis算法)。
    • 接受率意义:以概率 \(\alpha\) 跳转到新状态,否则保持原状态,确保细致平衡条件成立。
    • 燃烧期(Burn-in):初始阶段链未收敛到平稳分布,需丢弃前 \(M\) 个样本(如 \(M = N/5\))。
    • 样本相关性:相邻样本可能高度相关,可通过稀疏采样(每 \(k\) 步取一个样本)降低自相关性。
  5. 收敛性诊断

    • 轨迹图:观察参数随时间变化是否稳定波动。
    • 多链比较:从不同初始值运行多条链,检查是否收敛到相同分布。
    • 自相关函数:计算样本间隔 \(k\) 步的自相关性,衰减速度反映混合效率。
  6. 示例演示

    • 假设目标分布 \(p(x) = 0.3e^{-0.2x^2} + 0.7e^{-0.2(x-10)^2}\)(双峰分布),提议分布 \(q(x' \mid x) = N(x' \mid x, 100)\)
    • 运行MCMC:初始值 \(x^{(0)} = 0\),迭代 \(N=5000\) 次,燃烧期 \(M=1000\)
    • 结果:样本直方图近似 \(p(x)\),验证算法有效性。

总结
MCMC通过马尔可夫链的渐进收敛性解决复杂采样问题,其核心是接受-拒绝机制平衡探索与利用。实际应用中需调整提议分布宽度(太窄导致接受率高但混合慢,太宽导致接受率低)并监控收敛指标。

马尔可夫链蒙特卡洛(MCMC)采样算法的原理与实现步骤 题目描述 马尔可夫链蒙特卡洛(MCMC)是一种通过构建马尔可夫链来从复杂概率分布中采样的计算方法。它广泛应用于贝叶斯推断、统计物理和机器学习中,尤其适用于直接采样困难的多维分布(如后验分布)。本题将详细讲解MCMC的核心思想、Metropolis-Hastings算法的步骤,以及收敛性判断方法。 解题过程 问题背景 目标:从目标概率分布 \( p(x) \)(如贝叶斯后验 \( p(\theta \mid D) \))中抽取样本。 难点:\( p(x) \) 可能非标准形式、多维或包含复杂归一化常数(如分区函数),无法直接采样。 MCMC思路:构造一条马尔可夫链,使其平稳分布等于目标分布 \( p(x) \),通过迭代转移生成近似样本。 马尔可夫链与平稳分布 马尔可夫链:状态序列 \( x^{(0)}, x^{(1)}, \ldots \),满足 \( p(x^{(t)} \mid x^{(t-1)}) = T(x^{(t)} \mid x^{(t-1)}) \)(转移概率仅依赖前一状态)。 平稳分布 \( \pi(x) \):若链的转移概率满足细致平衡条件 \( \pi(x)T(x' \mid x) = \pi(x')T(x \mid x') \),则 \( \pi(x) \) 为平稳分布。 MCMC目标:设计转移核 \( T \),使 \( p(x) \) 成为平稳分布。 Metropolis-Hastings算法步骤 输入 :目标分布 \( p(x) \)(可差一常数因子),提议分布 \( q(x' \mid x) \)(如高斯分布),初始值 \( x^{(0)} \),迭代次数 \( N \)。 过程 : a. 初始化 \( x^{(0)} \),设置 \( t = 0 \)。 b. 循环执行以下步骤直到 \( t = N \): i. 从提议分布生成候选样本 \( x' \sim q(x' \mid x^{(t)}) \)。 ii. 计算接受率 \( \alpha = \min\left(1, \frac{p(x') q(x^{(t)} \mid x')}{p(x^{(t)}) q(x' \mid x^{(t)})}\right) \)。 iii. 以概率 \( \alpha \) 接受候选样本:从均匀分布 \( u \sim U(0,1) \),若 \( u \leq \alpha \),则 \( x^{(t+1)} = x' \);否则 \( x^{(t+1)} = x^{(t)} \)。 iv. \( t = t + 1 \)。 输出 :样本序列 \( \{x^{(1)}, x^{(2)}, \ldots, x^{(N)}\} \)(需去除初始燃烧期样本)。 关键细节解释 提议分布 \( q \) :选择对称分布(如高斯)时,\( q(x' \mid x) = q(x \mid x') \),接受率简化为 \( \alpha = \min(1, p(x')/p(x^{(t)})) \)(Metropolis算法)。 接受率意义 :以概率 \( \alpha \) 跳转到新状态,否则保持原状态,确保细致平衡条件成立。 燃烧期(Burn-in) :初始阶段链未收敛到平稳分布,需丢弃前 \( M \) 个样本(如 \( M = N/5 \))。 样本相关性 :相邻样本可能高度相关,可通过稀疏采样(每 \( k \) 步取一个样本)降低自相关性。 收敛性诊断 轨迹图:观察参数随时间变化是否稳定波动。 多链比较:从不同初始值运行多条链,检查是否收敛到相同分布。 自相关函数:计算样本间隔 \( k \) 步的自相关性,衰减速度反映混合效率。 示例演示 假设目标分布 \( p(x) = 0.3e^{-0.2x^2} + 0.7e^{-0.2(x-10)^2} \)(双峰分布),提议分布 \( q(x' \mid x) = N(x' \mid x, 100) \)。 运行MCMC:初始值 \( x^{(0)} = 0 \),迭代 \( N=5000 \) 次,燃烧期 \( M=1000 \)。 结果:样本直方图近似 \( p(x) \),验证算法有效性。 总结 MCMC通过马尔可夫链的渐进收敛性解决复杂采样问题,其核心是接受-拒绝机制平衡探索与利用。实际应用中需调整提议分布宽度(太窄导致接受率高但混合慢,太宽导致接受率低)并监控收敛指标。