gibbs采样

gibbs采样

关键字一

关键字二

参数估计与预测

机器学习的一般思路为:

1.从问题的本质中构建模型,定义样本的产生,有联合概率(图模型)。

2.进行模型参数的估计:MLE、MAP、Bayes。

3.使用模型对新样本进行估计。

MLE:极大似然估计

估计:解优化函数

预测:

MAP:极大后验估计

估计:解优化函数

预测:

对比极大似然估计,引入了关于的先验知识。

Bayes估计

估计:后验概率

预测:

对于MLE和MAP算法,对模型参数进行点估计,没有考虑未知样本导致的模型参数的不确定性;对于Bayes估计,参数的后验概率有时很难求解,特别是在多参数联合分布的情况下,因此引入了近似求解的方法,引入gibbs采样,直接采样得到

gibbs采样的Naive Bayes模型

输入信息

1.有一组文本集合,利用BagOfWords模型,可以将每个文本表示成单词数量向量(经典的Naive Bayes模型将向量只有0,1两种状态)。

2.每个文本可以有标签,也可以没有标签。

3.模型的本质含义是将词向量分布相近的文档归为一类。

构建图模型

上述图模型描述了整个文档集合的构建过程。

对于每一个文档

1.首先选定类别标签,这个抽样过程服从参数为的0-1分布。

2.接着根据类别标签生成文档的词向量,其中服从参数为的多项式分布。

如果以MLE的观点,将参数作为固定值,似然概率为,当然,这里存在隐变量,需要用EM算法进行求解。

但是,以Bayes的观点,不能对模型参数进行点估计,而是认为参数也是一个随机变量,因此引入超参数来描述参数的分布。

具体的,0-1分布的随机参数服从参数为的Beta分布。多项分布的参数服从参数为的Dirichlet分布。

Beta分布

Dirichlet分布

可以看出,Dirichlet分布是Beta分布的多维拓展。

由于我们通过引入图模型,只是知道了文档的生成方式,但对于的分布以及的分布并不了解,因此引入无信息的先验,也即,同理各个元素都是1

写出联合概率

继续化解,将积分掉,有:

其中

构建gibbs采样

构建gibbs采样的函数,主要是计算各个随机变量的单独的条件分布。

首先对文档的标签采样:

抽样过程:

1.令,计算value0

2.令,计算value1

3.对分布律进行抽样,得到

接着对参数进行采样

时间: 2024-08-05 06:03:11

gibbs采样的相关文章

MC, MCMC, Gibbs采样 原理&实现(in R)

本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例子: 1. Markov Chain (马尔科夫链) 2. Random Walk(随机游走) 3. MCMC具体方法: 3.1 M-H法 3.2 Gibbs采样 PS:本篇blog为ese机器学习短期班参考资料(20140516课程),课上讲详述. 下面三节分别就前面几点简要介绍基本概念,并附上代

机器学习:Gibbs 采样

1. 什么是Gibbs采样 Gibbs采样是MH算法的一种特例(α==1),因此可以保证Gibbs抽取的样本,也构成一个非周期不可约稳定收敛的马氏链:Gibbs采样适用于样本是两维或以上的情况:通过积分去除掉相关但是不感兴趣的变量,称为"collapsed"的Gibbs采样:并且个人的一个感觉是,观测量所直接依赖的那些变量是不能被积分掉的,否则无法有效的进行抽样- gibbs采样需要知道样本中一个属性在其它所有属性下的条件概率,然后利用这个条件概率来分布产生各个属性的样本值.gibbs

采样之Gibbs采样

前面我们讲到了M-H采样已经可以很好的解决蒙特卡罗方法需要的任意概率分布的样本集的问题.但是M-H采样有两个缺点:一是需要计算接受率,在高维时计算量大.并且由于接受率的原因导致算法收敛时间变长.二是有些高维数据,特征的条件概率分布好求,但是特征的联合分布不好求.因此需要一个好的方法来改进M-H采样,这就是我们下面讲到的Gibbs采样. 1. 重新寻找合适的细致平稳条件 2.  二维Gibbs采样 用下图可以很直观的看出,采样是在两个坐标轴上不停的轮换的.当然,坐标轴轮换不是必须的,我们也可以每次

文本主题模型之LDA(二) LDA求解之Gibbs采样算法

本文是LDA主题模型的第二篇,读这一篇之前建议先读文本主题模型之LDA(一) LDA基础,同时由于使用了基于MCMC的Gibbs采样算法,如果你对MCMC和Gibbs采样不熟悉,建议阅读之前写的MCMC系列MCMC(四)Gibbs采样. 1. Gibbs采样算法求解LDA的思路 首先,回顾LDA的模型图如下: 在Gibbs采样算法求解LDA的方法中,我们的α,ηα,η是已知的先验输入,我们的目标是得到各个zdn,wknzdn,wkn对应的整体z? ,w? z→,w→的概率分布,即文档主题的分布和

分层贝叶斯模型——采样算法

1. 蒙特卡洛估计 若$\theta$是要估计的参数,$y_{1},...,y_{n}$是从分布$p(y_{1},...,y_{n}|\theta) $中采样的样本值,假定我们从后验分布$p(\theta|y_{1},...,y_{n})$中独立随机采样$S$个$\theta$值,则$$ \theta^{(1)},...,\theta^{(S)}\sim^{i.i.d.}p(\theta|y_{1},...,y_{n}) $$ 那么我们就能够通过样本$\{\theta^{(1)},...,\th

深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解方法,其实用的依然是梯度优化方法,但是求解需要用到随机采样的方法,常见的有:Gibbs Sampling和对比散度(contrastive divergence, CD[8])算法. RBM目标函数 假设给定的训练集合是S={vi},总数是ns,其中每个样本表示为vi=(vi1,vi2,-,vinv),且都是独立同分布i.i.d的.RBM采用最大似然估计,即最大化 lnLS=ln∏i=1n

七月算法-12月机器学习在线班--第十六次课笔记—采样和变分

七月算法-12月机器学习--第十六次课笔记—采样和变分 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com 第一部分 采样 引言 为什么要研究采样? 根据采样结果估算分布的参数,完成参数学习. 前提:模型已经存在,但参数未知: 方法:通过采样的方式,获得一定数量的样本,从而学习该系统的参数. 1 采样算法 现需要对概率密度函数f(x)的参数进行估计,若已知的某概率密度函数g(x)容易采样获得其样本,可以如何估计f(x)的参数? g(x)很容

MCMC采样理论的一点知识

看了好多相关的知识,大致了解了一下马尔可夫链-蒙特卡罗采样理论,有必要记来下来. 蒙特卡罗积分:(来自:http://blog.csdn.net/itplus/article/details/19168937) 下面的写的很让人明白:好好理解一下,第一次感觉到积分与统计学的联系. 利用蒙特卡罗方法求积分的重点就是怎么如何采样指定的分布....简单的分布如均匀分布我们有方法可以采样,但是复复杂的分布呢?如高斯分布呢?你怎么办?? 这是就利用马尔可夫链的性质进行采样. 一些马尔可夫链的相关知识 在学

MCMC&Gibbs sampling

Note of Markov Chain Monte Carlo and Gibbs Sampling :  http://pan.baidu.com/s/1jHpWY1o 序:A major limitation towards more widespread implementation of Bayesian approaches is that obtaining thee posterior distribution often requires the integration of