今天,重新将MCMC的word版本转换博文格式,但感觉还是写得很不好!重新整理一下!希望能够加深!

1. 采样的理解和Monte Carlo方法

原来学习电子技术时,对电压信号采样,有信号保持,采样间隔,AD转换等概念。可对只学过随机过程而没学过统计模拟的同学来说就理解困难了。我是一直受电子技术的采样概念影响,对采样理解不过来!尤其是经常碰到Monte Carlo采样,根本就不理解!

个人理解,随机过程的采样讨论的就是如何根据随机变量的概率分布来生成随机变量的样本!一定要注意随机变量和样本的区别,稍不注意,就乱了。

为什么要采样呢?

这就是需要谈到Monte Carlo方法,对于该方法这里我不啰嗦,它的目的就是求解某一随机变量的概率或者统计量(比如期望值、方差等)。采用的方法就是通过计算机模拟(或者人工模拟),来生成该随机变量的大量样本,然后根据样本进行无偏估计得到该随机变量的概率或者统计量。可见采样对于Monte Carlo方法的重要性!

我们知道,最简单的概率分布是均匀分布,这个在计算机中可以通过硬件或者软件来实现,Matlab,C语言中都有相关语句。可是碰到复杂概率分布,比如正态分布, $\alpha " style="text-indent:32px;$ 分布,甚至只知道随机变量的条件概率分布,如何来生成随机变量的样本呢?

为什么会出现MCMC方法呢?如前面所说,因为有的随机变量概率分布 $p(x)$ 很复杂,比如下面两种情况:

1) $p(x)= \frac{\tilde{p}(x)}{\int \tilde{p}(x)dx}$ , $\tilde p (x)$ 可以计算,但分母的积分却难以计算。

2) $p(x,y)$ 本身计算很困难,但 $p(x|y)$ 和 $p(y|x)$ 却可以计算。

这时候要生成 $p(x)$ 或 $p(x,y)" style="text-indent:32px;$ 分布的样本就会用到MCMC方法。

马氏链(Markov Chain)简单的数学描述如下:

$\pi_{n+1}(x)=\pi_n(x)P$  (1)

其中P为转移概率矩阵,随机变量当前的概率分布只取决于前一时刻的概率分布和转移概率矩阵。

对于大多数非周期的转移概率矩阵P,从任何初始概率分布出发,随机变量的概率分布都会收敛到一个平稳分布,该平稳分布为下述方程的解:

$\pi(x)=\pi(x)P$    (2)

假设应用马氏链收敛于平稳分布的性质来生成给定概率分布 $\pi(x)$ 的样本,需要解决的关键问题是如何针对 $\pi(x)" style="text-indent:32px;$ 来确定转移概率矩阵P?这时就提出了细致平稳条件的要求(为了方便,随机变量改写为离散的形式):

$\pi(i)P(j,i)=\pi(j)P(i,j)$     (3)

其中 $i,j$ 分别表示随机变量的第 $i,j" style="text-indent:32px;$ 个状态。

因此,如果公式(3)成立,则公式(2)成立,也即转移概率矩阵P对应的平稳分布就是我们需要得到的概率分布 $\pi(x)" style="text-indent:32px;$ 。

3. Metropolis Hastings采样算法

如何根据 $\pi(x)" style="text-indent:32px;$ 来构造转移概率矩阵P,使得细致平稳条件成立呢?最早的构造方法就是Metropolis Hastings采样算法。

该算法的实现思路是这样的:对于一个给定的需要生成的概率分布 $\pi(x)" style="text-indent:32px;$ 和一个已知的P,改造P成为Q,使得细致平稳条件满足。

因, $\pi(i)P(j,i)\pi(j)P(i,j)=\pi(j)P(i,j)\pi(i)P(j,i)$

令, $\alpha(j,i) = \pi (j)P(i,j)$

所以, $\pi (i)P(j,i)\alpha(j,i)=\pi(j)P(i,j)\alpha(i,j)$

取, $Q(i,j)=P(i,j)\alpha(i,j)$

从而, $\pi(i)Q(j,i)=\pi(j)Q(i,j)$

因此转移概率矩阵Q的平稳分布为 $\pi(x)" style="text-indent:32px;$ 。

在构造Q的时候需要知道 $\pi(i),\: P(i,j)$ 。疑问是既然都知道了 $\pi(i)$ ,难道不能直接根据它来生成样本。可以,理论上是可以的,比如在一个盒子中分别放入 $N\pi(i)$ 个小球,随机从盒子中抽取小球,这样就能得到概率分布为 $\pi(x)" style="text-indent:32px;$ 的随机变量的样本了。但实际情况是如果 $i$ 的取值范围特别大,就碰到了所谓的维数灾难,即使用计算机模拟也难以实现。如果应用马氏链的方法来生成样本,就不需要构造这么一大盒子球来生成样本了,而是依据算法直接生成。

4. Gibbs采样算法

应用Metropolis Hastings采样算法时,因 $\alpha(j,i) = \pi (j)P(i,j)" style="text-indent:32px;$ ,可能情况是 $\alpha(i,j)$ 特别小,从而采样时随机变量总是停在同一状态上,导致采样失效。因此尽可能提高细致平稳条件下的状态转移概率。

在一些应用的情况下,条件概率 $\pi(i|j)$ 是知道的。

由于, $\pi(i)\pi(j|i)=\pi(j)\pi(i|j)$

取, $P(j,i)=\pi(j|i),\: P(i,j)=\pi(i|j)$

于是细致平稳条件也得到满足,而且状态转移概率也得到了很大提高。

这就是Gibbs采样算法。

转载本文请联系原作者获取授权,同时请注明本文来自蒋秋华科学网博客。

链接地址:http://wap.sciencenet.cn/blog-110554-1030316.html

上一篇:MCMC的理解

计算机什么课学mcmc,科学网—MCMC的深入理解 - 蒋秋华的博文相关推荐

  1. 湖北大学计算机学院周双娥,科学网—“第三届‘蓝桥杯’全国软件大赛”湖北分赛区组委会组成名单 - 程学先的博文...

    经大赛组委会批准,"第三届'蓝桥杯'全国软件专业人才设计与创业大赛"湖北分赛区组委会组成名单如下: 湖北分赛区组委会主任:华科大软件学院院长陈传波 湖北分赛区组委会常务副主任:湖北 ...

  2. mh采样算法推导_科学网—MCMC中的Metropolis Hastings抽样法 - 张金龙的博文

    Metropolis Hastings抽样法示例 jinlongzhang01@gmail.com Metropolis Hasting(下面简称MH)是蒙特卡罗马尔科夫链中一种重要的抽样方法.本文简 ...

  3. 上计算机课的日记,科学网—上计算机课,不接触计算机----日记摘抄(161) - 武夷山的博文...

    上计算机课,不接触计算机----日记摘抄(161) 武夷山 1980年3月17日 今天下午听了法语课,XXX也听.下课后立即借XXX的车子去买书,在准备替X买俄语小册子时先把钱递给了女售货员,她居然不 ...

  4. 计算机科学家的摇篮,科学网—科学家有多少摇篮? - 籍利平的博文

    在一则题为<懒得考清华北大?16岁女生考上中国版"麻省理工">的微信公众号文章后面,我曾经这样留言(个别笔误已经更正): 各有所好吧,不必因此贬低北大清华.上少年班,的 ...

  5. 计算机农业sci,科学网—SCI-EI收录农业工程期刊 - 王宝济的博文

    SCI-EI收录农业工程期刊(2010年整理) 1 "Transactions of the ASABE美国农业工程学报" 2 "Applied engineering ...

  6. 计算机意识状态在线场所,科学网—浅谈计算机意识的有效范围 - 于金辉的博文...

    意识在宗教,哲学,心理学以及人工智能中都被不同程度涉及到.目前无法用语言对意识进行准确定义.可以确定的是我们有意识,并且 语言是意识的产物: 逻辑是意识的产物: 艺术是意识的产物. 计算机是基于二进制 ...

  7. 计算机中的光学知识,科学网—光学基础知识大讲堂 ——第3期:详解电磁辐射 - 何卓铭的博文...

    光学基础知识大讲堂 --第3期:详解电磁辐射 何卓铭 电磁辐射作为一种看不见.摸不着的场,是电磁波能量传递的一种方式.而我们生活着的地球环境中,便充斥着大量的电磁辐射,不过不用害怕,只有当电磁辐射达到 ...

  8. 男人30学php,科学网—男人30岁之前要学的16件事 - 刘石泉的博文

    1.事业永远第一 虽然金钱不是万能的,但没有钱是万万不能的.虽然这句话很俗,但绝对有道理.30岁之前,请把你大部分精力放在你的事业上. 2.别把钱看得太重 不要抱怨自己现在工资低,银行存款4位数以下, ...

  9. 计算机为什么不重视SCI,科学网—要SCI-EI,但不唯SCI-EI ---读CCF新的会议杂志推荐目录有感 - 唐常杰的博文...

    要SCI-EI,但不唯SCI-EI ---读CCF新的会议杂志推荐目录有感(唐常杰) 中国计算机学会(CCF)推荐国际学术会议与期刊目录2012版(简称推荐目录)于2013年1月下旬发布了.推荐目录的 ...

最新文章

  1. 计算机图形软件---图形功能
  2. Linux下安装oracle提示INS-20802 Oracle Net Configuration Assistant
  3. 有哪些好的 LaTeX 编辑器?
  4. python实现蜘蛛功能批量下载手机壁纸
  5. 我很高兴地宣布我正在编写第一本官方ABP图书
  6. 深度学习之数学基础(临时记录)
  7. 伴鱼:借助 Flink 完成机器学习特征系统的升级
  8. mui HTML5 plus 下载文件
  9. 浅析C++开发语言的特点
  10. 单片机c语言编程300例,51单片机C语言实例(350例)Proteus仿真和代码
  11. 未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
  12. 【高级检索】现在还有人不会用百度的搜索语法?
  13. Java对接支付宝(alipay)电脑网站生成二维码扫码支付 alipay.trade.page.pay统一收单下单并支付页面接口
  14. 十分钟学懂Python入门基础3(中)
  15. 今日恐慌与贪婪指数为15 恐慌程度有所上升
  16. 离散元后处理,将PFC数据写出并导入到matlab中形成云图
  17. 数据结构与算法:B树(B-Tree)定义及搜索、插入、删除基本操作
  18. 聊聊MySQL存储过程
  19. 【Python】P1008 [NOIP1998 普及组] 三连击
  20. 2021年中国地质灾害发生数量、伤亡人员及避免情况分析[图]

热门文章

  1. 【程序人生】读出社会两年后的工作感受有感
  2. WPF基础笔记(5)画刷
  3. html页面禁止滚轮事件,javascript实现禁止鼠标滚轮事件
  4. 华为云郑叶来:坚持普惠AI,打造通往未来的EI智能体
  5. ASP.NET入门篇【项目实战】打造一个自己的相册(二)登录模块
  6. CPU:别再拿我当搬砖工了!
  7. 你注册过哪些域名?域名注册的一般步骤~
  8. 水面反光如何拍摄_如何把水面拍出粼粼波光
  9. 【微信征文】辩证:微创新时代的比较创新(By Skyh)
  10. 推荐系统︱基于bandit的主题冷启动在线学习策略