MCMC:Gibbs 采样(matlab 实现)
MCMC: The Gibbs Sampler
多元高斯分布的边缘概率和条件概率
Marginal and conditional distributions of multivariate normal distribution
clear, clc
rng('default')num_samples = 5000;
num_dims = 2;mu = [0, 0];
rho(1) = .8; rho(2) = .8;prop_sigma = 1;
minn = [-3, -3]; maxx = [3, 3];
x = zeros(num_samples, num_dims);x(1, 1) = unifrnd(minn(1), maxx(1));
x(1, 2) = unifrnd(minn(2), maxx(2));t = 1;
dims = 1:num_dims;
while t < num_samplest = t + 1;T = [t-1, t]; % 时刻信息的维护,T(1):上一时刻,T(2):下一时刻for iD = 1:num_dimsnot_idx = (dims ~= iD);mu_cond = mu(iD) + rho(iD)*(x(T(iD), not_idx) - mu(not_idx));sigma_cond = sqrt(1-rho(iD)^2);x(t, iD) = normrnd(mu_cond, sigma_cond);end
endfigure;
h1 = scatter(x(:, 1), x(:, 2), 'r.');
hold onfor t=1:50plot([x(t, 1), x(t+1, 1)], [x(t, 2), x(t, 2)], 'k-'); % x 轴方向移动,plot([x(t+1, 1), x(t+1, 1)], [x(t, 2), x(t+1, 2)], 'k-'); % y 轴方向移动;h2 = plot(x(t+1, 1), x(t+1, 2), 'ko');
endh3 = scatter(x(1, 1), x(1, 2), 'go', 'linewidth', 3);
legend([h1, h2, h3], {'Samples', '1st 50 samples', 'x(t=0)'}, 'location', 'northwest');
hold off;
xlabel('x_1'); ylabel('x_2')
axis square
MCMC:Gibbs 采样(matlab 实现)相关推荐
- MC, MCMC, Gibbs采样 原理实现(in R)
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例 ...
- 采样-Gibbs采样
MCMC蒙特卡洛马尔科夫链采样,非常重要的采样算法,而Gibbs算法也是MCMC种的一种,主要用于高维分布的采样.介绍MCMC的书籍有很多,https://victorfang.wordpress.c ...
- 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样
先点明几个名词 MCMC方法:马尔可夫链-蒙特卡洛方法 (千万别叫成梅特罗波利斯蒙特卡罗方法了) Metropolis-Hastings采样:梅特罗波利斯-哈斯廷斯采样 Gibbs采样:吉布斯采样 ...
- MCMC 和 Gibbs采样
0. MCMC 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC). Monte ...
- 深度学习 --- 受限玻尔兹曼机RBM(MCMC和Gibbs采样)
上一节我们详细的讲解了马尔科夫过程和马尔科夫链,提及了转移矩阵P,马尔科夫的平稳性(遍历性),需要好好理解马尔科夫的平稳性,因为本节将根据马尔科夫的平稳性进行讲解,同时也介绍了采样的原理和过程.好,到 ...
- 马尔可夫蒙特卡洛(MCMC)-从平稳分布,细致平衡到Metropolis-Hastings和Gibbs采样
马尔可夫链性质 马尔可夫假设: 某一时刻状态转移概率只依赖于前一个状态 马尔科夫链状态转移矩阵的性质:平稳分布 与初始的概率分布无关,马尔可夫链在有限次转移之后总能收敛到一个稳定的概率分布,称为平稳分 ...
- 漫谈MCMC与Gibbs采样(三)—— 有趣的马尔科夫链
Markov Chain 提起马尔科夫链,大家应该都不陌生.我第一次接触这个概念,是在大一的C语言编程课中,当时用马尔科夫链来做文章的随机生成.马尔科夫链的思想非常简单,在数学上可以表述如下: (6) ...
- MCMC(三)蒙特卡洛之Gibbs采样
对于给定的概率分布p(x),我们希望能有便捷的方式生成它对应的样本.由于马氏链能收敛到平稳分布,于是一个很的漂亮想法是:如果我们 能构造一个转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是P(x), ...
- MCMC详解2——MCMC采样、M-H采样、Gibbs采样(附代码)
MCMC是一种随机采样方法,用来处理一些复杂运算的近似求解.在HMM.LDA等模型中都有重要应用. 上一篇 MCMC详解1--蒙特卡洛方法 目录 1,马尔科夫链模型 1.1 马尔科夫链转移矩阵的性质 ...
- 漫谈MCMC与Gibbs采样(一)—— 采样背后的逻辑
采样背后的逻辑 我们为什么需要采样 我们先来思考一个最基本的问题,我们为什么需要采样?之所以讨论这一点,是因为深刻理解我们要解决的问题,可以帮助我们更好地掌握解决问题的方法.尤其是当我们在复杂的模型中 ...
最新文章
- iAD靠什么吸引用户打开这个应用?
- Flex DataGrid设置不同行高度和自动换行
- 光猫直连电脑不能上网_电脑不能上网怎么办?DNS解析失败的解决方法
- 方法的重写-覆盖父类方法,重写子类方法实现
- Json-lib 需要的 jar 包
- C# 调用Windows API实现两个进程间的通信
- 米家对讲机_对前面两代产品不断总结和完善的产物,米家对讲机2代开箱体验...
- SpringBoot 整合 Spring Cloud Alibaba Nacos 连通性+负载均衡
- php 获取刚插入的一条,php获得刚插入数据的id 的几种方法
- Dijkstra及其堆优化
- c语言谭浩强第七章例题
- java file文件删除_Java File.delete 删除文件
- BSN联盟链专有节点服务介绍
- python基础课件
- excel筛选,排序
- React-笔记整理
- matlab中integrator,matlab:Simulink Integrator的理解
- Android Binder 之 ServiceManager (基于android 12.0/S)
- 化工学matlab,化工和石化行业
- 异构群体机器人协作任务分配(群体智能论文学习)
热门文章
- php分页显示数据表格显示,php+layui数据表格实现数据分页渲染代码
- mac下nvm_2021 搞个 Mac 玩玩吧!
- jmeter学习总结
- C++ vector用法总结
- 第八届蓝桥杯第五题取数位
- 剑指offer面试题17. 打印从1到最大的n位数
- Python数据结构实战——单向链表(LinkedList)
- 剑指offer面试题53 - II. 0~n-1中缺失的数字(二分查找)
- 优化C/C++代码的小技巧
- 2010计算机网络考研真题及答案,2010年计算机考研统考真题参考答案