Gibbs sampling

吉布斯采样适用于条件分布比边缘分布更容易采样的多变量分布。假设我们需要从联合分布 {\displaystyle p(x_{1},\dots ,x_{n})}中抽取{\displaystyle \mathbf {X} =(x_{1},\dots ,x_{n})}{\displaystyle \left.k\right.}个样本。记第i个样本为{\displaystyle \mathbf {X} ^{(i)}=\left(x_{1}^{(i)},\dots ,x_{n}^{(i)}\right)}。吉布斯采样的过程则为:

  1. 确定初始值{\displaystyle \mathbf {X} ^{(1)}}
  2. 假设已得到样本{\displaystyle \mathbf {X} ^{(i)}},记下一个样本为{\displaystyle \mathbf {X} ^{(i+1)}=\left(x_{1}^{(i+1)},x_{2}^{(i+1)},\dots ,x_{n}^{(i+1)}\right)}。于是可将其看作一个向量,对其中某一分量{\displaystyle x_{j}^{(i+1)}},可通过在其他分量已知的条件下该分量的概率分布来抽取该分量。对于此条件概率,我们使用样本{\displaystyle \mathbf {X} ^{(i+1)}}中已得到的分量{\displaystyle x_{1}^{(i+1)}}{\displaystyle x_{j-1}^{(i+1)}}以及上一样本{\displaystyle \mathbf {X} ^{(i)}}中的分量{\displaystyle x_{j+1}^{(i)}}{\displaystyle x_{n}^{(i)}},即{\displaystyle p\left(x_{j}^{(i+1)}|x_{1}^{(i+1)},\dots ,x_{j-1}^{(i+1)},x_{j+1}^{(i)},\dots ,x_{n}^{(i)}\right)}
  3. 重复上述过程k次。

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

 

 

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

  • 先初始化第一个样本X1

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

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

  • 回到第2步

posted @ 2021-01-03 10:53  WeiAR  阅读(180)  评论(0编辑  收藏  举报