Gibbs Sampling深入理解
二维Gibbs Sampling算法
Gibbs Sampling是高维概率分布的MCMC采样方法。二维场景下,状态(x, y)转移到(x’, y’),可以分为三种场景

(1)平行于y轴转移,如上图中从状态A转移到状态B。
(2)平行于x轴转移,如上图中从状态A转移到状态C。
(3)其他情况转移,如上图从状态A转移到状态D。
对于上述三种情况,我们构造细致平稳条件
(1)A -> B

B –> A

显然有

即

我们令转移矩阵中x = x1轴上的状态转移概率为p(y|x1),则场景一天然满足细致平稳条件。
(2)同理,我们令转移矩阵中y = y1轴上的状态转移概率为p(x|y1),则场景二天然满足细致平稳条件。即

(3)对于场景三,我们不允许其转移。即
p(A) * 0 = p(D) * 0
实际上,从状态A转移到状态D可以通过一次场景一转移和一次场景二转移得到。所以即使规定A到D的转移概率为0,也满足A到D可以经过有限次转移达到。
总结一下,在二维概率分布的场景下,转移矩阵按照如下方式构造,马氏链即可达到指定的二维联合概率分布平稳状态

二维Gibbs Sampling算法

n维Gibbs Sampling算法
n维场景的考虑,与二维概率分布考虑一致:只允许状态沿着某一个维度平行转移,其他情况下状态转移概率为0。
(1)平行于y维转移

(2)其他情况转移
p(X1) * 0 = p(X2) * 0
n维Gibbs Sampling算法

参考:《LDA数学八卦》
Gibbs Sampling深入理解的更多相关文章
- PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)
主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00 今天的主要内容:Markov Chain Monte Carlo,M ...
- LDA-math-MCMC 和 Gibbs Sampling
http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling
http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. samp ...
- 随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...
- 【转载】MCMC和Gibbs Sampling算法
转载随笔,原贴地址:MCMC和Gibbs Sampling算法 本文是整理网上的几篇博客和论文所得出来的,所有的原文连接都在文末. 在科学研究中,如何生成服从某个概率分布的样本是一个重要的问题.如果样 ...
- 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...
- LDA Gibbs Sampling
注意:$\alpha$和$\beta$已知,常用为(和LDA EM算法不同) 1. 为什么可用 LDA模型求解的目标为得到$\phi$和$\theta$ 假设现在已知每个单词对应的主题$z$,则可 ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现高斯分布参数推断
http://blog.csdn.net/pipisorry/article/details/51539739 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样来采样截断多维高斯分布的参数(已知一 ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现文档分类
http://blog.csdn.net/pipisorry/article/details/51525308 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样进行文档分类(聚类),当然更复杂的实 ...
随机推荐
- js判断开始时间不能小于结束时间
function validTime(startTime,endTime){ var arr1 = startTime.split("-"); var arr2 = e ...
- 用composer安装laravel-bjyblog
前面讲了两行命令composer的安装,现在我们来操作一下composer安装基于laravel的博客laravel-bjyblog.测试环境是linux,bt面板,php7.2安装扩展fileinf ...
- idea structure窗口
https://blog.csdn.net/qq_19934363/article/details/87994000
- Python3学习之路~6.7 经典类和新式类的继承顺序
在Python中,经典类(class Person:)和新式类(class Person(object):)的主要区别就是体现在多继承的顺序上. Python 2.x中默认都是经典类,只有显式继承了o ...
- 1 认识开源性能测试工具jmeter
典型的性能测试工具主要有2个,Load Runner和jmeter.Load Runner是商业化的,Jmeter是开源的.下面我们认识一下开源性能测试工具jmeter. 1.jmeter是什么? A ...
- python的__new__方法
https://www.cnblogs.com/kex1n/p/5991249.html https://blog.csdn.net/wwx890208/article/details/8053445 ...
- Jquery书写AJAX动态向页面form传数据,清空之前的数据
三种方式: 直接代码: 1.$("#mytable tr:gt(0)").remove(); 2.$("#mytable tr:not(:first)").em ...
- 亲爱的,我是一条Linux运维技术学习路径呀。
根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...
- composer install 遭遇404错误
[Composer\Downloader\TransportException] The "https://packagist.phpcomposer.com/p/provider-2019 ...
- crontab-rsync
写一个shell脚本放到crontab中,该脚本利用rsync把远程同步到本地的话,需要把本地的公钥放到远程的authorized_keys:否则,手动执行脚本没问题,但是crontab执行就不会有效 ...