Metropolis 采样算法
- 前言
- 马尔科夫链
- 概念描述
- 转移概率矩阵
- 平稳分布
- 为何要用马尔科夫链
- Metropolis 采样算法简介
- Metropolis 采样算法思路
- Metropolis 采样算法步骤
- Metropolis 采样算法实例
- 后记
- 参考文献
前言
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 ) =