马尔可夫链(Markov chain)

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

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

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

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

如下图所示:

image_1c52vkbaacsv1euj1eqabv61b2rm.png-67.5kB

什么是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系统,可能需要翻墙)

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值