Gibbs采样

1,273 阅读2分钟

0. 引言

Gibbs分布是概率图模型的基础,在百度了一圈之后,发现大多数文章讲的都是物理方面的定义和应用,后来在百度百科上找到这样一句话:

吉布斯采样从马尔科夫链中抽取样本,可以由 马尔科夫链概率转移矩阵的性质推出其采样分布最终收敛于联合分布。


1. Gibbs采样

假设有这样一个场景:抛两枚硬币A,B,二者不独立。硬币A动过手脚,正面向上(记为1)的概率是0.6,反面向上(记为0)的概率是0.4;硬币B,正面向上(记为1)的概率是0.5,反面向上(记为0)的概率是0.5(万能的抛硬币例子)。现今A、B两枚硬币的联合分布为:

A:0 A:1
B:0 0.1 0.4
B:1 0.3 0.2

1.1 一种直观的采样方式

AB两个随机变量,假设随机生成的序列为\left \{ A:0, B:0, A:1, B:0, A:0, B:1, A:0, B:0,..., A:1, B:1 \right \},然后从如下序列中进行随机采样(每次取连续两个),当数据量足够多时,可以观察到如下现象:

P(A=0,B=0) \approx 0.1\\
P(A=1,B=0) \approx 0.4\\
P(A=0,B=1) \approx 0.3\\
P(A=1,B=1) \approx 0.2

这样的采样方法虽然直观,但是当随机变量较多时不方便使用

1.2 最常用的采样方式

假设P(A|B)的条件分布为:

P(A=0 \| B) P(A=1 \| B)
B=0 \frac{1}{5} \frac{4}{5}
B=1 \frac{3}{5} \frac{2}{5}

假设P(B|A)的条件分布为:

A=0 A=1
P(B=0 \| A) \frac{1}{4} \frac{2}{3}
P(B=1 \| A) \frac{3}{4} \frac{1}{3}

然后执行如下采样流程:

采样流程

T足够大时,可以发现A,B的联合概率分布。

1.3 可视化的例子

在下图中,紫色代表初始分布,黑色的四个圈代表联合分布。经过一段时间的迭代之后,可以看到紫色分布逐渐逼近黑色圆圈所代表的分布。

20190822_153332.gif

1.4 多参数的例子

同样的,要求多参数的联合分布,只要执行如下流程即可。

image.png

2. Gibbs采样的局限性

如果两个随机变量相关程度很大,那么Gibbs采样的收敛速度将会非常慢,一般采取的方法是使用block方法,假设\theta_1, \theta_2具有很高的相关程度,那么可以采用如下方式寻找其联合分布:

image.png

3. 参考视频链接