首页 > 代码库 > gibbs采样

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.对分布律技术分享进行抽样,得到技术分享
接着对参数技术分享进行采样
技术分享

技术分享

gibbs采样