前言
Metropolis 采样算法解决的问题是:从一个复杂的目标分布获取近似的样本。
马尔科夫链
概念描述
X X 是一个随机变量,其可能的取值来自于集合
, X X 在离散时刻 t的取值为
。若 X X 随时间变化的转移概率仅仅依赖于其当前时刻的取值
,即
P(Xt+1|[X0,X1,⋯,Xt])=P(Xt+1|Xt) P ( X t + 1 | [ X 0 , X 1 , ⋯ , X t ] ) = P ( X t + 1 | X t )
那么随机变量 X X 随时间变化的过程是一个马尔科夫过程, 在[0,t]时间内随时间变化生成的序列 (X0,X1,⋯,Xt) ( X 0 , X 1 , ⋯ , X t ) 就是一个马尔科夫链。
转移概率矩阵
设随机变量 X X 在任意时刻t+1的取值为
的概率为 πt+1i π i t + 1 ,即 πt+1i=P(Xt+1=si) π i t + 1 = P ( X t + 1 = s i ) ,其中t为一个任意时刻。随机变量从状态 sj s j 转移到状态 si s i 的转移概率为 Pji P j i :
Pji=P(Xt+1=si|Xt=sj) P j i = P ( X t + 1 = s i | X t = s j )
t 为任意时刻,那么我们可以得到 πt+1i π i t + 1 的计算公式如下:
πt+1i=∑j=0kP(Xt+1=si|Xt=sj)∗P(Xt=sj) π i t + 1 = ∑ j = 0 k P ( X t + 1 = s i | X t = s j ) ∗ P ( X t = s j )
我们注意到在上式中 P(Xt+1=si|Xt=sj)=Pji P ( X t + 1 = s i | X t = s j ) = P j i , P(Xt=sj)=πtj P ( X t = s j ) =