第十四课.马尔科夫链
目录
- 马尔科夫链
- 马尔科夫链的平稳分布
- 马尔科夫链进入稳态的转移过程
- 马尔科夫链稳态的意义
- 稳态判定:细致平稳条件
马尔科夫链
随机过程指的是一个随机变量序列:{Xt}\left\{X_{t}\right\}{Xt},而马尔科夫链就是随机过程中的一种典型类型,其概率图如下:
马尔科夫链在不同的时间 ttt 对应着不同的状态节点 xtx_{t}xt,实际上就是用时间串联起来的一个个随机变量,这一组随机变量共享一个状态空间,其中包含 nnn 个状态,每一个时间节点对应的随机变量都会取这个状态空间中的一个具体状态。
随着时间不断向前移动,马尔科夫链中的不同状态节点就在不同的状态之间进行转移,从而派生了马尔科夫链中的重要参数:状态转移矩阵 PPP,这个矩阵应该是一个n×nn\times nn×n的方阵:
其中某个具体元素PijP_{ij}Pij表示从状态iii转移到状态jjj的概率。用条件概率描述即为:
Pij=p(xt+1=j∣xt=i)P_{ij}=p(x_{t+1}=j|x_{t}=i)Pij=p(xt+1=j∣xt=i)
这里只考虑一阶齐次马尔科夫链,即未来状态只取决于现在,与过去无关,用条件概率描述为:
p(xt+1=x∣x1,x2,x3,...,xt)=p(xt+1=x∣xt)p(x_{t+1}=x|x_{1},x_{2},x_{3},...,x_{t})=p(x_{t+1}=x|x_{t})p(xt+1=x∣x1,x2,x3,...,xt)=p(xt+1=x∣xt)
对于马尔科夫链概率图中每个时间ttt节点对应的πt\pi_{t}πt,其表示ttt时刻的概率分布。因为节点之间的状态是依照概率进行转移的,也就是任意时刻ttt节点,对于nnn个状态中的任意一个状态,它都有可能取到,因此πt\pi_{t}πt是一个向量,对应在ttt时刻,nnn个不同状态中每一个状态出现的概率:
πt=[πt(1),πt(2),πt(3),...,πt(n)],∑i=1nπt(i)=1\pi_{t}=[\pi_{t}(1),\pi_{t}(2),\pi_{t}(3),...,\pi_{t}(n)],\sum_{i=1}^{n}\pi_{t}(i)=1πt=[πt(1),πt(2),πt(3),...,πt(n)],i=1∑nπt(i)=1
依照状态转移的定义,将ttt时刻和t+1t+1t+1时刻的状态分布πt,πt+1\pi_{t},\pi_{t+1}πt,πt+1,以及状态转移矩阵PPP结合有:
πt+1(x∗)=∑xπt(x)p(x∗∣x)\pi_{t+1}(x^{*})=\sum_{x}\pi_{t}(x)p(x^{*}|x)πt+1(x∗)=x∑πt(x)p(x∗∣x)
其中,xxx和x∗x^{*}x∗是这个马尔科夫链状态空间中nnn个状态里的任意两个状态。总体合成状态转移矩阵和状态分布向量之间相乘的形式为:
πt+1=πtP\pi_{t+1}=\pi_{t}Pπt+1=πtP
马尔科夫链的平稳分布
对于某一个具体的马尔科夫链,每一个时刻ttt都有一个状态分布πt\pi_{t}πt,但是如果对于任意不同的时刻ttt和t+1t+1t+1,他们的分布保持不变,都为π\piπ的话,那么状态分布π\piπ就是这个马尔科夫链的平稳分布,按照定义满足:
π=πP\pi=\pi Pπ=πP
即当从某个时刻ttt开始,他的各个状态服从平稳分布π\piπ的话,那么后续的任意时刻,状态分布都为平稳分布π\piπ。
马尔科夫链进入稳态的转移过程
结合上面的内容,回顾马尔科夫链上各个相邻时间节点之间的状态转移变化过程:
t=1t=1t=1时刻:从π1\pi_{1}π1中,依概率采样状态x1x_{1}x1,即x1∼π1x_{1}\sim \pi_{1}x1∼π1;
t=2t=2t=2时刻:从π2\pi_{2}π2中,依概率采样状态x2x_{2}x2,显然x2∼π2x_{2}\sim \pi_{2}x2∼π2,其中π2=π1P\pi_{2}=\pi_{1}Pπ2=π1P;
t=3t=3t=3时刻:从π3\pi_{3}π3中,依概率采样状态x3x_{3}x3,显然x3∼π3x_{3}\sim \pi_{3}x3∼π3,其中π3=π2P\pi_{3}=\pi_{2}Pπ3=π2P;
以此类推,经过了一段时间,当t=kt=kt=k的时候,我们发现:
- t=kt=kt=k时刻,从πk\pi_{k}πk中,依概率采样状态xkx_{k}xk,我们发现xk∼πkx_{k}\sim \pi_{k}xk∼πk;
- t=k+1t=k+1t=k+1时刻,从πk+1\pi_{k+1}πk+1中,依概率采样状态xk+1x_{k+1}xk+1,我们发现xk+1∼πk+1x_{k+1}\sim \pi_{k+1}xk+1∼πk+1,但是此时πk+1=πk\pi_{k+1}=\pi_{k}πk+1=πk,后续也将延续此情况,即马尔科夫链进入了稳态。
马尔科夫链稳态的意义
当马尔科夫链进入稳态之后,每一个不同的时刻ttt都会对应状态集里的一个状态,当然它是随机的,由于进入了稳态,他们都服从同一个分布,即马尔科夫链的稳态分布π\piπ,依照大数定理,将进入平稳状态之后的每个ttt时刻的状态都作为一个样本,而形成一个样本集,这个样本集就可以作为这个平稳分布的近似。
这里有两个事情:
- 实际工程中,如何判断进入到平稳分布?进入平稳分布前的时间被称为"燃烧期",我们可以给燃烧期取较长时间,从而确保马尔科夫链进入稳态;
- 进入稳态后,采样的时间节点越多,样本集就越能作为平稳分布的近似。
后续思路就简单了,如果要通过采样的方式去求取目标分布p(z)p(z)p(z),那我们就引入马尔科夫链的稳态分布,让我们的目标分布恰为某一个马尔科夫的稳态分布,那么我们在该马尔科夫链上进行长时间的状态转移,燃烧期之后我们收集到进入稳态后各个时刻点的样本,该样本集就可以作为目标分布的一个近似。
稳态判定:细致平稳条件
对于判定分布π\piπ是马尔科夫链的稳态分布,可以使用细致平稳条件:给定一个马尔科夫链的状态转移矩阵PPP,以及一个分布π\piπ,如果满足:
π(x)p(x∗∣x)=π(x∗)p(x∣x∗)\pi(x)p(x^{*}|x)=\pi(x^{*})p(x|x^{*})π(x)p(x∗∣x)=π(x∗)p(x∣x∗)
其中,xxx和x∗x^{*}x∗是该马尔科夫链状态空间中任意两个给定状态,那么分布π\piπ就是该马尔科夫链的稳态分布。
证明如下:
由于π(x)p(x∗∣x)=π(x∗)p(x∣x∗)\pi(x)p(x^{*}|x)=\pi(x^{*})p(x|x^{*})π(x)p(x∗∣x)=π(x∗)p(x∣x∗),那么对等式两侧同时关于状态xxx所有的可取值进行求和:
∑xπ(x)p(x∗∣x)=∑xπ(x∗)p(x∣x∗)=π(x∗)∑xp(x∣x∗)\sum_{x}\pi(x)p(x^{*}|x)=\sum_{x}\pi(x^{*})p(x|x^{*})=\pi(x^{*})\sum_{x}p(x|x^{*})x∑π(x)p(x∗∣x)=x∑π(x∗)p(x∣x∗)=π(x∗)x∑p(x∣x∗)
显然,当xxx取遍状态集合中的所有状态时,有:
∑xp(x∣x∗)=1\sum_{x}p(x|x^{*})=1x∑p(x∣x∗)=1
因此:
∑xπ(x)p(x∗∣x)=π(x∗)\sum_{x}\pi(x)p(x^{*}|x)=\pi(x^{*})x∑π(x)p(x∗∣x)=π(x∗)
这正是平稳分布的定义,从而证明了细致平稳条件是正确的。
第十四课.马尔科夫链相关推荐
- 第十五课.马尔科夫链蒙特卡洛方法
目录 M-H采样 Metropolis-Hastings采样原理 M-H采样步骤 Gibbs方法 Gibbs核心流程 Gibbs采样的合理性证明 Gibbs采样实验 在 第十四课中讲述了马尔科夫链与其 ...
- 机器学习笔记(十二)——马尔科夫模型
马尔科夫模型是一种概率图模型,它描述了一类重要的随机过程(随机过程又称为随机函数,是随时间而随机变化的过程).我们常常需要考察一个随机变量序列,这些随机变量序列并不是相互独立的,每个随机变量的值都依赖 ...
- 统计学习方法十:隐马尔科夫模型
一.基本概念 1.马尔科夫假设:当前的状态只与之前的状态有关 2.马尔科夫过程:当前的状态只与前n个状态有关,被称为n阶马尔科夫模型. 3.马尔科夫链:可以理解为带有概率的状态转移链 3.一阶马尔科夫 ...
- 马尔科夫链原理简介及应用
马尔科夫链原理简介及应用 0 评论 马尔科夫链作为解释复杂时间进程的一个简单概念,在语音识别.文本标识.路径辨识等众多人工智能领域有广泛应用.本文对离散马尔科夫链的基本原理即应用做简要介绍. 马尔可夫 ...
- 漫谈MCMC与Gibbs采样(三)—— 有趣的马尔科夫链
Markov Chain 提起马尔科夫链,大家应该都不陌生.我第一次接触这个概念,是在大一的C语言编程课中,当时用马尔科夫链来做文章的随机生成.马尔科夫链的思想非常简单,在数学上可以表述如下: (6) ...
- 阿尔法狗怎么用机器学习做决策:马尔科夫链减少搜索空间说起(附PDF公号发“马链搜索”下载)...
阿尔法狗怎么用机器学习做决策:马尔科夫链减少搜索空间说起(附PDF公号发"马链搜索"下载) 以色列理工Dr许铁 数据简化DataSimp 今天 数据简化DataSimp导读:Alp ...
- 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
来源:新智元 本文共2100字,建议阅读9分钟. 本文用可视化的方式来解释抽象的理论概念,使这些抽象概念变得生动而立体! [ 导读 ]马尔科夫链.主成分分析以及条件概率等概念,是计算机学生必学的知识点 ...
- 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程
写在前面的话:从今日起,我会边跟着硅谷大牛Siraj的MOVE 37系列课程学习Reinforcement Learning(强化学习算法),边更新这个系列.课程包含视频和文字,课堂笔记会按视频为单位 ...
- 马尔科夫链模型状态转移矩阵
关于马尔可夫链模型,详细请参考马尔可夫链模型 这里我使用的马尔科夫链模型的状态转移矩阵是: 股市的概率分布为[0.4, 0.3, 0.3], 即40%概率的牛市,30%概率的熊盘与30%的横盘. 代码 ...
最新文章
- Nignx集成fastDFS后访问Nginx一直在加载中解决
- 【MySQL】(图解)快速理解内连接、外连接、左连接、右连接
- 跨时钟域处理——脉冲同步器
- mysql并发提交事务_Mysql事务并发问题解决方案
- 关于激励函数的一些思考
- boost::mpl::remove相关的测试程序
- wpf控件设计时支持(3)
- TCP 端口监听队列原理
- JQuery模拟boostrap模态框效果
- php可输入的下拉框,JavaScript_可编辑下拉框的2种实现方式,可编辑下拉框-HTML 复制代码 代 - phpStudy...
- 金三银五,金九银十,找工作的好时间
- 敏捷开发相关概念——学习笔记
- 研究了一下WORD的斜体,角度约20度
- 华为5G专利收费标准曝光!原来卖专利真的很挣钱
- VIVO应用市场APP上架总结
- 用python代码辅助自己背诵英语四级单词
- 计算机视觉研究新方向:自监督表示学习总结(建议收藏)
- C++二维vector使用教程
- 模块pygame介绍以及库的下载
- vue-router的两种模式及区别
热门文章
- 技术总监,被判刑12年!因公司未兑现股权,愤怒植入代码,牟利333万
- “伪高管”是如何搞垮一个公司的?
- 某程序员吐槽自己之前的外包同事能力不行,经常给同事挖坑,却面过了头条!只因为会刷题!头条招人这么不靠谱?...
- 关于多线程中抛异常的这个面试题我再说最后一次!
- 阿里程序员每天都沮丧想离职!天天去厕所哭!求助心理医生!其他阿里员工:我们也这样!阿里究竟怎么了?...
- Java开发中最常犯的10个错误,你中招了吗?
- 浅谈Java中15种锁的分析比较
- Spring Boot 最流行的 16 条实践解读!
- 掏空老底,值得推荐的10个学习神器,总有一个用得上!
- 如何衡量产品的用户体验?