贝叶斯推断--Gibbs Sampling
来源:互联网 发布:linux换行符 编辑:程序博客网 时间:2024/05/01 04:30
简介
当我们用贝叶斯模型去建模复杂的问题时,就越来越需要有效的推断方法来求解这些模型了。一言以蔽之,贝叶斯推断的目的就是在一组随即变量上维护一组完全后验概率分布。维护和应用这个概率分布常包含积分步骤,在面对较为复杂的模型时,是无法有效计算的。基于MCMC的抽样技术是一种可能的方法来求解和推断这些模型。
MCMC抽样的基本思想是,通过均值遍历来估计任意期望分布。也就是说,只要我们能够得到一个后验的足够样本,就可以计算这个的任意统计量值。如下:
其中
那么如何从后验分布得到所需的样本呢?Gibbs sampling就是适合这种需求的一种MCMC技术。Gibbs sampling的基本思想是,在每一个变量之间进行不断切换来得到他们的条件分布,在得到其中某一个变量的条件分布的时候,需要保持其他变量的值固定在当前抽样值。举例来说,假定有三个随即变量
重复上述过程直至算法收敛。这样得到的(模拟)样本值就好象真的是从后验分布抽得一样。算法一给出了一个上述问题的抽样过程:
算法 1 Gibbs sampler
Initialize
for iteration i=1,2,… do
算法1没有直接从后验分布去抽样,而是模拟了从后验条件分布中进行抽样,一次抽取一个变量。由于初始化的时候随即变量的初值是随机赋予的,因而在早期迭代的抽样值是不准确的,无法对目标后验分布进行充分表达。好在MCMC的理论保证了在算法1中抽样结果收敛之后得到的在抽样样本上的稳定分布就是目标后验联合分布。因而Gibbs sampling一般会跑很多循环以保证抽样达到稳定。
接下来给出一个MCMC技术求解实例。该实例是用Gibbs sampler求解“变换点”模型。
应用实例
假设我们观测到一个自然数序列
其中
初始值
注意到,上述模型具有随机变量
条件分布
如算法1中,我们需要得到每个变量的后验条件概率来进行Gibbs抽样。下面介绍得到这些后验条件概率的过程,这个过程首先是得到所有隐含变量的联合概率分布(见上式),进而推导出每个隐含变量(
基于通过上式中得到的联合概率分布公式,可以得到:
对上式取log,就可以得到下式:
接下来就分别得到各个隐含变量的调降概率公式。其实方法非常简单,举例来说,如果要得到
这里值得注意的的是,上式得到的后验概率与先验概率的公式形式的是相同的,即
- 贝叶斯推断--Gibbs Sampling
- Gibbs sampling
- Gibbs sampling
- Gibbs sampling
- Gibbs sampling
- Gibbs Sampling
- Gibbs sampling
- Gibbs sampling
- Gibbs sampling
- Gibbs Sampling
- gibbs sampling
- Gibbs sampling [Gibbs采样]
- Gibbs sampling [Gibbs采样]
- Gibbs sampling [Gibbs采样]
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现高斯分布参数推断
- Gibbs sampling [Gibbs采样]1
- Gibbs Sampling(二):Gibbs Sampling总结
- Gibbs sampling & R
- lua-洗牌算法
- Android自动清理无用资源工具
- Android持续集成
- Drupal 登录提示Unrecognized Username and Password. 【已解决】
- LeetCode 6. ZigZag Conversion(之字形)
- 贝叶斯推断--Gibbs Sampling
- 更换证书后 打包异常 "UUID not found"/ "xxxx描述文件 not found"
- Java代码Bug分析插件 FindBugs
- FindBugs安装和使用
- FindBugs,第 1 部分: 提高代码质量
- LeetCode 7. Reverse Integer(反转整数)
- Andorid-15k+的面试题
- 2016 JAVA与Android面试题整理
- Android异步更新UI的四种方式