本文是将文章【Metropolis-Hastings 算法】中第一部分基本原理中的“1.马尔可夫链”,单独拿出来做一个详细的解析, 便于初学者更好的理解。
1. 问题背景
假设我们想从目标分布 p ( x ) p(x) p(x) 中抽样,但直接采样困难,比如:
- p ( x ) p(x) p(x) 可能是一个复杂的概率密度函数;
- p ( x ) p(x) p(x) 的解析表达式难以处理。
为了解决这个问题,Metropolis-Hastings (MH) 算法通过构造一个马尔可夫链,使其平稳分布为 p ( x ) p(x) p(x),从而间接生成符合 p ( x ) p(x) p(x) 的样本。
2. Metropolis-Hastings 算法的核心思想
2.1 马尔可夫链的转移核
MH 算法的关键是定义一个转移核
p
(
x
,
x
′
)
p(x, x')
p(x,x′),通过它构造马尔可夫链:
p
(
x
,
x
′
)
=
q
(
x
,
x
′
)
α
(
x
,
x
′
)
(19.38)
p(x, x') = q(x, x') \alpha(x, x') \tag{19.38}
p(x,x′)=q(x,x′)α(x,x′)(19.38)
其中:
- q ( x , x ′ ) q(x, x') q(x,x′):建议分布(proposal distribution),决定了从当前状态 x x x 到候选状态 x ′ x' x′ 的采样方式;
- α ( x , x ′ ) \alpha(x, x') α(x,x′):接受分布(acceptance distribution),决定了是否接受候选状态 x ′ x' x′。
2.2 接受概率
接受概率定义为:
α
(
x
,
x
′
)
=
min
{
1
,
p
(
x
′
)
q
(
x
′
,
x
)
p
(
x
)
q
(
x
,
x
′
)
}
(19.39)
\alpha(x, x') = \min \left\{ 1, \frac{p(x')q(x', x)}{p(x)q(x, x')} \right\} \tag{19.39}
α(x,x′)=min{1,p(x)q(x,x′)p(x′)q(x′,x)}(19.39)
- 含义:
- 如果候选状态 x ′ x' x′ 的目标分布概率 p ( x ′ ) p(x') p(x′) 高于当前状态 x x x 的概率 p ( x ) p(x) p(x),则更有可能接受 x ′ x' x′;
- 如果候选状态的概率较低,则仍有一定概率接受,从而避免陷入局部最优。
3. MH 算法的转移核具体形式
MH 算法的转移核
p
(
x
,
x
′
)
p(x, x')
p(x,x′) 具体为:
p
(
x
,
x
′
)
=
{
q
(
x
,
x
′
)
,
p
(
x
′
)
q
(
x
′
,
x
)
≥
p
(
x
)
q
(
x
,
x
′
)
,
q
(
x
′
,
x
)
p
(
x
′
)
p
(
x
)
,
p
(
x
′
)
q
(
x
′
,
x
)
<
p
(
x
)
q
(
x
,
x
′
)
.
(19.40)
p(x, x') = \begin{cases} q(x, x'), & p(x')q(x', x) \geq p(x)q(x, x'), \\ q(x', x) \frac{p(x')}{p(x)}, & p(x')q(x', x) < p(x)q(x, x'). \end{cases} \tag{19.40}
p(x,x′)={q(x,x′),q(x′,x)p(x)p(x′),p(x′)q(x′,x)≥p(x)q(x,x′),p(x′)q(x′,x)<p(x)q(x,x′).(19.40)
转移核解释
- 当候选状态
x
′
x'
x′ 被接受时:
- 转移概率与建议分布 q ( x , x ′ ) q(x, x') q(x,x′) 和目标分布的比值相关;
- 当候选状态被拒绝时:
- 当前状态 x x x 保持不变,形成马尔可夫链的“停留”概率。
4. MH 算法的执行过程
4.1 采样步骤
-
初始化:选择一个初始状态 x 0 x_0 x0;
-
迭代更新:
- 从建议分布 q ( x , x ′ ) q(x, x') q(x,x′) 中采样候选状态 x ′ x' x′;
- 计算接受概率:
α ( x , x ′ ) = min { 1 , p ( x ′ ) q ( x ′ , x ) p ( x ) q ( x , x ′ ) } \alpha(x, x') = \min \left\{ 1, \frac{p(x')q(x', x)}{p(x)q(x, x')} \right\} α(x,x′)=min{1,p(x)q(x,x′)p(x′)q(x′,x)} - 从均匀分布
u
∼
U
(
0
,
1
)
u \sim U(0, 1)
u∼U(0,1) 中抽样一个随机数:
- 如果 u ≤ α ( x , x ′ ) u \leq \alpha(x, x') u≤α(x,x′),接受 x ′ x' x′ 为新状态;
- 否则,拒绝 x ′ x' x′,保持当前状态 x x x。
-
生成样本:重复上述步骤,生成的样本序列 { x 1 , x 2 , … , x t } \{x_1, x_2, \dots, x_t\} {x1,x2,…,xt} 会逐渐收敛到目标分布 p ( x ) p(x) p(x)。
4.2 特性
- MH 算法生成的马尔可夫链是可逆的,满足细致平衡条件;
- 平稳分布为目标分布 p ( x ) p(x) p(x)。
5. MH 算法的性质与推导
5.1 可逆性与细致平衡条件
MH 算法的转移核
p
(
x
,
x
′
)
p(x, x')
p(x,x′) 满足以下细致平衡条件:
p
(
x
)
p
(
x
,
x
′
)
=
p
(
x
′
)
p
(
x
′
,
x
)
(19.41)
p(x)p(x, x') = p(x')p(x', x) \tag{19.41}
p(x)p(x,x′)=p(x′)p(x′,x)(19.41)
证明过程:
-
假设 x ≠ x ′ x \neq x' x=x′,带入 α ( x , x ′ ) \alpha(x, x') α(x,x′) 的定义:
p ( x ) p ( x , x ′ ) = p ( x ) q ( x , x ′ ) min { 1 , p ( x ′ ) q ( x ′ , x ) p ( x ) q ( x , x ′ ) } p(x)p(x, x') = p(x)q(x, x') \min \left\{ 1, \frac{p(x')q(x', x)}{p(x)q(x, x')} \right\} p(x)p(x,x′)=p(x)q(x,x′)min{1,p(x)q(x,x′)p(x′)q(x′,x)} -
根据 min ( a , b ) \min(a, b) min(a,b) 的性质,重写为:
p ( x ) p ( x , x ′ ) = min { p ( x ) q ( x , x ′ ) , p ( x ′ ) q ( x ′ , x ) } p(x)p(x, x') = \min \{ p(x)q(x, x'), p(x')q(x', x) \} p(x)p(x,x′)=min{p(x)q(x,x′),p(x′)q(x′,x)} -
对称性:
p ( x ) p ( x , x ′ ) = p ( x ′ ) q ( x ′ , x ) min { 1 , p ( x ) q ( x , x ′ ) p ( x ′ ) q ( x ′ , x ) } p(x)p(x, x') = p(x')q(x', x) \min \left\{ 1, \frac{p(x)q(x, x')}{p(x')q(x', x)} \right\} p(x)p(x,x′)=p(x′)q(x′,x)min{1,p(x′)q(x′,x)p(x)q(x,x′)} -
化简后得:
p ( x ) p ( x , x ′ ) = p ( x ′ ) p ( x ′ , x ) p(x)p(x, x') = p(x')p(x', x) p(x)p(x,x′)=p(x′)p(x′,x)
结论:
MH 算法的马尔可夫链是可逆的,其平稳分布为目标分布
p
(
x
)
p(x)
p(x)。
5.2 平稳分布的推导
-
根据细致平衡条件:
p ( x ) p ( x , x ′ ) = p ( x ′ ) p ( x ′ , x ) p(x)p(x, x') = p(x')p(x', x) p(x)p(x,x′)=p(x′)p(x′,x) -
对 x ′ x' x′ 积分,得:
∫ p ( x ) p ( x , x ′ ) d x ′ = ∫ p ( x ′ ) p ( x ′ , x ) d x ′ \int p(x)p(x, x') dx' = \int p(x')p(x', x) dx' ∫p(x)p(x,x′)dx′=∫p(x′)p(x′,x)dx′ -
化简后,证明 p ( x ) p(x) p(x) 是平稳分布。
6. MH 算法的总结
-
算法核心:
通过建议分布 q ( x , x ′ ) q(x, x') q(x,x′) 和接受概率 α ( x , x ′ ) \alpha(x, x') α(x,x′),构造一个马尔可夫链,该链的平稳分布为目标分布 p ( x ) p(x) p(x)。 -
公式总结:
- 接受概率:
α ( x , x ′ ) = min { 1 , p ( x ′ ) q ( x ′ , x ) p ( x ) q ( x , x ′ ) } \alpha(x, x') = \min \left\{ 1, \frac{p(x')q(x', x)}{p(x)q(x, x')} \right\} α(x,x′)=min{1,p(x)q(x,x′)p(x′)q(x′,x)} - 转移核:
p ( x , x ′ ) = { q ( x , x ′ ) , p ( x ′ ) q ( x ′ , x ) ≥ p ( x ) q ( x , x ′ ) , q ( x ′ , x ) p ( x ′ ) p ( x ) , p ( x ′ ) q ( x ′ , x ) < p ( x ) q ( x , x ′ ) . p(x, x') = \begin{cases} q(x, x'), & p(x')q(x', x) \geq p(x)q(x, x'), \\ q(x', x) \frac{p(x')}{p(x)}, & p(x')q(x', x) < p(x)q(x, x'). \end{cases} p(x,x′)={q(x,x′),q(x′,x)p(x)p(x′),p(x′)q(x′,x)≥p(x)q(x,x′),p(x′)q(x′,x)<p(x)q(x,x′).
- 接受概率:
-
特点:
- 适用于复杂分布的采样;
- 能够避免陷入局部最优,通过概率接受较差的候选状态;
- 保证平稳分布与目标分布一致。