MCMC

  • 定义

很重要: https://www.cnblogs.com/pinard/p/6625739.html

参考:
MCMC https://zhuanlan.zhihu.com/p/253784711
     https://zhuanlan.zhihu.com/p/37121528
马尔科夫链:http://www.360doc.com/content/19/0226/08/32196507_817579538.shtml

定义

随机过程:考虑一个随机变量的序列 X = { X 0 , X 1 , X 2 . . . X t . . . } X=\{X_0,X_1,X_2...X_t...\} X={X0​,X1​,X2​...Xt​...}
这里 X t X_t Xt​ 表示时刻 t t t 的随机变量, t = 0 , 1 , 2... t= 0,1,2... t=0,1,2...
每个随机变量的取值集合相同,称为状态空间,表示为 S S S 。随机变量可以是离散的,也可以是连续的。
以上随机变量的序列构成随机过程(stochastic process)。

假设在0时刻的随机变量 X 0 X_0 X0​ 遵循概率分布 P ( X 0 ) = π 0 P(X_0)=\pi_0 P(X0​)=π0​,称为初始状态分布。在某个时刻 t > = 1 t>=1 t>=1 的随机变量 X t X_t Xt​ 与前一个时刻的随机变量 X t − 1 X_{t-1} Xt−1​之间有条件分布 P ( X t ∣ X t − 1 ) P(X_t|X_{t-1}) P(Xt​∣Xt−1​),如果 X t X_t Xt​只依赖于 X t − 1 X_{t-1} Xt−1​ ,而不依赖于过去的随机变量,这一性质称为马尔可夫性,即:

  P ( X t + 1 = y ∣ X t = x , X t − 1 = x t − 1 , ⋅ ⋅ ⋅ , X 0 = x 0 ) P(X_{t+1} = y | X_t = x, X_{t−1} = x_{t−1}, · · · , X_0 = x_0) P(Xt+1​=y∣Xt​=x,Xt−1​=xt−1​,⋅⋅⋅,X0​=x0​)
= P ( X t + 1 = y ∣ X t = x ) = P(X_{t+1} = y | X_t = x) =P(Xt+1​=y∣Xt​=x)

具有马尔可夫性的随机序列称为马尔可夫链

P ( X t ∣ X t − 1 ) P(X_t|X_{t-1}) P(Xt​∣Xt−1​) 称为马尔可夫链的转移概率分布
转移概率分布决定了马尔可夫链的特性。

如果这个条件概率分布与具体的时刻 t 是无关的,则称这个马尔科夫链为时间齐次的马尔可夫链

p i j = P ( X t = j ∣ X t − 1 = i ) p_{ij}=P(X_t=j|X_{t-1}=i) pij​=P(Xt​=j∣Xt−1​=i)
表示从状态i转移到状态j的概率,该矩阵将所有可能的转台转移全部列出,对于非齐次的马尔科夫链,每个时刻的矩阵都不相同,在本文中,全部采用齐次马尔可夫,因此状态转移矩阵是不会变化的

通常初始分布 π ( 0 ) \pi_{(0)} π(0)​ 向量只有一个分量是1,其余分量都是0,表示马尔可夫链从一个具体状态开始。

有限离散状态的马尔可夫链可以由有向图表示。结点表示状态,边表示状态之间的转移,边上的数值表示转移概率。从一个初始状态出发,根据有向边上定义的概率在状态之间随机转移,就可以产生状态的序列。
马尔可夫链实际上是刻画随时间在状态之间转移的模型,假设未来的转移状态只依赖于现在的状态,而与过去的状态无关。

另外马尔可夫链的性质可以推导出如下:
  P ( X t + 1 = y , X 0 : t − 1 = x 0 : t − 1 ∣ X t = x ) P(X_{t+1} = y, X_{0:t−1} = x_{0:t−1} | X_t = x) P(Xt+1​=y,X0:t−1​=x0:t−1​∣Xt​=x)
= P ( X t + 1 = y ∣ X t = x ) × P ( X 0 : t − 1 = x 0 : t − 1 ∣ X t = x ) = P(X_{t+1} = y | X_t = x)\times P(X_{0:t−1}= x_{0:t−1} | X_t = x) =P(Xt+1​=y∣Xt​=x)×P(X0:t−1​=x0:t−1​∣Xt​=x)
t时刻前后同时发生的概率可以拆开

  P ( X t + 1 = x t + 1 ∣ X 0 : t = x 0 : t , X t + 2 : t + s = x t + 2 : t + s ) ) P(X_{t+1} = x_{t+1} | X_{0:t} = x_{0:t}, X_{t+2:t+s} = x_{t+2:t+s)}) P(Xt+1​=xt+1​∣X0:t​=x0:t​,Xt+2:t+s​=xt+2:t+s)​)
= P ( X t + 1 = x t + 1 ∣ X t = x t , X t + 2 = x t + 2 ) = P(X_{t+1} = x_{t+1} | X_{t} = x_{t}, X_{t+2} = x_{t+2}) =P(Xt+1​=xt+1​∣Xt​=xt​,Xt+2​=xt+2​)
条件中未来更多步的条件可以去掉

平稳分布:当一个点在马尔可夫链上不停的游走,最终,其分布会趋于平稳分布
注意反复理解,这是一个点的分布,就是在某一时刻,它位于的状态的分布

因此,只要我们构造出一个最终平稳分布是我们的目标分布的马尔可夫链,那么在达到平稳状态后,其每游走一次,就相当于一次抽样
另外由于马尔可夫性,之只要在最终获取的序列中间隔抽取,便可得到 iid 的样本

我们知道对于一个马尔可夫链,其主要特征就是转移矩阵,和初始状态
因为我们关注平稳状态,所以初始状态没有影响,只要确定状态转移矩阵便对应着一个平稳分布

现在的问题是我们如何去构造马尔可夫链,来符合我们的预期

以目标分布 [ 0.5 , 0.2 , 0.3 ] T [0.5,0.2,0.3]^T [0.5,0.2,0.3]T为例 ,想构造一个马尔可夫链,使它的平稳分布与目标分布一致,关键还是要求出状态转移矩阵:

其中P为状态转移矩阵,上式表明达到平稳状态

定理:满足细致平衡方程的状态分布 π \pi π就是该马尔可夫链的平稳分布 π = P π \pi=P\pi π=Pπ

因此 问题转变为求解细致平衡方程:

定义:给定一个马尔科夫链,如果有状态分布 π \pi π 。对于任意的状态 i , j ∈ S i,j\in S i,j∈S,对任意一个时刻 t t t 满足:
π i P j , i = π j P i , j \pi_iP_{j,i}=\pi_jP_{i,j} πi​Pj,i​=πj​Pi,j​(细致平衡方程)
则称此马尔可夫链为可逆马尔可夫链

满足细致平衡方程的状态分布就是该马尔可夫链的平稳分布(可证明),

∑ i = 1 ∞ π i p ( j ∣ i ) = ∑ i = 1 ∞ π j p ( i ∣ j ) = π j ∑ i = 1 ∞ p ( i ∣ j ) = π j ∑_{i=1}^∞π_ip(j|i)=∑_{i=1}^∞π_jp(i|j)=π_j∑_{i=1}^∞p(i|j)=π_j ∑i=1∞​πi​p(j∣i)=∑i=1∞​πj​p(i∣j)=πj​∑i=1∞​p(i∣j)=πj​

所以定理成立

由于一般情况下 α \alpha α的值都比较小

MH采样

GIBB’s

已知高维目标分布 f ( x ) f(x) f(x),其中x为n维向量

想从中采样,获得马尔科夫链:

1)取初始状态 X 1 : n ( 0 ) X_{1:n}^{(0)} X1:n(0)​

循环:(每次循环获得一个样本)
  从一维分布 f ( X 1 ∣ X 2 : n ( t ) ) f(X_{1}|X_{2:n}^{(t)}) f(X1​∣X2:n(t)​)中产生一个样本, X 1 ( t + 1 ) X_{1}^{(t+1)} X1(t+1)​
  从一维分布 f ( X 1 ∣ X [ − 2 ] ( t ) ) f(X_{1}|X_{[-2]}^{(t)}) f(X1​∣X[−2](t)​)中产生一个样本, X 2 ( t + 1 ) X_{2}^{(t+1)} X2(t+1)​
  …
  从一维分布 f ( X 1 ∣ X 1 : n − 1 ( t ) ) f(X_{1}|X_{1:n-1}^{(t)}) f(X1​∣X1:n−1(t)​)中产生一个样本, X n ( t + 1 ) X_{n}^{(t+1)} Xn(t+1)​

  以上这n个一维样本,共同构成n维向量,作为一个高维样本 X 1 : n ( t + 1 ) X_{1:n}^{(t+1)} X1:n(t+1)​输出
   t = t + 1 t= t+1 t=t+1

MCMC蒙特卡洛马尔可夫过程相关推荐

  1. 图˙谱˙马尔可夫过程˙聚类结构----by林达华

    这又是林达华的一篇好文,将四个概念在某个方面解释的很清楚,特别是特征值和特征向量的意义,让人豁然开朗. 原文已经找不到了,好像是因为林达华原来的live博客已经失效,能找到的只有网上转载的文章(本来还 ...

  2. 图˙谱˙马尔可夫过程˙聚类结构(转自MIT的中国留学生博客)

    题目中所说到的四个词语,都是Machine Learning以及相关领域中热门的研究课题.表面看属于不同的topic,实际上则是看待同一个问题的不同角度.不少文章论述了它们之间的一些联系,让大家看到了 ...

  3. 强化学习(2): 马尔可夫过程

    前言 本文重点介绍MDP,因为MDP是目前最适合表征强化学习问题的模型. 一个具体的赌徒例子,来说明强化学习的算法如何与MDP构建联系,并且求解出最优策略.链接如下:link 一.马尔可夫性 其假设未 ...

  4. 一个简单的马尔可夫过程例子

    什么是马尔可夫过程(Markov Process) 要说什么是马尔可夫过程,首先必须讲讲什么是随机过程(Stochastic Process). 設 (Ω,,P) (\Omega, \mathcal ...

  5. 基于马尔可夫过程的一种新型混合PSO粒子群算法(SCI二区高被引文献)介绍及算法复现(使用chatgpt)

    以下是一篇算法领域的SCI二区文献(原文见附件),介绍了一种使用Markov概率转移矩阵对种群拓扑结构进行加权的粒子群算法,相比于标准PSO算法该算法提高了全局覆盖率,更容易跳出局部最优,但是在局部最 ...

  6. 【通俗易懂的通信】马尔可夫过程Ⅱ:马尔可夫链中的状态,常返、非常返

    往期基础知识回顾:马尔可夫过程Ⅰ:马尔可夫链.齐次马尔可夫链.CK方程 0.符号规定 :转移概率,从状态i到状态j,n步转移概率,不关心是否重复经过状态j. :首达概率,经过n步第一次从i达到j的概率 ...

  7. 马尔可夫过程 matlab,马尔可夫过程matlab

    200 9 年 4 月 电 脑 学 习 第 2 期 齐次马尔可夫预测的应用及其在 Matlab 上的实现冉 婕* 刘丽梅摘 要 :着重讨论了基于 Matlab 的齐次马尔可夫链及其在...... 关键 ...

  8. 马尔可夫过程在控制领域的应用

    马尔可夫过程是一种用来描述随机系统时间变化的数学模型,在控制领域有着广泛的应用. 马尔可夫过程的思想可以用来模拟系统的行为,并进一步开发出各种预测和控制算法.例如,可以利用马尔可夫过程进行状态估计,并 ...

  9. 数量金融 | 随机过程、马尔可夫过程、维纳过程三者的联系与区别?

    大家好,我是一个充满好奇的金融小白! 最近在啃<数量金融>这本书,对于我这个非数学类的本科生来说还真是不小的挑战.有时候一个概念看懂都费了我不少时间,就在今天我为了搞明白随机过程.马尔可夫 ...

最新文章

  1. 内存分配器设计的演进
  2. STM32的启动分析
  3. 第十七期:详解大数据处理中的Lambda架构和Kappa架构
  4. oracle groupq by,oracle group by 性能优化
  5. 爬虫调用百度翻译API
  6. 什么是java cdm_Java-ORM数据库框架CDM介绍
  7. 国内较高水平的计算电磁学方面的高校和教授们
  8. Pinterest和Instagram哪个更好用?姐妹还是天敌...
  9. 他抛了27亿粒米粒儿近似计算出了圆周率
  10. 简单的射击类Android游戏--《环形射击》
  11. App测试中IOS和安卓测试的区别
  12. BZOJ4379: [POI2015]Modernizacja autostrady
  13. HTTP协议与HTTPS协议的区别
  14. adb shell查看进程提示grep不是内部命令或外部命令解决办法
  15. coids+pika集群 问题小记
  16. 回溯法n后问题(具体代码实现,详细分析)
  17. 阿里云实战之一(必备程序安装)
  18. 隆重推荐:大漠苍狼2-绝密飞行
  19. configparser.DuplicateSectionError: While reading from '/home/qinghua/.theanorc' [line 18]: section
  20. RS485接口连接设备数量总共有多少?

热门文章

  1. 国外问卷调查项目详解(真正的保姆级教程)
  2. Linux——Linux账号与群组
  3. 安装织梦的时候出现dir怎么办?亲测有效解决方案
  4. [2008北京奥运会]08奥运开幕式NBC版的字幕/解说词
  5. Java静态方法的注意事项
  6. 机器人李继红_李继宏
  7. 90% 前端都会的 ES6 简化代码技巧,你用过哪些
  8. 叠氮功能化硫铟铜量子点CuInS Qds-N3|炔基修饰碲化镉/硫化硒量子点 CdTe/CdSe Qds-Alkyne科研试剂
  9. C语言程序——关系运算符的应用
  10. 好东西大家分享: 怎么画数据流图 1