本文是将文章【Metropolis-Hastings 算法】中基本原理部分的“3.满条件分布”拿出来做一个解析, 便于初学者更好的理解。
Metropolis-Hastings 算法中的满条件分布
1. 满条件分布的定义
满条件分布(Full Conditional Distribution)描述的是一个随机变量或一组变量在其余变量给定条件下的概率分布。假设目标分布是一个
k
k
k 维联合分布
p
(
x
)
p(x)
p(x),其中:
x
=
(
x
1
,
x
2
,
⋯
,
x
k
)
T
x = (x_1, x_2, \cdots, x_k)^T
x=(x1,x2,⋯,xk)T
满条件分布的形式
对于一个变量集合
x
I
=
{
x
i
:
i
∈
I
}
x_I = \{x_i : i \in I\}
xI={xi:i∈I}(
I
⊆
{
1
,
2
,
⋯
,
k
}
I \subseteq \{1, 2, \cdots, k\}
I⊆{1,2,⋯,k})和补集变量
x
−
I
=
{
x
i
:
i
∉
I
}
x_{-I} = \{x_i : i \notin I\}
x−I={xi:i∈/I},满条件分布定义为:
p
(
x
I
∣
x
−
I
)
=
p
(
x
)
∫
p
(
x
)
d
x
I
∝
p
(
x
)
(19.45)
p(x_I | x_{-I}) = \frac{p(x)}{\int p(x) dx_I} \propto p(x) \tag{19.45}
p(xI∣x−I)=∫p(x)dxIp(x)∝p(x)(19.45)
- 含义:
- 满条件分布 p ( x I ∣ x − I ) p(x_I | x_{-I}) p(xI∣x−I) 描述的是在 x − I x_{-I} x−I 给定时,变量 x I x_I xI 的分布;
- 它与联合概率分布 p ( x ) p(x) p(x) 成正比,可以通过联合分布的表达式直接计算(省略归一化常数)。
2. 满条件分布的重要性质
性质 1:满条件分布的比值
对于任意
x
,
x
′
∈
X
x, x' \in X
x,x′∈X 和任意
I
⊆
K
I \subseteq K
I⊆K,有:
p
(
x
I
′
∣
x
−
I
′
)
p
(
x
I
∣
x
−
I
)
=
p
(
x
′
)
p
(
x
)
(19.46)
\frac{p(x_I' | x_{-I}')}{p(x_I | x_{-I})} = \frac{p(x')}{p(x)} \tag{19.46}
p(xI∣x−I)p(xI′∣x−I′)=p(x)p(x′)(19.46)
-
推导过程:
- 满条件分布定义为 p ( x I ∣ x − I ) ∝ p ( x ) p(x_I | x_{-I}) \propto p(x) p(xI∣x−I)∝p(x);
- 满条件分布的比值:
p ( x I ′ ∣ x − I ′ ) p ( x I ∣ x − I ) = p ( x ′ ) / Z ′ p ( x ) / Z = p ( x ′ ) p ( x ) \frac{p(x_I' | x_{-I}')}{p(x_I | x_{-I})} = \frac{p(x') / Z'}{p(x) / Z} = \frac{p(x')}{p(x)} p(xI∣x−I)p(xI′∣x−I′)=p(x)/Zp(x′)/Z′=p(x)p(x′)
(其中 Z Z Z 和 Z ′ Z' Z′ 是归一化常数,可以相互抵消)。
-
意义:
- 满条件分布的比值直接等于联合分布 p ( x ) p(x) p(x) 的比值;
- 利用满条件分布的比值,可以更高效地计算联合概率分布的比值。
性质 2:简化 Metropolis-Hastings 算法
在 Metropolis-Hastings 算法中,通过性质 (19.46),可以将联合概率分布的比值 p ( x ′ ) p ( x ) \frac{p(x')}{p(x)} p(x)p(x′) 转换为满条件分布的比值 p ( x I ′ ∣ x − I ′ ) p ( x I ∣ x − I ) \frac{p(x_I' | x_{-I}')}{p(x_I | x_{-I})} p(xI∣x−I)p(xI′∣x−I′)。这种转换通常可以大幅简化计算,因为满条件分布通常比联合分布更易求解。
3. 示例:联合分布求满条件分布
联合分布
设两个变量
x
1
x_1
x1 和
x
2
x_2
x2 的联合概率分布的密度函数为:
p
(
x
1
,
x
2
)
∝
exp
[
−
1
2
(
x
1
−
1
)
2
(
x
2
−
1
)
2
]
p(x_1, x_2) \propto \exp \left[ -\frac{1}{2} (x_1 - 1)^2 (x_2 - 1)^2 \right]
p(x1,x2)∝exp[−21(x1−1)2(x2−1)2]
求满条件分布 p ( x 1 ∣ x 2 ) p(x_1 | x_2) p(x1∣x2)
-
根据满条件分布定义:
p ( x 1 ∣ x 2 ) ∝ p ( x 1 , x 2 ) p(x_1 | x_2) \propto p(x_1, x_2) p(x1∣x2)∝p(x1,x2) -
代入联合分布:
p ( x 1 ∣ x 2 ) ∝ exp [ − 1 2 ( x 1 − 1 ) 2 ( x 2 − 1 ) 2 ] p(x_1 | x_2) \propto \exp \left[ -\frac{1}{2} (x_1 - 1)^2 (x_2 - 1)^2 \right] p(x1∣x2)∝exp[−21(x1−1)2(x2−1)2] -
化简形式:
- 对于
x
1
x_1
x1,这与正态分布的概率密度函数形式一致:
p ( x 1 ∣ x 2 ) ∝ N ( 1 , ( x 2 − 1 ) − 2 ) p(x_1 | x_2) \propto N\left(1, (x_2 - 1)^{-2}\right) p(x1∣x2)∝N(1,(x2−1)−2) - 即:
p ( x 1 ∣ x 2 ) ∼ 正态分布 ( 均值 = 1 , 方差 = ( x 2 − 1 ) − 2 ) p(x_1 | x_2) \sim \text{正态分布}(\text{均值}=1, \text{方差}=(x_2 - 1)^{-2}) p(x1∣x2)∼正态分布(均值=1,方差=(x2−1)−2)
- 对于
x
1
x_1
x1,这与正态分布的概率密度函数形式一致:
-
解释:
- x 2 x_2 x2 是一个参数,决定了条件分布 p ( x 1 ∣ x 2 ) p(x_1 | x_2) p(x1∣x2) 的方差;
- 方差随 x 2 x_2 x2 增大而减小。
求满条件分布 p ( x 2 ∣ x 1 ) p(x_2 | x_1) p(x2∣x1)
同理:
p
(
x
2
∣
x
1
)
∝
exp
[
−
1
2
(
x
2
−
1
)
2
(
x
1
−
1
)
2
]
p(x_2 | x_1) \propto \exp \left[ -\frac{1}{2} (x_2 - 1)^2 (x_1 - 1)^2 \right]
p(x2∣x1)∝exp[−21(x2−1)2(x1−1)2]
- 化简后:
p ( x 2 ∣ x 1 ) ∼ 正态分布 ( 均值 = 1 , 方差 = ( x 1 − 1 ) − 2 ) p(x_2 | x_1) \sim \text{正态分布}(\text{均值}=1, \text{方差}=(x_1 - 1)^{-2}) p(x2∣x1)∼正态分布(均值=1,方差=(x1−1)−2)
4. 满条件分布在 Metropolis-Hastings 算法中的作用
-
简化联合分布的计算:
- 满条件分布可以通过直接代入联合分布的表达式计算,避免对联合分布积分或归一化的繁琐过程。
-
优化接受概率的计算:
- 在 Metropolis-Hastings 算法中,接受概率公式为:
α ( 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)) - 若使用满条件分布,可以简化为:
α ( x , x ′ ) = min ( 1 , p ( x I ′ ∣ x − I ′ ) p ( x I ∣ x − I ) ) \alpha(x, x') = \min\left(1, \frac{p(x_I' | x_{-I}')}{p(x_I | x_{-I})}\right) α(x,x′)=min(1,p(xI∣x−I)p(xI′∣x−I′))
从而减少计算复杂度。
- 在 Metropolis-Hastings 算法中,接受概率公式为:
-
示例应用:
- 在联合分布较复杂但条件分布易于解析的场景下(如多变量正态分布或多变量指数分布),满条件分布的引入显著提高了采样效率。
5. 总结
满条件分布是 Metropolis-Hastings 算法中的重要工具:
- 定义:描述变量 x I x_I xI 在其余变量 x − I x_{-I} x−I 给定条件下的分布;
- 性质:满条件分布的比值等于联合分布的比值,简化了联合分布的计算;
- 应用:通过满条件分布简化接受概率公式,优化 Metropolis-Hastings 算法的效率。
通过对条件分布和联合分布的关系进行巧妙利用,可以解决高维复杂分布的采样问题,提高采样速度和准确性。