随机模拟MCMC
在计算机技术已经如此强大的今天,生成大量随机数是很容易的事情,这样一来,这种模拟能力就能被用于解决一些数学上难以解决的问题(例如求蝙蝠侠图案的面积),这种随机模拟的方法又叫做蒙特卡洛方法。
其中很重要的一个应用就是给定一个概率分布然后由计算机生成其样本,从算法上来说,生成均匀分布的样本是比较容易的,通过线性同余发生器就能生成这样的样本,如果要生成其他一些分布的样本,一般来说可以对均匀分布的样本进行变换得到,例如正态分布可以通过Box-Muller变换得到。
但是当要求的概率分布函数形式复杂或高维的时候,如何将均匀分布的样本变换过去就变成很难的问题,这时候就要更一般的但也更复杂的模拟方法来生成样本。马氏链蒙特卡洛方法(MCMC)就是其中的一种。
马尔科夫链
马尔科夫链简单来说就是状态空间中经过从一个状态到另一个状态的转换的随机过程。这个过程具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,与之前的状态没有关系。
当前状态如何跳转到下一状态是由状态转移概率决定的,例如下图表明了各个子状态之间跳转的概率。对于图中的状态1,其下一状态还是1的概率为0.65,下一状态是2的概率是0.28,是3的概率为0.07
上图表示成转移概率矩阵为:
P=⎡⎣⎢0.650.150.120.280.670.360.070.180.52⎤⎦⎥ P = [ 0.65 0.28 0.07 0.15 0.67 0.18 0.12 0.36 0.52 ]
以这个马氏链为例,假如初始状态的概率分布是 π0=[0.21,0.68,0.11] π 0 = [ 0.21 , 0.68 , 0.11 ] ,那么经过多次跳转之后将会发现最后概率分布会稳定下来,最终的概率分布为 π=[0.286,0.489,0.225] π = [ 0.286 , 0.489 , 0.225 ] ,而且,就算改变了初始状态的概率分布,其最终也会稳定成一样的概率分布,虽然这个收敛的过程和速度不一样。这就说明这个收敛性质和初始状态没关系,它仅仅由状态转移矩阵P决定。 其实只要计算一下 Pn P n 就能很容易知道为什么这个神奇了,计算之后发现当n大于等于20的时候矩阵就不变了
P20=P21=⋯=P100=⋯=⎡⎣⎢0.2860.2860.2860.4890.4890.4890.2250.2250.225⎤⎦⎥ P 20 = P 21 = ⋯ = P 100 = ⋯ = [ 0.286 0.489 0.225 0.286 0.489 0.225 0.286 0.489 0.225 ]
很容易知道,对于任一概率分布,例如[a,b,c],乘以上述的稳定的矩阵之后得到的都是[0.286,0.489,0.225],因此收敛后的概率分布必定是 π=[0.286,0.489,0.225] π = [ 0.286 , 0.489 , 0.225 ] 。 收敛性质并不是唯独这个马氏链才有,但也不是所有马氏链都有收敛的性质。关于收敛性质,有一个已经证明的定理: 定理 :如果一个非周期马氏链具有转移概率矩阵P,且它的任何两个状态是连通的,那么 limn→∞Pij lim n → ∞ P i j 存在且与i无关,记 limn→∞Pnij=π(j) lim n → ∞ P i j n = π ( j ) , 也就是
limn→∞Pn=⎡⎣⎢⎢⎢⎢⎢⎢π(1)π(1)⋯π(1)⋯π(2)π(2)⋯π(2)⋯⋯⋯⋯⋯⋯π(j)π(j)⋯π(j)⋯⋯⋯⋯⋯⋯⎤⎦⎥⎥⎥⎥⎥⎥ lim n → ∞ P n = [ π ( 1 ) π ( 2 ) ⋯ π ( j ) ⋯ π ( 1 ) π ( 2 ) ⋯ π ( j ) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ π ( 1 ) π ( 2 ) ⋯ π ( j ) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ]
同时,很容易知道有这样的性质 — π(j)=∑∞i=0π(i)Pij π ( j ) = ∑ i = 0 ∞ π ( i ) P i j 而且 π π 是方程 πP=π π P = π 的唯一非负解(其中 π π 是概率分布,即 ∑∞i=0πi=1 ∑ i = 0 ∞ π i = 1 )。 上述定理中提及的两个状态i,j是连通并非指i 可以直接一步转移到j( Pij>0 P i j > 0 ),而是指 i 可以通过有限的n步转移到达j( Pnij>0 P i j n > 0 )。马氏链的任何两个状态是连通的含义是指存在一个n, 使得矩阵 Pn P n 中的任何一个元素的数值都大于零
MCMC
根据上面马氏链的定理,可以看到马氏链能收敛到一个稳定的分布 π π ,既然它能收敛到稳定分布 π π ,那么在这个已经收敛的马氏链上产生的状态就是符合这个稳定分布 π π 的!!!因此这个性质完全可以利用起来用来产生符合某个分布 π π 的样本!
那如何控制马氏链使得它最终稳定的分布就是我们想要的分布呢,其实上一节中已经给出答案了,马氏链收敛后的分布是由其转移矩阵决定的,与其他的因素无关,因此我们想利用马氏链的性质来产生符合某分布的样本的关键点是如何构造这样的转移矩阵,使得最终的平稳分布就是我们想要的分布。
要构造这样的矩阵需要用到下述定理来做桥梁:
细致平稳条件定理:如果非周期的马氏链的转移矩阵P和分布 π π
LDA主题模型之随机模拟算法
最新推荐文章于 2022-05-02 21:32:05 发布