关于LDA的gibbs采样,为什么可以获得正确的样本?
算法里面是随机初始了一个分布,然后进行采样,然后根据每次采样的结果去更新分布,之后接着采样直到收敛。
1.首先明确一下MCMC方法。
当我们面对一个未知或者复杂的分布时,我们经常使用MCMC方法来进行分布采样。而采样的目的是得到这个分布的样本,通过这些样本,我们就能明确出该分布的具体结构。所以MCMC本身就是解决无法直接采样或理解的分布问题的,所以不是对已知分布进行采样。
而gibbs采样时MCMC方法的一种改进策略,所以解决的是一类问题。在LDA中,后验概率无法直接取得,我们通过gibbs采样的方法去采样该分布,从而得到模型结构。
2.关于gibbs采样正确性,或者鸡生蛋蛋生鸡的说法。
关于gibbs采样的正确性,即能够得到正确的结果。基本层面是MCMC方法的正确性问题,因为gibbs采样只是MCMC方法的变种,即升级接受概率为1,关于这方面的证明过比较专业,题主可以去查询相关的资料。
而在实际中鸡生蛋蛋生鸡的问题,建议题主可以从EM算法了解下手,即含有隐变量时的参数估计问题,相信题主能够得到一些答案。
Gibbs Sampling或者说更一般的MCMC算法,本来就可以保证对于任意初始分布(或者应该说不叫分布吧,就是一组初值),迭代能收敛到真实分布。和LDA本身没什么关系。
至此,采用Gibbs采样:
(1)随机给定每个单词的主题。
(2)根据转移概率依次产生每个单词的新的主题。
(3)收敛后,得到的采样极为所求的采样。
[1]LDA数学八卦
[2]Parameter estimation for text analysis
关于LDA的gibbs采样,为什么可以获得正确的样本?的更多相关文章
- 文本主题模型之LDA(二) LDA求解之Gibbs采样算法
文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 本文是LDA主题模型的第二篇, ...
- MC, MCMC, Gibbs采样 原理&实现(in R)
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例 ...
- 如何做Gibbs采样(how to do gibbs-sampling)
原文地址:<如何做Gibbs采样(how to do gibbs-sampling)> 随机模拟 随机模拟(或者统计模拟)方法最早有数学家乌拉姆提出,又称做蒙特卡洛方法.蒙特卡洛是一个著名 ...
- MCMC(四)Gibbs采样
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样 在MCMC(三)MCMC采样和M-H采样中,我们讲到了M-H采样已经可以很好 ...
- LDA的Gibbs Sampling求解
<LDA数学八卦>对于LDA的Gibbs Sampling求解讲得很详细,在此不在重复在轮子,直接贴上该文这部分内容. Gibbs Sampling 批注: 1. ...
- Gibbs采样
(学习这部分内容大约需要50分钟) 摘要 Gibbs采样是一种马尔科夫连蒙特卡洛(Markov Chain Monte Carlo, MCMC)算法, 其中每个随机变量从给定剩余变量的条件分布迭代地重 ...
- Gibbs 采样的应用
Gibbs 采样的最大作用在于使得对高维连续概率分布的抽样由复杂变得简单. 可能的应用: 计算高维连续概率分布函数的数学期望, Gibbs 采样得到 n 个值,再取均值: 比如用于 RBM:
- Gibbs 采样定理的若干证明
坐标平面上的三点,A(x1,y1),B(x1,y2),C(x2,y1),假设有概率分布 p(x,y)(P(X=x,Y=y) 联合概率),则根据联合概率与条件概率的关系,则有如下两个等式: {p(x1, ...
- MCMC:Gibbs 采样(matlab 实现)
MCMC: The Gibbs Sampler 多元高斯分布的边缘概率和条件概率 Marginal and conditional distributions of multivariate norm ...
随机推荐
- Spring Cloud的子项目,大致可分成两类
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目:第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cl ...
- 小结:bfs
概要: 我们在初始状态要到达终止状态可以沿着同深度的向下搜索,这样范围覆盖更广,在解的深度较小的时候十分适用. 技巧及注意: 所有状态在转移后如果要打标记一定要在进队列前打!不要在出队列才打!否则就是 ...
- Py3+PyQt5+Eric6:学习记录之第一天:点击按钮获取文本框的值并输出。
一.使用qt designer拖拽界面. 使用qtdesigner拖拽界面:
- HTML邮件注意事项(转)
1.全局规则之一,不要写<style>标签.不要写class,所有CSS都用style属性,什么元素需要什么样式就用style写内联的CSS. 2.全局规则之二,少用图片,邮箱不会过滤你的 ...
- pl/sql 实现归并算法 (合并插入法的优化)
CREATE OR REPLACE PACKAGE PG_MERGESORT IS -- Author : wealth_khb@126.com -- Created : 2009-10-20 10: ...
- Qualcomm Vuforia SDK背景
参考视频:http://edu.csdn.net/course/detail/1467/23125?auto_start=1 一:概述 官网:www.vuforia.com 应用方向:产品交互.虚拟购 ...
- linux默认的目录介绍
http://www.cnblogs.com/shishm/archive/2011/11/03/2234954.html
- 采用std::thread 替换 openmp
内容转换的,具体详见博客:https://cloud.tencent.com/developer/article/1094617 及对应的code:https://github.com/cpuimag ...
- oh my zsh 切换 bash
zsh切换bash bash切换zsh 切换bash chsh -s /bin/bash 切换zsh chsh -s /bin/zsh
- 自己实现一个Promise库
源码地址 先看基本使用 const promise = new Promise((resolve, reject) => { resolve(value) // or reject(reason ...