Reading Note : Gibbs Sampling for the Uninitiated
这几天较空总算把《Gibbs Sampling for the Uninitiated》看明白了点,看完这个对其他模型的 Gibbs Sampling 感觉应该是不会有大问题了,之后可以再仔细看看《Parameter estimation
for text analysis》,然后对照他的代码写一份总结。
在此真是万分感谢这个作者,拯救了万千Uninitiated!要是没有这样的tutorial,也没人教,谁特么知道这东西怎么弄。
基础知识:随机过程、马尔科夫蒙特卡洛、Gibbs
Sampling的理论基础(待写)
注:本文档主要是Learning
Note,而不是独立教程,因此没有:1、基础概念 2、符号解释 3、详细公式推导 这些都可以从《Gibbs Sampling for the Uninitiated》原文找到。我的水平也极其有限,同时我认为如果只看别人博客而不愿意读原文那么肯定是不成的!本文主要目的是写一个学习记录给自己,使得以后忘记的时候能够迅速回顾。若能达到与人交流的目的,那就更好啦。
—————————
伟大的分割线:Gibbs Sampling for the Uninitiated!—————————
1.模型解析
首先应该看清楚这个model的真实面目,如下图:
对于文中Figure4,展开来应该如上图,之前我对于Graph Model其实具体接触比较少,对于Figure4那样画成Plate还是有误导性(主要是会误以为W只是一个随机变量),在这个图里Plate被展开了,所以我就随便用虚线替代实线,对于该图展开后的解释如下:
1.每一个文档有一个Label(j),是文档的class,同时
2.在Gibbs Sampling中,所有的圆圈都是要被sample的,也就是每一个
Sampling表达式里面
3.在这个model中,Gibbs Sampling所谓的P(Z),就是产生图中这整个数据集的联合概率,也就是产生这N个文档整体联合概率,还要算上包括超参
2.联合概率公式推导
分别对红色、绿色、蓝色、紫色部分求表达式,得到如下结果:
1)红色部分:这个是从beta分布sample出一个伯努利分布,伯努利分布只有一个参数就是
2)绿色部分:这里L是一整个向量,其中值为0的有C0个,值为1的有C1个,多次伯努利分布就是二项分布啦,因此:
3)蓝色部分:对于0类和1类的两个
4)紫色部分:这部分,首先要求对于单独一个文档n,产生所有word也就是
上面这个概率是针对单个文档而言的,把所有文档的这些概率乘起来,就得到了紫色部分:
其中x的取值可以是0或1,所以