对于高维空间数据的采样,Gibbs采样是一种非常重要的方法。其主要思想在于构建一个良好的状态转移矩阵,而且我们知道在马尔可夫链中,已知目标概率分布Gibbs采样 - 图1,希望马尔可夫链收敛到目标Gibbs采样 - 图2对于状态转移矩阵是有一定要求的,这就是马尔可夫链的细致平稳条件。Gibbs采样就是通过改造细致平稳条件来实现高维空间的高效采样。

寻找更合适的细致平稳条件

已知细致平稳条件:Gibbs采样 - 图3
在二维空间中有两点Gibbs采样 - 图4Gibbs采样 - 图5,很容易可知:
Gibbs采样 - 图6
Gibbs采样 - 图7
观察上述二式可以看出两式的右边是相等的,那么左边也相等,可以得到:
Gibbs采样 - 图8
Gibbs采样 - 图9
注意到马尔可夫链的状态转移矩阵是一个条件概率,上述式中也有条件概率,那么自然地会有一种想法,上式中的条件概率和状态转移矩阵之间是否可以建立某种联系呢?我们注意到A和B虽然都是二维的,但是有第一维是相同的,第二维不同,那么可以仅用第二维来表示这两个点的状态,于是我们尝试直接用此条件概率表示状态转移矩阵,也就是说用Gibbs采样 - 图10表示Gibbs采样 - 图11,用Gibbs采样 - 图12表示Gibbs采样 - 图13,那么我们就可以得到如下式子:
Gibbs采样 - 图14
我们会发现这个式子和细致平稳条件非常的相似,只是这个式子仅仅针对状态空间中的两个状态,那么我们可以考虑如何使其更有普遍性。
对于状态空间中的任意两点Gibbs采样 - 图15Gibbs采样 - 图16,我们按照如下规则设定状态转移矩阵:
Gibbs采样 - 图17
这样构造状态转移矩阵就可以满足细致平稳条件,对于任意的E和F有Gibbs采样 - 图18

Gibbs采样方法

Gibbs采样是基于马尔可夫链采样的变种,所以其具体采样过程还是和马尔可夫链采样相似,但是需要做一些小变动。因为在马尔可夫链采样中,一般都是一次采样完成一个样本,而在Gibbs采样中,在状态转移矩阵的构建时就限制了一个条件,固定了一维的状态不变,所以一个样本的采样需要两次采样过程来完成,这个过程称为坐标轴轮换。
除了二维空间的采样,在n维的多维空间中,Gibbs采样也是一样的,每次固定n-1个坐标轴,采样一个坐标轴,如此循环n次采样得到一个样本。

详细采样方法介绍