马尔可夫链蒙特卡洛(MCMC)中的切片采样(Slice Sampling)算法原理与采样过程
字数 1443 2025-11-09 02:28:08
马尔可夫链蒙特卡洛(MCMC)中的切片采样(Slice Sampling)算法原理与采样过程
题目描述
切片采样是一种用于从复杂概率分布中抽取样本的MCMC方法,特别适用于难以直接采样的多维或非标准分布。其核心思想是通过引入辅助变量(即“切片”),将采样问题转化为在均匀分布下的条件采样,从而避免直接处理目标分布。本题要求详细解释切片采样的原理、步骤及其收敛性。
解题过程
-
基本思想
- 目标:从目标分布 \(p(x)\) 中采样,其中 \(p(x)\) 可能未归一化(即已知 \(f(x) \propto p(x)\))。
- 关键步骤:
- 引入辅助变量 \(u\),构造联合分布 \(p(x, u)\),使得边缘分布 \(p(x)\) 为目标分布。
- 通过吉布斯采样交替更新 \(u\) 和 \(x\),其中 \(u\) 在给定 \(x\) 时服从均匀分布,\(x\) 在给定 \(u\) 时在特定区间内均匀采样。
-
单变量切片采样步骤
- 步骤1:初始化
选择初始样本 \(x_0\),设定迭代次数 \(T\)。 - 步骤2:生成辅助变量 \(u\)
在迭代 \(t\),给定当前样本 \(x_t\),从均匀分布 \(U(0, f(x_t))\) 中采样 \(u\),其中 \(f(x)\) 是目标分布的未归一化形式。这一步相当于在纵坐标方向“切片”。 - 步骤3:确定采样区间
找到一个区间 \(I = [L, R]\),使得区间内所有 \(x\) 满足 \(f(x) \geq u\)。常用方法:- 扩展法:从当前点 \(x_t\) 向左/右扩展,直到 \(f(x) < u\)。例如,步长按指数增长以避免过慢扩展。
- 步骤4:从区间内均匀采样
从区间 \(I\) 中均匀采样得到 \(x_{t+1}\)。若区间选择合理,则新样本服从 \(p(x)\)。 - 步骤5:迭代
重复步骤2-4直至收敛。
- 步骤1:初始化
-
多维推广
- 对多维变量 \(\mathbf{x} = (x_1, \dots, x_d)\),可依次对每个维度进行切片采样(类似吉布斯采样):
- 固定其他维度,对 \(x_i\) 应用单变量切片采样。
- 循环更新所有维度。
- 也可直接定义多维“切片”区间,但计算更复杂。
- 对多维变量 \(\mathbf{x} = (x_1, \dots, x_d)\),可依次对每个维度进行切片采样(类似吉布斯采样):
-
收敛性分析
- 切片采样生成的马尔可夫链满足细致平衡条件,从而收敛到目标分布 \(p(x)\)。
- 优点:无需设置步长参数(对比Metropolis-Hastings),适应性强;缺点:区间确定可能计算代价高。
-
示例说明
假设目标分布 \(p(x) \propto \exp(-x^2/2)\)(标准正态分布):- 给定当前 \(x_t = 0.5\),计算 \(f(0.5) = \exp(-0.125) \approx 0.882\)。
- 采样 \(u \sim U(0, 0.882)\),得到 \(u = 0.3\)。
- 解不等式 \(\exp(-x^2/2) \geq 0.3\),得区间 \([-1.55, 1.55]\)。
- 从该区间均匀采样得到 \(x_{t+1}\)。
总结
切片采样通过辅助变量将采样转化为均匀分布问题,避免了目标分布的直接处理,特别适用于峰值复杂或相关性强的分布。其核心在于动态确定采样区间,保证样本的正确性与效率。