马尔可夫链蒙特卡洛(MCMC)中的随机游走Metropolis算法原理与采样过程
字数 2295 2025-12-02 01:40:35

马尔可夫链蒙特卡洛(MCMC)中的随机游走Metropolis算法原理与采样过程

题目描述

随机游走Metropolis算法是MCMC采样方法的核心算法之一,用于从复杂概率分布(如高维、非标准形式的后验分布)中抽取样本。其核心思想是构造一条马尔可夫链,使得链的平稳分布恰好是目标分布。算法通过“提议-接受”的随机游走机制生成样本,无需计算目标分布的整体归一化常数。


解题过程详解

1. 算法核心思想

设目标分布为 \(\pi(x)\)(例如贝叶斯分析中的后验分布),我们需要从中采样。随机游走Metropolis算法的步骤如下:

  1. 初始化:选择一个初始状态 \(x_0\)
  2. 迭代采样:对于每个时刻 \(t\),执行以下操作:
    • 提议阶段:从当前状态 \(x_t\) 出发,根据提议分布(Proposal Distribution) \(q(x' | x_t)\) 生成一个候选状态 \(x'\)。通常使用对称的随机游走分布(如高斯分布 \(\mathcal{N}(x_t, \sigma^2)\)),满足 \(q(x' | x_t) = q(x_t | x')\)
    • 接受阶段:计算接受概率(Acceptance Probability)

\[ \alpha = \min\left(1, \frac{\pi(x')}{\pi(x_t)}\right) \]

 若提议分布非对称,则需修正为 $ \alpha = \min\left(1, \frac{\pi(x') q(x_t | x')}{\pi(x_t) q(x' | x_t)}\right) $。  
  • 转移决策:以概率 \(\alpha\) 接受候选状态(令 \(x_{t+1} = x'\)),否则保留当前状态(令 \(x_{t+1} = x_t\))。
  1. 收敛后处理:丢弃初始的燃烧期(Burn-in)样本,保留后续样本作为目标分布的近似采样。

2. 关键原理分析

为什么这样采样能收敛到目标分布?

  • 细致平衡条件(Detailed Balance)
    算法设计的接受概率 \(\alpha\) 确保了马尔可夫链满足细致平衡条件:

\[ \pi(x_t) \cdot P(x_{t+1} = x' | x_t) = \pi(x') \cdot P(x_{t+1} = x_t | x') \]

其中转移概率 \(P(x' | x_t) = q(x' | x_t) \alpha(x' | x_t)\)。当提议分布对称时,容易验证:

\[ \pi(x_t) q(x' | x_t) \min\left(1, \frac{\pi(x')}{\pi(x_t)}\right) = \min\left(\pi(x_t) q(x' | x_t), \pi(x') q(x' | x_t)\right) \]

同理可得右侧对称形式,因此细致平衡成立。

  • 遍历性:只要提议分布能覆盖目标分布的支持集,链最终会探索整个分布空间。

3. 具体计算示例

假设目标分布为单峰高斯分布 \(\pi(x) \propto \exp(-x^2/2)\),提议分布为 \(\mathcal{N}(x_t, \sigma^2)\)

  1. 初始化 \(x_0 = 0\),设定 \(\sigma = 1\)
  2. \(t\) 步:
    • \(\mathcal{N}(x_t, 1)\) 抽样得到候选点 \(x'\)
    • 计算接受概率:

\[ \alpha = \min\left(1, \frac{\exp(-x'^2/2)}{\exp(-x_t^2/2)}\right) = \min\left(1, \exp\left(-\frac{1}{2}(x'^2 - x_t^2)\right)\right) \]

  • 生成随机数 \(u \sim \text{Uniform}(0,1)\)。若 \(u \leq \alpha\),则接受 \(x'\);否则保留 \(x_t\)
  1. 重复步骤2,生成序列 \(x_0, x_1, \dots, x_N\)

4. 参数调节与实际问题

  • 提议分布的方差 \(\sigma^2\)
    • \(\sigma\) 过小:接受率高,但游走缓慢,样本相关性高。
    • \(\sigma\) 过大:提议点易落在低概率区域,接受率低,链易停滞。
    • 经验上,接受率控制在 20%~40% 时效率较优(针对高维问题)。
  • 燃烧期(Burn-in):初始样本可能不服从目标分布,需丢弃前 \(k\) 个样本(如前1000个)。
  • 样本相关性:可通过每 \(m\) 步取一个样本(Thinning)降低自相关性,但会浪费样本。

5. 算法变体与扩展

  • Metropolis-Hastings算法:放宽提议分布的对称性要求,通过修正接受概率兼容非对称提议。
  • 自适应Metropolis:根据历史样本动态调整提议分布的参数,提升收敛速度。

总结

随机游走Metropolis算法通过对称提议分布与接受-拒绝机制,将采样问题转化为马尔可夫链的构造问题。其优势在于仅需计算目标分布的比例(无需归一化),适用于复杂概率模型。然而,在高维空间中需谨慎调节参数以避免低效游走。理解该算法是掌握MCMC方法的基础,也为更先进的采样算法(如HMC、NUTS)提供了重要铺垫。

马尔可夫链蒙特卡洛(MCMC)中的随机游走Metropolis算法原理与采样过程 题目描述 随机游走Metropolis算法是MCMC采样方法的核心算法之一,用于从复杂概率分布(如高维、非标准形式的后验分布)中抽取样本。其核心思想是构造一条马尔可夫链,使得链的平稳分布恰好是目标分布。算法通过“提议-接受”的随机游走机制生成样本,无需计算目标分布的整体归一化常数。 解题过程详解 1. 算法核心思想 设目标分布为 \( \pi(x) \)(例如贝叶斯分析中的后验分布),我们需要从中采样。随机游走Metropolis算法的步骤如下: 初始化 :选择一个初始状态 \( x_ 0 \)。 迭代采样 :对于每个时刻 \( t \),执行以下操作: 提议阶段 :从当前状态 \( x_ t \) 出发,根据提议分布(Proposal Distribution) \( q(x' | x_ t) \) 生成一个候选状态 \( x' \)。通常使用对称的随机游走分布(如高斯分布 \( \mathcal{N}(x_ t, \sigma^2) \)),满足 \( q(x' | x_ t) = q(x_ t | x') \)。 接受阶段 :计算接受概率(Acceptance Probability) \[ \alpha = \min\left(1, \frac{\pi(x')}{\pi(x_ t)}\right) \] 若提议分布非对称,则需修正为 \( \alpha = \min\left(1, \frac{\pi(x') q(x_ t | x')}{\pi(x_ t) q(x' | x_ t)}\right) \)。 转移决策 :以概率 \( \alpha \) 接受候选状态(令 \( x_ {t+1} = x' \)),否则保留当前状态(令 \( x_ {t+1} = x_ t \))。 收敛后处理 :丢弃初始的燃烧期(Burn-in)样本,保留后续样本作为目标分布的近似采样。 2. 关键原理分析 为什么这样采样能收敛到目标分布? 细致平衡条件(Detailed Balance) : 算法设计的接受概率 \( \alpha \) 确保了马尔可夫链满足细致平衡条件: \[ \pi(x_ t) \cdot P(x_ {t+1} = x' | x_ t) = \pi(x') \cdot P(x_ {t+1} = x_ t | x') \] 其中转移概率 \( P(x' | x_ t) = q(x' | x_ t) \alpha(x' | x_ t) \)。当提议分布对称时,容易验证: \[ \pi(x_ t) q(x' | x_ t) \min\left(1, \frac{\pi(x')}{\pi(x_ t)}\right) = \min\left(\pi(x_ t) q(x' | x_ t), \pi(x') q(x' | x_ t)\right) \] 同理可得右侧对称形式,因此细致平衡成立。 遍历性 :只要提议分布能覆盖目标分布的支持集,链最终会探索整个分布空间。 3. 具体计算示例 假设目标分布为单峰高斯分布 \( \pi(x) \propto \exp(-x^2/2) \),提议分布为 \( \mathcal{N}(x_ t, \sigma^2) \)。 初始化 \( x_ 0 = 0 \),设定 \( \sigma = 1 \)。 第 \( t \) 步: 从 \( \mathcal{N}(x_ t, 1) \) 抽样得到候选点 \( x' \)。 计算接受概率: \[ \alpha = \min\left(1, \frac{\exp(-x'^2/2)}{\exp(-x_ t^2/2)}\right) = \min\left(1, \exp\left(-\frac{1}{2}(x'^2 - x_ t^2)\right)\right) \] 生成随机数 \( u \sim \text{Uniform}(0,1) \)。若 \( u \leq \alpha \),则接受 \( x' \);否则保留 \( x_ t \)。 重复步骤2,生成序列 \( x_ 0, x_ 1, \dots, x_ N \)。 4. 参数调节与实际问题 提议分布的方差 \( \sigma^2 \) : \( \sigma \) 过小:接受率高,但游走缓慢,样本相关性高。 \( \sigma \) 过大:提议点易落在低概率区域,接受率低,链易停滞。 经验上,接受率控制在 20%~40% 时效率较优(针对高维问题)。 燃烧期(Burn-in) :初始样本可能不服从目标分布,需丢弃前 \( k \) 个样本(如前1000个)。 样本相关性 :可通过每 \( m \) 步取一个样本(Thinning)降低自相关性,但会浪费样本。 5. 算法变体与扩展 Metropolis-Hastings算法 :放宽提议分布的对称性要求,通过修正接受概率兼容非对称提议。 自适应Metropolis :根据历史样本动态调整提议分布的参数,提升收敛速度。 总结 随机游走Metropolis算法通过对称提议分布与接受-拒绝机制,将采样问题转化为马尔可夫链的构造问题。其优势在于仅需计算目标分布的比例(无需归一化),适用于复杂概率模型。然而,在高维空间中需谨慎调节参数以避免低效游走。理解该算法是掌握MCMC方法的基础,也为更先进的采样算法(如HMC、NUTS)提供了重要铺垫。