马尔可夫链蒙特卡洛(MCMC)方法广泛应用于从复杂后验分布中提取样本,尤其在贝叶斯推断中。Metropolis-Hastings是一种常用的MCMC算法,为此任务提供了一个通用框架。然而,它依赖于寻找一个有效的提议分布,q(θ′∣θ(t−1)),这个过程可能具有挑战性并通常需要仔细调整。吉布斯采样提供了一种替代的MCMC方法,它巧妙地避免了对显式提议分布的需求,前提是统计模型具有特定的条件结构。当联合后验分布p(θ∣D)复杂,而其全条件分布更容易处理时,这种方法尤其有效。
条件分布的作用
吉布斯采样的核心思想很简单:我们不是试图同时从联合后验分布p(θ∣D)中对整个参数 (parameter)向量 (vector)θ=(θ1,θ2,...,θk)进行采样,而是根据所有其他参数的当前值,单独对每个参数(或参数块)进行采样。
吉布斯采样的主要要求是能够推导并从每个参数θi的全条件分布中进行采样。这是θi在给定所有其他参数θ−i=(θ1,...,θi−1,θi+1,...,θk)和数据D情况下的分布:
p(θi∣θ−i,D)=p(θi∣θ1,...,θi−1,θi+1,...,θk,D)
为什么这会更容易?在许多分层模型或具有共轭先验的模型中,这些全条件分布会大大简化。有时,它们甚至变成可以轻松采样的标准分布(如正态、伽马、贝塔等)。之所以如此,是因为以其他变量为条件,实际上是在条件概率的表达式中将它们视为固定常数,这通常会简化从联合后验推导出的函数形式。请记住,联合后验与似然乘以先验成比例:p(θ∣D)∝p(D∣θ)p(θ)。θi的全条件分布与此联合密度成比例,仅被视为θi的函数,同时保持所有其他θj(j=i)为常数。
吉布斯采样算法
假设我们要从联合后验p(θ1,...,θk∣D)中提取样本。吉布斯采样器按以下步骤进行:
- 初始化: 选择一组初始参数 (parameter)值θ(0)=(θ1(0),θ2(0),...,θk(0))。这可以是随机的,也可以基于先验知识或更简单的估计方法(如最大似然估计)。
- 迭代: 对于每次迭代 t=1,2,...,T:
- 从全条件分布中对θ1(t)进行采样:
θ1(t)∼p(θ1∣θ2(t−1),θ3(t−1),...,θk(t−1),D)
- 使用θ1的最新更新值,从全条件分布中对θ2(t)进行采样:
θ2(t)∼p(θ2∣θ1(t),θ3(t−1),...,θk(t−1),D)
- 对所有参数直到θk继续此过程:
θi(t)∼p(θi∣θ1(t),...,θi−1(t),θi+1(t−1),...,θk(t−1),D)
- 最后,对θk(t)进行采样:
θk(t)∼p(θk∣θ1(t),θ2(t),...,θk−1(t),D)
- 输出: 采样的向量 (vector)序列(θ(1),θ(2),...,θ(T))形成一个马尔可夫链,其平稳分布是目标后验p(θ∣D)。丢弃初始预热期后,这些样本可以用于近似后验。
请注意,在同一次迭代中,每个参数都使用其他参数的最新可用值进行更新。这种顺序更新是吉布斯采样的特点。
针对双参数模型θ=(θ1,θ2)的吉布斯采样。每一步都涉及根据另一个参数的当前值对一个参数进行采样,实际上沿着轴平行移动。
吉布斯采样为何有效?
吉布斯采样可以看作Metropolis-Hastings算法的一个特例。对于更新θi的步骤,提议分布就是全条件分布p(θi∣θ−i(current),D)。结果是,对于这个特定的提议,Metropolis-Hastings接受概率总是1。因此,每个提议的样本都被接受,如果从条件分布中采样速度快,则使算法更简单、计算更高效。与其他MCMC方法一样,样本序列形成一个马尔可夫链,在温和条件下,该链作为其平稳分布收敛到目标后验分布。
优点与考量
优点:
- (多数情况下)无需调整: 与Metropolis-Hastings不同,你无需设计或调整提议分布。“提议”通过全条件分布由模型结构本身定义。
- 高接受率: 样本实际上总是被100%接受。
- 简单性: 如果全条件分布已知且易于采样(例如,标准分布),则实现通常很简单。
考量:
- 推导条件分布: 主要前提是能够推导并实现针对所有全条件分布p(θi∣θ−i,D)的采样器。这并非总是可能或容易。如果即使一个条件分布难以处理,标准吉布斯也无法直接使用(尽管可能存在混合方法)。
- 相关性与混合: 如果参数 (parameter)在后验分布中高度相关,吉布斯采样可能效率低下。想象从一个沿着细对角线集中的分布中采样。沿着轴平行移动(正如吉布斯所做)会导致沿着对角线的非常小的移动,从而导致连续样本之间的高度自相关以及后验空间缓慢的遍历(混合)。该链可能需要很长时间才能遍历参数空间的相应区域。
- 收敛性: 理论上虽然有保证,但实际中收敛可能很慢,特别是在高相关性情况下。仔细的收敛诊断(稍后介绍)是必不可少的。
分块吉布斯采样
减轻由相关性引起的缓慢混合的一种策略是分块吉布斯采样。我们并非单独采样每个θi,而是可以将高度相关的参数 (parameter)分组为“块”,并从其联合条件分布中一起采样,条件是块外部的所有参数。例如,如果θ1和θ2高度相关但相对独立于θ3,我们可能会从p(θ1,θ2∣θ3,D)中联合采样(θ1,θ2),然后从p(θ3∣θ1,θ2,D)中采样θ3。这要求能够从块的联合条件分布中采样,这在某些情况下可能可行,并且可以显著改善混合。
何时使用吉布斯采样
吉布斯采样是贝叶斯实践者MCMC工具包中的一个有用工具。它在以下情况中表现突出:
- 模型结构允许轻松推导出所有参数 (parameter)的全条件分布。
- 这些条件分布是标准分布,可以轻松从中生成样本。
- 参数之间的后验相关性不会过高,或者可以有效使用分块采样。
它经常用于分层模型和特定结构,例如用于主题建模的潜在狄利克雷分配(LDA),我们将在课程后面遇到。即使并非所有条件分布都可处理,吉布斯步骤有时也可以与混合采样器中的Metropolis-Hastings步骤结合使用。因此,理解吉布斯采样不仅作为独立算法很重要,而且作为更复杂MCMC策略的构成部分也同样重要。