在MCMC采样和M-H采样中,我们讲到M-H采样已经可以很好的解决蒙特卡罗方法需要的任意概率分布的样本集问题。但是M-H采样有两个缺点:一是需要计算接受率,在高维情况下计算量非常大,同时由于接受率的原因导致算法收敛时间变长。二是有些高维数据,特征的条件概率分布方便求解,但特征的联合分布很难求解。因此需要改进M-H算法,来解决上面提到的两个问题,下面我们详细介绍Gibbs采样方法。
1.细致平衡条件
MCMC采样和M-H采样中我们讲到细致平衡条件,即如果非周期马尔可夫链状态转移矩阵P和概率分布π(x)对于所有的i,j满足下列方程,则称概率分布π(x)是状态转移矩阵P的平稳分布。
π ( i ) P ( i , j ) = π ( j ) P ( j , i ) \pi(i) P(i,j) = \pi(j) P(j,i) π(i)P(i,j)=π(j)P(j,i)
在M-H采样中我们通过引入接受率使细致平稳条件满足,现在我们换一种方法。从二维数据的分布开始,假设 π ( x 1 , x 2 ) \pi (x_1,x_2) π(x1,x2)是一个二维联合的数据分布,观察第一个特征维度相同的两个点 A ( x 1 ( 1 ) , x 2 ( 1 ) ) A(x_1^{(1)},x_2^{(1)}) A(x1(1),x2(1))和 B ( x 1 ( 1 ) , x 2 ( 2 ) ) B(x_1^{(1)},x_2^{(2)}) B(x1(1),x2(2)),容易发现下面两式成立
π ( x 1 ( 1 ) , x 2 ( 1 ) ) π ( x 2 ( 2 ) ∣ x 1 ( 1 ) ) = π ( x 1 ( 1 ) ) π ( x 2 ( 1 ) ∣ x 1 ( 1 ) ) π ( x 2 ( 2 ) ∣ x 1 ( 1 ) ) \pi(x_1^{(1)},x_2^{(1)}) \pi(x_2^{(2)}|x_1^{(1)}) = \pi(x_1^{(1)}) \pi(x_2^{(1)}|x_1^{(1)})\pi(x_2^{(2)}|x_1^{(1)}) π(x1(1),x2(1))π(x2(2)∣x1(1))=π(x1(1))π(x2(1)∣x1(1))π(x2(2)∣x1(1))
π ( x 1 ( 1 ) , x 2 ( 2 ) ) π ( x 2 ( 1 ) ∣ x 1 ( 1 ) ) = π ( x 1 ( 1 ) ) π ( x 2 ( 1 ) ∣ x 1 ( 1 ) ) π ( x 2 ( 2 ) ∣ x 1 ( 1 ) ) \pi(x_1^{(1)},x_2^{(2)}) \pi(x_2^{(1)}|x_1^{(1)}) = \pi(x_1^{(1)}) \pi(x_2^{(1)}|x_1^{(1)})\pi(x_2^{(2)}|x_1^{(1)}) π(x1(1),x2(2))π(x2(1)∣x1(1))=π(x1(1))π(x2(1)∣x1(1))π(x2(2)∣x