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 实现)相关推荐

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

    本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例 ...

  2. 采样-Gibbs采样

    MCMC蒙特卡洛马尔科夫链采样,非常重要的采样算法,而Gibbs算法也是MCMC种的一种,主要用于高维分布的采样.介绍MCMC的书籍有很多,https://victorfang.wordpress.c ...

  3. 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样

    先点明几个名词 MCMC方法:马尔可夫链-蒙特卡洛方法  (千万别叫成梅特罗波利斯蒙特卡罗方法了) Metropolis-Hastings采样:梅特罗波利斯-哈斯廷斯采样 Gibbs采样:吉布斯采样 ...

  4. MCMC 和 Gibbs采样

    0. MCMC 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC). Monte ...

  5. 深度学习 --- 受限玻尔兹曼机RBM(MCMC和Gibbs采样)

    上一节我们详细的讲解了马尔科夫过程和马尔科夫链,提及了转移矩阵P,马尔科夫的平稳性(遍历性),需要好好理解马尔科夫的平稳性,因为本节将根据马尔科夫的平稳性进行讲解,同时也介绍了采样的原理和过程.好,到 ...

  6. 马尔可夫蒙特卡洛(MCMC)-从平稳分布,细致平衡到Metropolis-Hastings和Gibbs采样

    马尔可夫链性质 马尔可夫假设: 某一时刻状态转移概率只依赖于前一个状态 马尔科夫链状态转移矩阵的性质:平稳分布 与初始的概率分布无关,马尔可夫链在有限次转移之后总能收敛到一个稳定的概率分布,称为平稳分 ...

  7. 漫谈MCMC与Gibbs采样(三)—— 有趣的马尔科夫链

    Markov Chain 提起马尔科夫链,大家应该都不陌生.我第一次接触这个概念,是在大一的C语言编程课中,当时用马尔科夫链来做文章的随机生成.马尔科夫链的思想非常简单,在数学上可以表述如下: (6) ...

  8. MCMC(三)蒙特卡洛之Gibbs采样

    对于给定的概率分布p(x),我们希望能有便捷的方式生成它对应的样本.由于马氏链能收敛到平稳分布,于是一个很的漂亮想法是:如果我们 能构造一个转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是P(x), ...

  9. MCMC详解2——MCMC采样、M-H采样、Gibbs采样(附代码)

    MCMC是一种随机采样方法,用来处理一些复杂运算的近似求解.在HMM.LDA等模型中都有重要应用. 上一篇 MCMC详解1--蒙特卡洛方法 目录 1,马尔科夫链模型 1.1 马尔科夫链转移矩阵的性质 ...

  10. 漫谈MCMC与Gibbs采样(一)—— 采样背后的逻辑

    采样背后的逻辑 我们为什么需要采样 我们先来思考一个最基本的问题,我们为什么需要采样?之所以讨论这一点,是因为深刻理解我们要解决的问题,可以帮助我们更好地掌握解决问题的方法.尤其是当我们在复杂的模型中 ...

最新文章

  1. iAD靠什么吸引用户打开这个应用?
  2. Flex DataGrid设置不同行高度和自动换行
  3. 光猫直连电脑不能上网_电脑不能上网怎么办?DNS解析失败的解决方法
  4. 方法的重写-覆盖父类方法,重写子类方法实现
  5. Json-lib 需要的 jar 包
  6. C# 调用Windows API实现两个进程间的通信
  7. 米家对讲机_对前面两代产品不断总结和完善的产物,米家对讲机2代开箱体验...
  8. SpringBoot 整合 Spring Cloud Alibaba Nacos 连通性+负载均衡
  9. php 获取刚插入的一条,php获得刚插入数据的id 的几种方法
  10. Dijkstra及其堆优化
  11. c语言谭浩强第七章例题
  12. java file文件删除_Java File.delete 删除文件
  13. BSN联盟链专有节点服务介绍
  14. python基础课件
  15. excel筛选,排序
  16. React-笔记整理
  17. matlab中integrator,matlab:Simulink Integrator的理解
  18. Android Binder 之 ServiceManager (基于android 12.0/S)
  19. 化工学matlab,化工和石化行业
  20. 异构群体机器人协作任务分配(群体智能论文学习)

热门文章

  1. php分页显示数据表格显示,php+layui数据表格实现数据分页渲染代码
  2. mac下nvm_2021 搞个 Mac 玩玩吧!
  3. jmeter学习总结
  4. C++ vector用法总结
  5. 第八届蓝桥杯第五题取数位
  6. 剑指offer面试题17. 打印从1到最大的n位数
  7. Python数据结构实战——单向链表(LinkedList)
  8. 剑指offer面试题53 - II. 0~n-1中缺失的数字(二分查找)
  9. 优化C/C++代码的小技巧
  10. 2010计算机网络考研真题及答案,2010年计算机考研统考真题参考答案