马尔可夫链(Markov chain)是数学建模和机器学习常用的工具(据说尤其在NLP中,我目前尚不了解很多,但之前曾看过一篇用简单的马尔可夫链实现一个鸡汤生成器的博文,有兴趣的朋友可以看看)。这篇文章将对它做一个简单的介绍。

以下内容为本人在参考了一些资料后的原创,因此版权属于本人。欢迎转载,但请标明原作者和原链接。

由于内容比较繁多,我将在未来一段时间内完成这篇文章。

另注:根据作者测试,本文在移动端存在一个问题:公式无法显示完全。 解决办法是点击公式,使其出现选择框;长按至出现选项;选择Math Settings 里的 Scale All Math... 将scale调为大概50%,即可显示完全。

如下图所示:

什么是Markov chain?

定义

维基百科上给出的定义如下:

马尔可夫链(英语:Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain,缩写为DTMC),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。马尔科夫链作为实际过程的统计模型具有许多应用。

而用形式化的语言描述则为:
当等式两边的条件概率都有意义时,

P(Xn+m=j |Xn=i,Xn−1=in−1,…X1=i1)=P(Xn+m=j |Xn=i)P(Xn+m=j |Xn=i,Xn−1=in−1,…X1=i1)=P(Xn+m=j |Xn=i)

m=1m=1 时等式成立,则随机变量序列 XnXn 是一个马尔可夫链, XiXi 的可能值构成的可数集称为该链的状态空间(state space)

定义的推论

使用数学归纳法容易证明, 若 m=1m=1时 上式成立,则 mm 为任意正整数都成立。
要完成这个证明,我们先证明这样一个引理:

引理1 P(A|B)=∑P(A|B∩Ci)×P(Ci|B)P(A|B)=∑P(A|B∩Ci)×P(Ci|B)
其中,∑P(Ci)=1∑P(Ci)=1。

证明

∑P(A|B∩Ci)×P(Ci|B)=∑P(A∩B∩Ci)P(B∩Ci)×P(Ci|B)=∑P(A∩B∩Ci)P(B)P(Ci|B)×P(Ci|B)=∑P(A∩B∩Ci)P(B)=∑P(A∩B∩Ci)P(B)=P(A∩B)P(B)=P(A|B)∑P(A|B∩Ci)×P(Ci|B)=∑P(A∩B∩Ci)P(B∩Ci)×P(Ci|B)=∑P(A∩B∩Ci)P(B)P(Ci|B)×P(Ci|B)=∑P(A∩B∩Ci)P(B)=∑P(A∩B∩Ci)P(B)=P(A∩B)P(B)=P(A|B)

引理1,我们有:

P(Xn+m+1=k |Xn=i,Xn−1=in−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=i,Xn−1=in−1,…X1=i1)×P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1)P(Xn+m+1=k |Xn=i,Xn−1=in−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=i,Xn−1=in−1,…X1=i1)×P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1)

这里我们已经知道 m=1m=1 时是成立的,那么

P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=P(Xn+m+1=k |Xn+m=k′)=P(Xn+m+1=k |Xn+m=k,Xn=in)P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=P(Xn+m+1=k |Xn+m=k′)=P(Xn+m+1=k |Xn+m=k,Xn=in)

这个等式成立是因为 Xn+m+1Xn+m+1 只与 Xn+mXn+m 有关,至于我们为什么要引入 Xn=iXn=i,稍后再说。

对于乘号右边的 P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1)P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1), 根据归纳假设,有:
P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1)=P(Xn+m=k′ |Xn=in)P(Xn+m=k′ |Xn=i,Xn−1=in−1,…X1=i1)=P(Xn+m=k′ |Xn=in)

于是,上面的等式可以改写为:

P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=in)×P(Xn+m=k′ |Xn=in)P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=in)×P(Xn+m=k′ |Xn=in)

接下来我们证明第二个引理:

引理2: P(A∩B|C)=P(A|B∩C)×P(B|C)P(A∩B|C)=P(A|B∩C)×P(B|C)

证明 :

P(A|B∩C)×P(B|C)=P(A∩B∩C)P(B∩C)×P(B∩C)P(C)=P(A∩B∩C)P(C)=P(A∩B|C)P(A|B∩C)×P(B|C)=P(A∩B∩C)P(B∩C)×P(B∩C)P(C)=P(A∩B∩C)P(C)=P(A∩B|C)

写到这里,刚才我们引入 Xn=iXn=i 的目的就很显然了。我们可以将刚才的等式再次改写为:

P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=in)×P(Xn+m=k′ |Xn=in)=∑k′∈SP(Xn+m+1=k,Xn+m=k′ |Xn=in)=P(Xn+m+1=k |Xn=in)P(Xn+m+1=k |Xn+m=k′,Xn+m−1=in+m−1,…X1=i1)=∑k′∈SP(Xn+m+1=k |Xn+m=k′,Xn=in)×P(Xn+m=k′ |Xn=in)=∑k′∈SP(Xn+m+1=k,Xn+m=k′ |Xn=in)=P(Xn+m+1=k |Xn=in)

这样,我们证明了,如果m=1m=1等式成立, 当mm为任意正整数时,该等式都成立。

概率转移矩阵

开普曼-柯尔莫哥洛夫公式

刚刚我们分析的正是马尔可夫链的第一个性质:马氏性
接下来我们要讨论另一个性质:时齐性(time-homogeneity)
时齐性是指,系统由状态 ii 到状态 jj 的转移概率只依赖于其时间间隔的长短,与起始时间无关
用形式化的语言描述:

P(Xn+m=j |Xn=i)=P(Xn+m+k=j |Xn+k=i)P(Xn+m=j |Xn=i)=P(Xn+m+k=j |Xn+k=i)

既然与起始时间 nn 无关, 那我们就可以将概率 P(Xn+m=j |Xn=i)P(Xn+m=j |Xn=i) 写作 Pij(m)Pij(m) 。

需要注意的是,时齐性是我们的假设,而非能通过数学推导得出的性质。我们做出这个假设是因为它符合我们现实生活中的场景。

对于符合时齐性的马尔可夫链,我们可以定义这样一个概率转移矩阵P(m)P(m):
P(m)P(m) 是以 mm 步转移概率Pij(m)Pij(m)为元素的矩阵(即 (P(m))ij=Pij(m)(P(m))ij=Pij(m),也称为该链的 mm 步转移矩阵。通常记 P(1)P(1) 为 PP。

它具有以下几个性质:

  • ∀i,j∈S,0<Pij(m)<1∀i,j∈S,0<Pij(m)<1 .

  • ∀i,∑j∈SPij(m)=1∀i,∑j∈SPij(m)=1 换句话说, P(m)P(m) 的每一行都是在 SS 上的一个概率分布。

  • P(0)P(0) 是一个单位矩阵。

以上几个性质比较显然,这里就不做更多说明。

这里要重点提到的是开普曼-柯尔莫哥洛夫公式(The Chapman-Kolmogorov Equations)

∀m,n,P(m+n)=P(m)P(n)∀m,n,P(m+n)=P(m)P(n) 亦即,∀m,n,Pij(m+n)=∑k∈SPik(m)Pkj(n)∀m,n,Pij(m+n)=∑k∈SPik(m)Pkj(n)

证明:由引理1

Pij(m+n)=P(Xm+n+1=j |X1=i)=∑k∈SP(Xm+n+1=j|Xm+1=k,X1=i)×P(Xm+1=k |X1=i)=∑k∈SPik(m)Pkj(n)Pij(m+n)=P(Xm+n+1=j |X1=i)=∑k∈SP(Xm+n+1=j|Xm+1=k,X1=i)×P(Xm+1=k |X1=i)=∑k∈SPik(m)Pkj(n)

由此,我们能得到以下两个推论:

推论1: P(n)=P(n−1)P(1)=P(n−2)P(1)2=…P(1)n=PnP(n)=P(n−1)P(1)=P(n−2)P(1)2=…P(1)n=Pn

推论2: 如果我们设初始的概率分布为 P(0)P(0)(行向量), 那么经过了 nn 个步骤后的概率分布 P(n)=P(0)P(n)=P(0)PnP(n)=P(0)P(n)=P(0)Pn

极限概率分布

我们知道,概率分布矩阵的每个元素都属于[0,1][0,1], 那么很自然地,我们就会想知道:

对其求 nn 次幂后得到的 PnPn, 是否有极限呢?

对于有限的随机序列 XnXn, PP 和 PnPn 都是大小有限的方阵。这意味着我们也许可以用单纯的线性代数思想来解决这个问题。

线性代数的角度

纯粹从线性代数的角度来看这个问题,我们的 PP 具有什么性质呢?

  1. 所有元素均为非负数。
  2. 每行元素和为 11。

在这样性质的基础上,下面我们证明:

  1. PP 的任意一个特征值 λλ 满足 |λ|<=1|λ|<=1。
  2. PP 有特征值 11, 且非重根。

证明

  1. 令 λλ 对应的特征向量 x=(x1,x2,...xn)Tx=(x1,x2,...xn)T, 设 xi=max{x1,x2...,xn}xi=max{x1,x2...,xn}。

    由于 Px=λxPx=λx, (Px)i=∑j=1naijxj=λxi(Px)i=∑j=1naijxj=λxi

    两边同时取绝对值,有 |λ||xi|=|∑j=1naijxj|⩽∑j=1naij|xj|⩽(∑j=1naij)|xi|=xi|λ||xi|=|∑j=1naijxj|⩽∑j=1naij|xj|⩽(∑j=1naij)|xi|=xi

    因此 λ⩽1λ⩽1。

  2. 很容易发现 11 是一个特征值,我们只需要取 x=(1,1,..1)Tx=(1,1,..1)T,就可以很容易地发现 Px=xPx=x。

    因此我们需要证明的是 11 不是重根。

    采用反证法

    我们已经知道 11 是一个特征值,如果他是重根的话,那么 det(P−λI)det(P−λI) 中至少有两个 (1−λ)(1−λ) 的因子。

    对于 det(P−λI)det(P−λI) , 我们把每一列的数字累加到第 nn 列,可使第 nn 列全为 (1−λ)(1−λ),这里我们可以提出第一个因子。这时行列式最右一列均为 11, 一个很自然的想法是,前 n−1n−1 行减去第 nn 行:这样第 nn 列就只有一个非零元了。按第 nn 列展开,我们得到 det(P−λI)=(1−λ)det(Q−λI′)det(P−λI)=(1−λ)det(Q−λI′)。其中QQ 为 n−1n−1 阶方阵,且Qij=aij−anjQij=aij−anj;I′I′ 是 n−1n−1 阶单位矩阵。这是很容易验证的。

    这时候 QQ 必有特征值 11.

    接下来我们考虑 QQ 关于 11 的行特征向量(注意是行特征向量,即 QTQT 的列特征向量)β=(β1,β2,..βn−1)β=(β1,β2,..βn−1)。

    我们有

    (βQ)j=∑i=1n−1βi(aij−anj)=βj(βQ)j=∑i=1n−1βi(aij−anj)=βj

    接下来讨论 ββ 中元素的正负性。设有 pp 个正元素(分别为 βs1,βs2,..βspβs1,βs2,..βsp); qq 个非正元素(分别为βt1,βt2,..βtqβt1,βt2,..βtq)。另外我们不妨设ρ=|β|⩾0ρ=|β|⩾0;因为如果小于 00, 我们可以取 −β−β 作为我们讨论的对象。

    这样,对 ββ 中的正元素,我们可以将上面的式子改写为:

    ∑i=1n−1βiaitk−ρantk=βtk  (k=1,2,...p)∑i=1n−1βiaitk−ρantk=βtk  (k=1,2,...p)

    累加,得到:

    ∑i=1n−1βi(∑k=1paitk)−ρ(∑k=1pantk)=∑k=1pβtk∑i=1n−1βi(∑k=1paitk)−ρ(∑k=1pantk)=∑k=1pβtk

    为了简化式子,不妨令 di=∑k=1paitk<∑i=1nai=1di=∑k=1paitk<∑i=1nai=1 :

    ∑i=1n−1βidi−ρdn=∑k=1pβtk∑i=1n−1βidi−ρdn=∑k=1pβtk

    ∑k=1pβskdsk+∑k=1qβtkdtk−ρdn=∑k=1pβtk∑k=1pβskdsk+∑k=1qβtkdtk−ρdn=∑k=1pβtk

    ∑k=1qβtkdtk−ρdn=∑k=1pβtk−∑k=1pβskdsk>0∑k=1qβtkdtk−ρdn=∑k=1pβtk−∑k=1pβskdsk>0

    而等式左边显然是负数,矛盾。这说明 QQ 没有特征值 11, 也就是说 PP 的特征值 11 无重根。

回到我们对极限的讨论。如果这个极限 LL 存在,那么它会满足:

LP=LLP=L

也就是说它的每一行都是 PP 关于特征值 11 的行特征向量; 我们刚刚证明11 这个特征值无重根,那么这个行特征向量是唯一的。

—— 是的, LL 的每一行都相同,均为 PP 关于 11 的行特征向量。

极限何时存在?

【 最近事务繁多,更新无限期推迟】

有任何错误,请在评论区指正或者给我发邮件。(评论使用Disqus系统,可能需要翻墙)

马尔可夫链(Markov chain)相关推荐

  1. 马尔可夫链(Markov chain)的性质

    本文内容主要参考:李航老师的<统计学习方法> 以下介绍离散状态马尔可夫链的性质.可以自然推广到连续状态马尔可夫链. 一.不可约 直观上,一个不可约的马尔可夫链,从任意状态出发,当经过充分长 ...

  2. 马尔可夫链(Markov Chain)是什么?通俗易懂

    马尔可夫链(Markov Chain) 马尔可夫链经常出现在机器学习的概念中,因为生活中很多情况都可以用马尔可夫链建模,我们先给出数学化的定义,然后再举个生活化的例子与数学公式相对应,就可以理解马尔可 ...

  3. 马尔可夫链(Markov Chain),隐马尔可夫模型

    马尔可夫链: 参考链接: https://blog.csdn.net/weixin_42509541/article/details/123332839 我对它的理解就是: 针对的数据是一组离散随机变 ...

  4. R语言使用马尔可夫链Markov Chain, MC来模拟抵押违约

    这篇文章的目的是将我在夜班学习的材料与我的日常工作和R相结合. 如果我们有一些根据固定概率随时间在状态之间切换的对象,我们可以使用马尔可夫链 * 来模拟该对象的长期行为. 一个很好的例子是抵押贷款.在 ...

  5. Probability, Matringale,Markov Chain, MCMC

    一.基本知识 1. 条件概率 条件概率是指在某件事情已经发生的前提下,另一件事情在此基础上发生的概率,举例来说P(A丨B)表示B发生的基础上,A也发生的概率,基本公式为: 2. 条件期望 在上述概率下 ...

  6. martingale、markov chain、Monte Carlo、MCMC

    文章结构如下: 1: MCMC 1.1 MCMC是什么 1.2 为什么需要MCMC 2: 蒙特卡罗 2.1 引入 2.2 均匀分布,Box-Muller 变换 2.3 拒绝接受采样(Acceptanc ...

  7. 马尔可夫链 (Markov Chain)是什么鬼

    作者:红猴子 链接:https://www.zhihu.com/question/26665048/answer/157852228 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  8. 马尔可夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)

    文章目录 1. 蒙特卡罗法 2. 马尔可夫链 3. 马尔可夫链蒙特卡罗法 4. Metropolis-Hastings 算法 5. 吉布斯抽样 蒙特卡罗法(Monte Carlo method),也称 ...

  9. 对马尔可夫链(Markov Chain, MC)的学习

    满足当前时间之后的状态只与当前有关,与过去无关的性质称为马尔可夫性. 随机过程满足马尔可夫性则称为马尔可夫过程.   当了解完马尔可夫性后,下面来说说马尔可夫链.马尔可夫链(Markov Chain, ...

  10. [work]马尔可夫链 (Markov Chain)是什么鬼

    "随机过程随机过,实变函数学十遍,微机原理闹危机,汇编语言不会编" 1. 唯一让我彻底蒙圈的课程 这些课程真的太难了,大学里无数人为此伤透了脑筋,挂科率杠杠的.我当初也是的,特别是 ...

最新文章

  1. Java中的50个关键字
  2. 返回值类型与函数类型不匹配_C++返回值类型后置(跟踪返回值类型)
  3. redis安装,主从集群
  4. RealARM 210开发板 u-boot传递mac地址到内核的方法
  5. Ubuntu 安装ipython
  6. 【最详细的分析】1061 Dating (20 分)
  7. uva 1347——Tour
  8. django-websocket 安装及配置
  9. Codeforces Round #321 (Div. 2)
  10. python 用 __all__ 暴露接口
  11. USACO 1.5 Number Triangles
  12. 软件测试职业目标具体计划范文,关于测试的工作计划
  13. [SiFi]三体中英名词翻译chapter1-3
  14. python监听多个udp端口_尝试实现非阻塞python-udp多端口获取wierd异常
  15. 一铲子下去,服务器全瘫痪......
  16. php获得视频分辨率,php+ffmpeg 获取视频相关信息(缩略图、视频分辨率)
  17. SSM框架实现数据库存储图片及读取图片
  18. wpe解密系列001
  19. vue的混入mixin拙见
  20. SDK、API、DLL都是什么,了解一下

热门文章

  1. 短信接口调用-手机短信,验证码
  2. 安凯Cloud39EV200/V300平台支持ssv6255的双频usb wifi移植过程
  3. 如何更换光猫HS8145C含破解超管
  4. html帮助文件导入天正,天正建筑基础教程:天正建筑导入导出设置
  5. web前端,面试总结
  6. 子网划分的的原理及应用
  7. python中xlrd模块的使用详解
  8. 2019李永乐660题 数学二-答案
  9. Java使用elasticjob实现定时任务(v2.1.5)
  10. Informatic PowerCenter 学习记录