什么是吉布斯采样算法
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/01 10:21:36
什么是吉布斯采样算法
什么是吉布斯采样算法
什么是吉布斯采样算法
几个可以学习gibbs sampling的方法
1,读Bishop的Pattern Recognition and Machine Learning,讲的很清楚,但是我记得好像没有例子.
2,读artificial Intelligence,2、3版,都有.但是我没读过.
3,最方便的,查wiki,这个说的最清楚.
这里通俗点的解释一下.首先,什么是sampling.sampling就是以一定的概率分布,看发生什么事件.举一个例子.甲只能E:吃饭、学习、打球,时间T:上午、下午、晚上,天气W:晴朗、刮风、下雨.现在要一个sample,这个sample可以是:打球+下午+晴朗...
问题是我们不知道p(E,T,W),或者说,不知道三件事的联合分布.当然,如果知道的话,就没有必要用gibbs sampling了.但是,我们知道三件事的conditional distribution.也就是说,p(E|T,W),p(T|E,W),p(W|E,T).现在要做的就是通过这三个已知的条件分布,再用gibbs sampling的方法,得到joint distribution.
具体方法.首先随便初始化一个组合,i.e.学习+晚上+刮风,然后依条件概率改变其中的一个变量.具体说,假设我们知道晚上+刮风,我们给E生成一个变量,比如,学习-》吃饭.我们再依条件概率改下一个变量,根据学习+刮风,把晚上变成上午.类似地,把刮风变成刮风(当然可以变成相同的变量).这样学习+晚上+刮风-》吃饭+上午+刮风.
同样的方法,得到一个序列,每个单元包含三个变量,也就是一个马尔可夫链.然后跳过初始的一定数量的单元(比如100个),然后隔一定的数量取一个单元(比如隔20个取1个).这样sample到的单元,是逼近联合分布的.
我也是刚wiki到的,可能不完全正确,欢迎讨论: