ESC
输入关键词搜索文章
目录

采样方法与蒙特卡罗方法

高级机器学习 · L06
解析算不动时,就让随机样本替你逼近期望
7核心方法
3完整证明
8课件引用
5参考来源
Part 0 · 学习目标
本节在课程中的位置

理解当概率分布 $p(\mathbf{z})$ 太复杂、无法解析计算期望或后验时,为什么采样能成为普适的数值逼近工具。掌握从简单分布采样(逆变换、拒绝采样)到 MCMC(Metropolis-Hastings、Gibbs)的完整工具链。

从课程脉络看:L03 贝叶斯分类需要计算后验 $p(\mathbf{z}|\mathbf{x})$,但真实模型的后验几乎算不动。L06 提供了一整套从"无法解析求积"到"数值采样近似"的工具箱。L07 的受限玻尔兹曼机训练和现代贝叶斯神经网络也都会回到 MCMC 思想。

前置知识回顾

  • 概率论:条件概率、期望、累积分布函数 (CDF)。作用:逆变换采样需要 CDF 的反函数。去哪里补:L03 贝叶斯分类。
  • 随机过程:马尔可夫链的平稳分布概念。作用:理解 MCMC 的收敛保证。去哪里补:概率论教材马尔可夫链章节。
  • 贝叶斯推断:后验 $p(\theta|D) \propto p(D|\theta)p(\theta)$ 通常归一化常数算不动。作用:采样方法的核心应用场景。去哪里补:L03 贝叶斯定理。
Part 1 · 背景问题
什么时候解析计算走不通

贝叶斯模型经常把问题带到一个尴尬位置:公式写出来了,但积分几乎算不动。比如:

  • 后验分布 $p(\theta|\mathbf{x}) = \frac{p(\mathbf{x}|\theta)p(\theta)}{\int p(\mathbf{x}|\theta)p(\theta)d\theta}$,分母上的高维积分没有解析解。
  • 期望 $\mathbb{E}_{p}[f] = \int f(\mathbf{z})p(\mathbf{z})d\mathbf{z}$,维度一高,数值积分(网格法)的代价指数增长。

采样方法的价值就在这里出现:它不试图把解析式硬算出来,而是直接从 $p(\mathbf{z})$ 或其近似分布中产生样本,再用样本平均估计期望。

PDF采样的直观引入:求不规则面积p.2

机器学习/25C06_采样方法.pdf · p.2

打开原文

采样方法不是"乱抽几个点",而是在构造一种长期来看服从目标分布的随机机制。
Part 2 · 概念定义
蒙特卡罗估计的基本框架

蒙特卡罗期望估计

若想计算 $\mathbb{E}[f] = \int f(\mathbf{z})p(\mathbf{z})d\mathbf{z}$,只要能从 $p(\mathbf{z})$ 中独立采样 $\mathbf{z}^{(1)}, \ldots, \mathbf{z}^{(L)}$,则:

$$\mathbb{E}[f] \approx \frac{1}{L}\sum_{l=1}^{L} f\!\left(\mathbf{z}^{(l)}\right), \quad \mathbf{z}^{(l)} \sim p(\mathbf{z})$$

由大数定律保证:当 $L \to \infty$ 时,样本平均几乎必然收敛到真实期望。

问题在于:$p(\mathbf{z})$ 通常不是我们能直接采样的标准分布。接下来的方法逐步解决"怎样从复杂分布中获取样本"。

Part 3 · 推导与结构
方法 1:逆变换采样

逆变换采样定理

$U \sim \mathrm{Uniform}(0,1)$$F$ 为目标分布的 CDF,则 $X = F^{-1}(U)$ 服从 $p(x)$

适用场景:CDF 已知且可求逆。对指数分布 $p(x) = \lambda e^{-\lambda x}$$x \geq 0$),CDF 为 $F(x) = 1 - e^{-\lambda x}$,反函数为 $F^{-1}(u) = -\frac{1}{\lambda}\ln(1-u)$。采样步骤:产生 $U \sim \mathrm{Uniform}(0,1)$,计算 $X = -\frac{1}{\lambda}\ln(1-U)$

局限:很多分布的 CDF 没有封闭形式的反函数(如高斯分布),此时需要 Box-Muller 变换等扩展方法。

PDF逆变换采样定理证明p.13

机器学习/25C06_采样方法.pdf · p.13

打开原文

Part 3 续 · 方法 2 & 3
拒绝采样与重要采样

拒绝采样 (Rejection Sampling)

找一个容易采样的提议分布 $q(\mathbf{z})$ 和常数 $k$,使得 $k \cdot q(\mathbf{z}) \geq p(\mathbf{z})$ 对所有 $\mathbf{z}$ 成立。采样流程:

  1. $q(\mathbf{z})$ 采样 $\mathbf{z}^*$
  2. $\mathrm{Uniform}(0, k \cdot q(\mathbf{z}^*))$ 采样 $u$
  3. $u \leq p(\mathbf{z}^*)$,接受 $\mathbf{z}^*$;否则拒绝。

接受概率为 $p_{\mathrm{accept}} = 1/k$$k$ 越小(即 $kq$ 越贴近 $p$),效率越高。

重要采样 (Importance Sampling)

不直接从 $p$ 采样,而是从提议分布 $q$ 采样,再用重要性权重修正:

$$\mathbb{E}[f] = \int f(\mathbf{z})p(\mathbf{z})d\mathbf{z} = \int f(\mathbf{z})\frac{p(\mathbf{z})}{q(\mathbf{z})}q(\mathbf{z})d\mathbf{z} \approx \sum_{l=1}^{L} \omega_l \, f\!\left(\mathbf{z}^{(l)}\right)$$

其中归一化权重 $\omega_l = \frac{p(\mathbf{z}^{(l)})/q(\mathbf{z}^{(l)})}{\sum_m p(\mathbf{z}^{(m)})/q(\mathbf{z}^{(m)})}$

拒绝采样 vs 重要采样:拒绝采样丢弃"不合格"的样本,产生无偏样本集但接受率可能很低;重要采样保留所有样本但用权重修正,代价是权重方差可能爆炸。
PDF拒绝采样机制p.17

机器学习/25C06_采样方法.pdf · p.17

打开原文

PDF重要采样与归一化权重p.25

机器学习/25C06_采样方法.pdf · p.25

打开原文

Part 3 续 · 方法 4 & 5
MCMC:Metropolis-Hastings 与 Gibbs

前三种方法在高维空间中的效率急剧下降。MCMC 的策略完全不同:不要求独立采样,而是构造一条马尔可夫链,使链的平稳分布恰好是目标分布 $p(\mathbf{z})$

Metropolis-Hastings 算法

  1. 初始化 $\mathbf{z}^{(0)}$
  2. $t = 0, 1, 2, \ldots$
    1. 从提议分布 $q(\mathbf{z}^* | \mathbf{z}^{(t)})$ 采样候选 $\mathbf{z}^*$
    2. 计算接受率:
      $$A(\mathbf{z}^*, \mathbf{z}^{(t)}) = \min\!\left\{1, \frac{p(\mathbf{z}^*) \, q(\mathbf{z}^{(t)}|\mathbf{z}^*)}{p(\mathbf{z}^{(t)}) \, q(\mathbf{z}^*|\mathbf{z}^{(t)})}\right\}$$
    3. 以概率 $A$ 接受 $\mathbf{z}^{(t+1)} = \mathbf{z}^*$;否则 $\mathbf{z}^{(t+1)} = \mathbf{z}^{(t)}$

细致平衡条件 (Detailed Balance)

M-H 算法保证马尔可夫链满足细致平衡条件:

$$p(\mathbf{z}^{(t)}) \, q(\mathbf{z}^*|\mathbf{z}^{(t)}) \, A(\mathbf{z}^*, \mathbf{z}^{(t)}) = p(\mathbf{z}^*) \, q(\mathbf{z}^{(t)}|\mathbf{z}^*) \, A(\mathbf{z}^{(t)}, \mathbf{z}^*)$$

细致平衡是平稳分布 $p(\mathbf{z})$ 的充分条件:从 $\mathbf{z}^{(t)}$ 转移到 $\mathbf{z}^*$ 的概率流等于反向概率流。长期来看,链在 $\mathbf{z}$ 处的停留频率正比于 $p(\mathbf{z})$

M-H 接受率的设计不是拍脑袋:当 $p(\mathbf{z}^*)/p(\mathbf{z}^{(t)}) > 1$(候选更优)时 $A = 1$,全收;当候选更差时按比例接受。这恰好满足了细致平衡。
PDFMetropolis-Hastings 算法伪代码p.31

机器学习/25C06_采样方法.pdf · p.31

打开原文

Gibbs 采样是 M-H 的特例:当提议分布取为条件分布 $q(z_i|\mathbf{z}_{\setminus i}) = p(z_i|\mathbf{z}_{\setminus i})$ 时,接受率恒等于 1,不需要拒绝步骤。更新规则:

$$z_1^{(t+1)} \sim p(z_1|z_2^{(t)}, z_3^{(t)}), \quad z_2^{(t+1)} \sim p(z_2|z_1^{(t+1)}, z_3^{(t)}), \quad z_3^{(t+1)} \sim p(z_3|z_1^{(t+1)}, z_2^{(t+1)})$$
PDFGibbs 采样三变量交替p.34

机器学习/25C06_采样方法.pdf · p.34

打开原文

Part 4 · 性质与比较
五种采样方法的定位
方法想法样本独立性高维效率典型应用
逆变换采样从均匀经 CDF 反函数变换独立需要可逆 CDF简单连续分布
拒绝采样用提议分布包住目标分布独立接受率极低低维、包络易构造
重要采样$q$ 采样 + 权重修正独立(但带权)权重方差爆炸方差估计、归一化常数
M-H马尔可夫链 + 接受/拒绝相关较好通用后验采样
Gibbs逐分量条件采样相关好(无拒绝)图模型、HMM 参数推断

课件第 10–11 页给出了伪随机数生成的基础(线性同余法 $x_{n+1} = (ax_n + c) \mod m$),第 6 页介绍了蒙特卡罗方法的历史起源(1777 年 Buffon 投针实验、冯·诺伊曼命名)。

PDF蒙特卡罗历史起源p.6

机器学习/25C06_采样方法.pdf · p.6

打开原文

PDF线性同余法伪随机数p.10

机器学习/25C06_采样方法.pdf · p.10

打开原文

Part 5 · 例题与应用
例 1:细致平衡的验证

例题:证明 M-H 接受率满足细致平衡

题目:给定 M-H 接受率 $A(\mathbf{z}^*, \mathbf{z}) = \min\!\left\{1, \frac{p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*)}{p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})}\right\}$,验证它满足细致平衡 $p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})A(\mathbf{z}^*,\mathbf{z}) = p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*)A(\mathbf{z},\mathbf{z}^*)$

  1. 情况 1$\frac{p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*)}{p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})} \geq 1$,即候选更优。此时 $A(\mathbf{z}^*,\mathbf{z}) = 1$$A(\mathbf{z},\mathbf{z}^*) = \frac{p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})}{p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*)}$。代入左边:$p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z}) \cdot 1$;右边:$p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*) \cdot \frac{p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})}{p(\mathbf{z}^*)q(\mathbf{z}|\mathbf{z}^*)} = p(\mathbf{z})q(\mathbf{z}^*|\mathbf{z})$。左右相等。
  2. 情况 2:候选更差,对称推导,同理成立。

结论:M-H 接受率的设计精确满足了细致平衡,从而保证马尔可夫链的平稳分布为目标分布 $p$

易错点:满足细致平衡只是平稳分布的充分条件,不是必要条件。但实践中这个充分条件已经足够。
Part 5 续 · 例题与应用
例 2:采样方法在现代 LLM 中的映射

例题:top-k / top-p 采样与经典采样方法的关系

题目:大语言模型生成文本时使用的 temperature、top-k、top-p(nucleus sampling)策略,和本讲学的采样方法有什么关系?

  1. Temperature:调整 softmax 输出 $p_i = \frac{e^{z_i/T}}{\sum_j e^{z_j/T}}$$T \to 0$ 退化为 argmax(确定性),$T \to \infty$ 退化为均匀采样。本质上是人为修改目标分布的形状,类似拒绝采样中选择不同的提议分布。
  2. Top-k:只从概率最高的 $k$ 个 token 中采样,其余概率置零后重新归一化。这是一种截断提议分布——与拒绝采样中 $kq(\mathbf{z}) \geq p(\mathbf{z})$ 的思路类似,但方向相反(缩小而非放大)。
  3. Top-p (Nucleus):选概率累积到 $p$ 的最小 token 集合。比 top-k 更自适应——当分布集中时少量 token 就够,分布平坦时自动扩大候选集。

答案:LLM 采样策略的核心问题仍然是"怎样从复杂分布中获取高质量样本",只是场景从贝叶斯推断变成了文本生成。经典采样方法提供了理论框架,LLM 工程实践则加入了启发式约束。

易错点:别把 MCMC 直接等同于 LLM 的 token 采样。MCMC 是在参数空间或隐变量空间做迭代,LLM 的 token 采样是每步独立地从模型输出的条件分布中抽取。
Part 6 · 后续章节
这一讲会把后面哪些内容撑起来

后续用途 / 连接

  • L07 神经网络:Gibbs / MH 采样 → 受限玻尔兹曼机(RBM)的对比散度训练。Monte Carlo dropout → 深度学习的不确定性量化。
  • L08 Transformer:LLM 的文本生成本质上是自回归采样——每步从模型输出的条件分布中抽取 token。temperature、top-k、top-p 都是经典采样思想在工程中的变体。
  • L03 → L06 桥梁:贝叶斯后验 $p(\mathbf{z}|\mathbf{x})$ 通常不可解析;采样方法是计算后验期望的标准工具。
  • L05 → L06 桥梁:压缩感知的稀疏先验(Laplace 分布)对应 $\ell_1$ 正则;MCMC 可以从这种先验出发做贝叶斯推断。

复习速查

  • 蒙特卡罗基本公式$\mathbb{E}[f] \approx \frac{1}{L}\sum f(\mathbf{z}^{(l)})$,大数定律保证收敛。
  • 逆变换采样$X = F^{-1}(U)$,需 CDF 可逆。
  • 拒绝采样:包络 $kq \geq p$,接受率 $1/k$,高维效率低。
  • 重要采样:不拒绝样本,用权重修正,但权重方差可能爆炸。
  • M-H 算法:提议分布 + 接受率,满足细致平衡,保证收敛到目标分布。
  • Gibbs 采样:逐分量条件采样,接受率恒为 1,适用于图模型。

参考来源

  • 课程课件:25C06 第 2–6 页(采样概念与蒙特卡罗起源)
  • 课程课件:25C06 第 10–15 页(线性同余法与逆变换采样)
  • 课程课件:25C06 第 17–21 页(拒绝采样)
  • 课程课件:25C06 第 25–29 页(重要采样)
  • 课程课件:25C06 第 31–36 页(M-H 与 Gibbs)
  • 公开参考:CMU 10-708 Lecture 16(https://www.cs.cmu.edu/~epxing/Class/10708-16/note/10708_scribe_lecture16.pdf)
  • 公开参考:UW Stat 535 Lecture 9(http://faculty.washington.edu/yenchic/19A_stat535/Lec9_MC.pdf)