现在的位置: 首页 > 综合 > 正文

Gibbs Sampling for the Uninitiated (Gibbs采样算法)

2014年02月14日 ⁄ 综合 ⁄ 共 1774字 ⁄ 字号 评论关闭

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,同时θ0θ1是和Lj对应的,如果Lj=1则对应的就是θ1

2.在Gibbs Sampling中,所有的圆圈都是要被sample的,也就是每一个Lj都会被算作一个zi(在Gibbs
Sampling表达式里面z(t+1)iP(Zi|z(t+1)1,,z(t+1)i1,z(t)i+1,)中的随机变量z),同理,每一个wjk也是一个zi,只不过在具体sampling的时候,Lj是会被单独sample的,而wjk是整体sample的,这个会在后面讲到。

3.在这个model中,Gibbs Sampling所谓的P(Z),就是产生图中这整个数据集的联合概率,也就是产生这N个文档整体联合概率,还要算上包括超参γ产生具体π和 θ的概率。所以最后得到了上图中表达式与对应色彩。

2.联合概率公式推导

分别对红色、绿色、蓝色、紫色部分求表达式,得到如下结果:

1)红色部分:这个是从beta分布sample出一个伯努利分布,伯努利分布只有一个参数就是π,不要normalization项(要求的是整个联合概率,所以在这里纠结normalization是没有用的),得到:

P(π|γπ1,γπ0)πγπ11(1π)γπ01

2)绿色部分:这里L是一整个向量,其中值为0的有C0个,值为1的有C1个,多次伯努利分布就是二项分布啦,因此:

P(L|π) πC1(1π)C0

3)蓝色部分:对于0类和1类的两个θ都采样自参数为γθ的狄利克雷分布,注意所有这些都是向量,有V维,每一维度对应一个Word。根据狄利克雷的PDF得到以下表达式,其实这个表达式有两个,分别为θ0θ1用相同的式子采样:

P(θ|γθ)i=1Vθγθi1i

4)紫色部分:这部分,首先要求对于单独一个文档n,产生所有word也就是Wn的概率。假设对于某个文档,θ=(0.2,0.5,0.3),意思就是word1产生概率0.2,word2产生概率0.5,假如这个文档里word1有2个,word2有3个,word3有2个,则这个文档的产生概率就是(0.2*0.2)*(0.5*0.5*0.5)*(0.3*0.3)。所以按照这个道理,一个文档整个联合概率如下:

P(Wn|L,θLn)=i=1VθWnii

上面这个概率是针对单个文档而言的,把所有文档的这些概率乘起来,就得到了紫色部分:

P(Cx|L,θx)=nCxi=1VθWnix,i=i=1VθNCx(i)x,i

其中x的取值可以是0或1,所以Cx可以是C0C1,当x=0时,n

【上篇】
【下篇】

抱歉!评论已关闭.