吉布斯采样适用于条件分布比边缘分布更容易采样的多变量分布。假设我们需要从联合分布 中抽取的个样本。记第个样本为。吉布斯采样的过程则为:

  1. 确定初始值。
  2. 假设已得到样本Gibbs sampling_初始化,记下一个样本为Gibbs sampling_概率分布_02。于是可将其看作一个向量,对其中某一分量Gibbs sampling_概率分布_03,可通过在其他分量已知的条件下该分量的概率分布来抽取该分量。对于此条件概率,我们使用样本Gibbs sampling_概率分布_04中已得到的分量Gibbs sampling_初始化_05Gibbs sampling_条件概率_06以及上一样本Gibbs sampling_初始化中的分量Gibbs sampling_初始化_08Gibbs sampling_初始化_09,即Gibbs sampling_条件概率_10
  3. 重复上述过程Gibbs sampling_初始化_11次。

在采样完成后,我们可以用这些样本来近似所有变量的联合分布。如果仅考虑其中部分变量,则可以得到这些变量的边缘分布。此外,我们还可以对所有样本求某一变量的平均值来估计该变量的期望。

现有有一个n维联合分布,Gibbs sampling就是解决从中抽样的问题的。

  • 先初始化第一个样本X1

  • 假设现在要抽样Xi(x1,...,xj,...,xn),轮到了xj,并且前面x1到xj-1已经确定

  • 根据p(xj|当前的x1~xj-1,上一轮的xj+1~xn)分布来确定Xi的xj

  • 回到第2步