MCMC
(Markov Chain Monte Carlo)
孙佩源
2015.11.25
Outline
• Introduction
• Monte Carlo
• Markov Chain
• MCMC
• Random Walk
• Metropolis-Hasting Sampling
• Gibbs Sampling
• HMC
• Reference
Introduction
• Bayesian Inference
参数先验分布:
似然函数:
后验分布:
预测分布:
( )P 
( | )P X 
( , ) ( ) ( | )
( | )
( ) ( )
P X P P X
P X
P X P X
  
  
1 1 1 1( | , , ) ( | ) ( | , , )c c c cP X X X p X P X X d     % % %L L
可以看做: 1( ( | ))cE P X 
%
Introduction
• Definition of the problem
状态变量:
分布函数:
目标:
1{ , , }nX X X L
1( , , )nf x xL
1
1 1( ) ( , , ) ( , , )
n
n n
x x
E a a x x f x x  L L L
Introduction
• Difficulty
后验分布函数形式复杂,维度可能高达数百
Introduction
• Possible Approaches
1. 数值方法
困难:复杂度随状态空间的增长迅速增加
2. 拒绝采样(Rejection Sampling)
由于 难以直接采样,选取容易采样的分布 及常数 ,满足
对于所有的 有: ( ) ( )kq Z p Z
( )p Z ( )q Z k
Z
Introduction
• Possible Approaches
2. 拒绝采样(Rejection Sampling)
分两步生成 的采样点:
(1)生成来自 的采样点
(2)从均匀分布 中随机生成
如果 ,则拒绝该采样点,
否则接受
( )p Z
( )q Z
0[0, ( )]kq z 0u
0 0( )u p z
0z
Introduction
• Possible Approaches
2. 拒绝采样(Rejection Sampling)
困难在于难以选择合适的 及常数 ,如果拟合的不合适
则会造成大量的点被拒绝,采样效率低下
( )q Z k
Introduction
• Possible Approaches
3. 重要性采样(Simple Importance Sampling)
选择容易采样且与 接近的的分布
则期望可以进行如下转换:
( )q z
( )
( )
( )
1
[ ] ( ) ( )
( )
( ) ( )
( )
1 ( )
( )
( )
lL
l
l
l
E f f z p z dz
p z
f z q z dz
q z
p z
f z
L q z




;
( )p z
Introduction
• Possible Approaches
3. 重要性采样(Simple Importance Sampling)
困难在于难以选取足够接近的分布,
由于高维分布通常会集中在某一小片区域内,
如果采样点没有落在这些区域,则有效的
采样数将远小于实际的数目
( )p z
( )f z
Monte Carlo
• 一个例子
构造函数 满足:
( )
b
a
I f x dx 
( )g x
( ) 0
( ) 1
g x
g x dx




概率密度函数
( ) ( )
( ) ( ) [ ]
( ) ( )
b b
a a
f x f x
I f x dx g x dx E
g x g x
   
Markov Chain
• 定义
markov chain为随机变量 序列,且满足:
其中 为 的任意子集
取值于共同的集合:状态空间(state space)
(0) (1) (2)
, , ,X X X L
( 1) ( ) ( ) ( 1) ( )
( | ,{ : }) ( | )n n t n n
P x x x t P x x 
 
 {0, , 1}n L
( )t
X
Markov Chain
• 定义
一个markov chain由初始分布和转移概率决定
(1)记 为经过n步转移之后处于状态j的概率
(2)记
则 为经过n步转移后处于状态空间
中各个状态的概率向量
(3)记状态转移矩阵为
( )nP x j
( )
( )n
j nP x j  
( ) ( ) ( ) ( )
1 2( , , , , )n n n n
j   
r
L L
11 12 1
21 22 2
1 2
n
n
m m mn
p p p
p p p
p
p p p
 
 
 
 
 
 
L
L
L L O M
L
Markov Chain
• 则有性质
证明:
( ) ( 1)n n
p  

r r
( 1) ( 1) ( 1) ( 1)
1 2
11 12 1
21 22 2( 1) ( 1) ( 1)
1 2
1 2
( 1) ( 1) ( 1)
1 2
( ) ( ) ( )
1 2
( )
( , , , , )
( , , , , )
( , , , , )
( , , , , )
n n n n
j
n
nn n n
j
m m mn
n n n
i i i i i ij
i i i
n n n
j
n
p p
p p p
p p p
p p p
p p p
   
  
  
  

   
  
  
  

 
 
 
 
 
 



  
r
L L
L
L
L L
L L O M
L
L L
L L
r
Markov Chain
• stationary distribution (invariant distribution)
如果某个分布满足:
则 称为该Markov Chain的stationary distribution或者invariant distribution
p 
r r

r
Markov Chain
• reversible
如果一个Markov Chain为reversible,即:
则该Markov Chain总是存在一个稳定分布
证明:
i ij j jip p 
11 12 1
21 22 2
1 2
1 2
1 2
( , , , , )
( , , , , )
n
n
j
m m mn
i i i i i ij
i i i
p p p
p p p
p
p p p
p p p
   
  
  
 
 
 
 
 
 
   
L
Lr
L L
L L O M
L
L L
Markov Chain
• reversible
如果一个Markov Chain为reversible,即:
则该Markov Chain总是存在一个稳定分布
证明:
所以 为稳定分布
i ij j jip p 
1 2 1 2( , , , , ) ( , , , , )
i ij j ji
i ij j ji j ji j
i i i
i i i i i ij j
i i i
p p
p p p
p p p
p
 
   
      
 
  

   
  
 
  
  
Q
r
L L L L
r r
𝜋
Markov Chain
• ergodic
称一个Markov Chain为ergodic,如果满足对于任意的i:
即该Markov Chain从不同的初始概率开始转移经过相当长的步骤之后
都收敛到稳定分布。
判定一个Markov Chain为ergodic,只需证明
易知一个Markov Chain的稳定分布 ,则可求出其稳定分布
再进行判定即可
lim ( )ij j
n
p n 


( ) 0ijp n 
p 
r r
Markov Chain Monte Carlo (MCMC)
MCMC为一类算法的统称,通过构造稳态分布为特定分布的Markov Chain,
获取特定分布的采样点,进一步使用Monte Carlo方法计算积分
《Equation of State Calculations by Fast Computing Machines》1953
首次提出先产生proposal state,然后以一定概率接受
Random Walk
• 构造Markov Chain
状态空间为:{-5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5}
起始状态为:0
状态转移概率为:
可以证明{-5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5}上的均匀分布为该Markov Chain
的稳定分布
'
' '
0.5
( , ) 0.25 1
0
x x
T x x x x
otherwise
 

  


Random Walk
• 经过n步之后,所处的状态?
计算可得:
即经过n次迭代,所处状态的期望值为:
2
[ ]
2
n
E X 
2n
10次迭代 100次迭代
Metropolis-Hasting Sampling
• 算法:
1. 从proposal distribution生成候选采样点:
2. 计算接受概率:
( | )g j i
自定义proposal distribution
当前状态候选状态
( | )
( | ) min{1, }
( | )
j
i
g i j
j i
g j i




Metropolis-Hasting Sampling
• 证明:
只需证明该Markov Chain为reversible,并且转移概率为:
不失一般性,假设
则可得转移概率
( | )ijP g j i
( | ) ( | )j ig i j g j i 
( | ) ( | )
( | )
( | )min{1, }
( | )
( | )
ij
j
i
P g j i j i
g i j
g j i
g j i
g j i






Metropolis-Hasting Sampling
• 证明:
可得:
由前述Markov Chain性质可知,Metropolis-Hasting Sampling算法构造的
Markov Chain稳定的收敛到预期的分布函数
( | )
( | )min{1, } ( | )
( | )
ji
ji
j i
g j i
P g i j g j i
g i j

 
 Q
i ij j jip p 

Gibbs sampling Metropolis-Hasting Sampling
• 算法:
Gibbs sampling Metropolis-Hasting Sampling
• 证明:(Gibbs sampling算法其实是MH算法的特例)
Gibbs sampling算法里的预期分布即为:
proposal分布为:
则计算MH算法的接受概率为:
1 2( , , , )mp z z zL
* *
( | ) ( | )k k kq z z p z z
* *
*
*
* * * *
  
*
  
( ) ( | )
( | ) min{1, }
( ) ( | )
( | ) ( ) ( | )
min{1, }
( | ) ( ) ( | )
1
k
k
k k k k k
k k k k k
p z q z z
A z z
p z q z z
p z z p z p z z
p z z p z p z z



*
 k kz z
Hybrid Monte Carlo
• Hamiltonian Dynamics
广义位置:
广义动量:
Hamiltonian函数:
正则分布(canonical distribution):
势能:
动能:
1( , , )dq q q L
1( , , )dp p p L
( , ) ( ) ( )H q p U q K p 
势能 动能
1 ( )
( ) exp
E x
p x
z T
 
  
 
( ) log( ( ) ( | ))U q q L q D 
2
1
( )
2
d
i
i i
p
K q
m
 
Hybrid Monte Carlo
• Hamiltonian Dynamics
势能:
动能:
由正则分布知:
2
1 21 log( ( ) ( | ))
( , ) exp exp
d
i
i i
p
mq L q D
P q p
z T T
 
 
 
        
 
 

( ) log( ( ) ( | ))U q q L q D 
2
1
( )
2
d
i
i i
p
K q
m
 
d元高斯分布
Hybrid Monte Carlo
• Hamiltonian Dynamics Equation
i
i
i
i
dq H
dt p
dp H
dt q




 

Hybrid Monte Carlo
• Leapfrog method (模拟Hamiltonian Dynamics Equation进化过程)
Hybrid Monte Carlo
HMC算法
1.使用Gibbs算法采样新的动量变量p
2.从当前状态(q,p)开始,使用Leapfrog模拟生成新的状态(q*,p*)
以如下接受概率判断是否接受新的状态:
* *
min 1,exp( ( , ) ( , ))H q p H q p    
Reference
1. Probabilistic Graphical Models, Lecture Notes 17, Eric Xing.
2. Chapter 11 Sampling Methods, Pattern Recognition and Machine Learning.
Christopher M. Bishop.
3. Introduction to Markov Chain Monte Carlo, Charles J. Geyer.
4. Probabilistic Inference Using Markov Chain Monte Carlo Methods, Radford M.
Neal.
5. Markov Chain Sampling Using Hamiltonian Dynamics, Radford M. Neal.

HMC

  • 1.
    MCMC (Markov Chain MonteCarlo) 孙佩源 2015.11.25
  • 2.
    Outline • Introduction • MonteCarlo • Markov Chain • MCMC • Random Walk • Metropolis-Hasting Sampling • Gibbs Sampling • HMC • Reference
  • 3.
    Introduction • Bayesian Inference 参数先验分布: 似然函数: 后验分布: 预测分布: ()P  ( | )P X  ( , ) ( ) ( | ) ( | ) ( ) ( ) P X P P X P X P X P X       1 1 1 1( | , , ) ( | ) ( | , , )c c c cP X X X p X P X X d     % % %L L 可以看做: 1( ( | ))cE P X  %
  • 4.
    Introduction • Definition ofthe problem 状态变量: 分布函数: 目标: 1{ , , }nX X X L 1( , , )nf x xL 1 1 1( ) ( , , ) ( , , ) n n n x x E a a x x f x x  L L L
  • 5.
  • 6.
    Introduction • Possible Approaches 1.数值方法 困难:复杂度随状态空间的增长迅速增加 2. 拒绝采样(Rejection Sampling) 由于 难以直接采样,选取容易采样的分布 及常数 ,满足 对于所有的 有: ( ) ( )kq Z p Z ( )p Z ( )q Z k Z
  • 7.
    Introduction • Possible Approaches 2.拒绝采样(Rejection Sampling) 分两步生成 的采样点: (1)生成来自 的采样点 (2)从均匀分布 中随机生成 如果 ,则拒绝该采样点, 否则接受 ( )p Z ( )q Z 0[0, ( )]kq z 0u 0 0( )u p z 0z
  • 8.
    Introduction • Possible Approaches 2.拒绝采样(Rejection Sampling) 困难在于难以选择合适的 及常数 ,如果拟合的不合适 则会造成大量的点被拒绝,采样效率低下 ( )q Z k
  • 9.
    Introduction • Possible Approaches 3.重要性采样(Simple Importance Sampling) 选择容易采样且与 接近的的分布 则期望可以进行如下转换: ( )q z ( ) ( ) ( ) 1 [ ] ( ) ( ) ( ) ( ) ( ) ( ) 1 ( ) ( ) ( ) lL l l l E f f z p z dz p z f z q z dz q z p z f z L q z     ; ( )p z
  • 10.
    Introduction • Possible Approaches 3.重要性采样(Simple Importance Sampling) 困难在于难以选取足够接近的分布, 由于高维分布通常会集中在某一小片区域内, 如果采样点没有落在这些区域,则有效的 采样数将远小于实际的数目 ( )p z ( )f z
  • 11.
    Monte Carlo • 一个例子 构造函数满足: ( ) b a I f x dx  ( )g x ( ) 0 ( ) 1 g x g x dx     概率密度函数 ( ) ( ) ( ) ( ) [ ] ( ) ( ) b b a a f x f x I f x dx g x dx E g x g x    
  • 12.
    Markov Chain • 定义 markovchain为随机变量 序列,且满足: 其中 为 的任意子集 取值于共同的集合:状态空间(state space) (0) (1) (2) , , ,X X X L ( 1) ( ) ( ) ( 1) ( ) ( | ,{ : }) ( | )n n t n n P x x x t P x x     {0, , 1}n L ( )t X
  • 13.
    Markov Chain • 定义 一个markovchain由初始分布和转移概率决定 (1)记 为经过n步转移之后处于状态j的概率 (2)记 则 为经过n步转移后处于状态空间 中各个状态的概率向量 (3)记状态转移矩阵为 ( )nP x j ( ) ( )n j nP x j   ( ) ( ) ( ) ( ) 1 2( , , , , )n n n n j    r L L 11 12 1 21 22 2 1 2 n n m m mn p p p p p p p p p p             L L L L O M L
  • 14.
    Markov Chain • 则有性质 证明: () ( 1)n n p    r r ( 1) ( 1) ( 1) ( 1) 1 2 11 12 1 21 22 2( 1) ( 1) ( 1) 1 2 1 2 ( 1) ( 1) ( 1) 1 2 ( ) ( ) ( ) 1 2 ( ) ( , , , , ) ( , , , , ) ( , , , , ) ( , , , , ) n n n n j n nn n n j m m mn n n n i i i i i ij i i i n n n j n p p p p p p p p p p p p p p                                               r L L L L L L L L O M L L L L L r
  • 15.
    Markov Chain • stationarydistribution (invariant distribution) 如果某个分布满足: 则 称为该Markov Chain的stationary distribution或者invariant distribution p  r r  r
  • 16.
    Markov Chain • reversible 如果一个MarkovChain为reversible,即: 则该Markov Chain总是存在一个稳定分布 证明: i ij j jip p  11 12 1 21 22 2 1 2 1 2 1 2 ( , , , , ) ( , , , , ) n n j m m mn i i i i i ij i i i p p p p p p p p p p p p p                           L Lr L L L L O M L L L
  • 17.
    Markov Chain • reversible 如果一个MarkovChain为reversible,即: 则该Markov Chain总是存在一个稳定分布 证明: 所以 为稳定分布 i ij j jip p  1 2 1 2( , , , , ) ( , , , , ) i ij j ji i ij j ji j ji j i i i i i i i i ij j i i i p p p p p p p p p                                   Q r L L L L r r 𝜋
  • 18.
    Markov Chain • ergodic 称一个MarkovChain为ergodic,如果满足对于任意的i: 即该Markov Chain从不同的初始概率开始转移经过相当长的步骤之后 都收敛到稳定分布。 判定一个Markov Chain为ergodic,只需证明 易知一个Markov Chain的稳定分布 ,则可求出其稳定分布 再进行判定即可 lim ( )ij j n p n    ( ) 0ijp n  p  r r
  • 19.
    Markov Chain MonteCarlo (MCMC) MCMC为一类算法的统称,通过构造稳态分布为特定分布的Markov Chain, 获取特定分布的采样点,进一步使用Monte Carlo方法计算积分 《Equation of State Calculations by Fast Computing Machines》1953 首次提出先产生proposal state,然后以一定概率接受
  • 20.
    Random Walk • 构造MarkovChain 状态空间为:{-5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5} 起始状态为:0 状态转移概率为: 可以证明{-5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5}上的均匀分布为该Markov Chain 的稳定分布 ' ' ' 0.5 ( , ) 0.25 1 0 x x T x x x x otherwise        
  • 21.
  • 22.
    Metropolis-Hasting Sampling • 算法: 1.从proposal distribution生成候选采样点: 2. 计算接受概率: ( | )g j i 自定义proposal distribution 当前状态候选状态 ( | ) ( | ) min{1, } ( | ) j i g i j j i g j i    
  • 23.
    Metropolis-Hasting Sampling • 证明: 只需证明该MarkovChain为reversible,并且转移概率为: 不失一般性,假设 则可得转移概率 ( | )ijP g j i ( | ) ( | )j ig i j g j i  ( | ) ( | ) ( | ) ( | )min{1, } ( | ) ( | ) ij j i P g j i j i g i j g j i g j i g j i      
  • 24.
    Metropolis-Hasting Sampling • 证明: 可得: 由前述MarkovChain性质可知,Metropolis-Hasting Sampling算法构造的 Markov Chain稳定的收敛到预期的分布函数 ( | ) ( | )min{1, } ( | ) ( | ) ji ji j i g j i P g i j g j i g i j     Q i ij j jip p  
  • 25.
    Gibbs sampling Metropolis-HastingSampling • 算法:
  • 26.
    Gibbs sampling Metropolis-HastingSampling • 证明:(Gibbs sampling算法其实是MH算法的特例) Gibbs sampling算法里的预期分布即为: proposal分布为: 则计算MH算法的接受概率为: 1 2( , , , )mp z z zL * * ( | ) ( | )k k kq z z p z z * * * * * * * * * ( ) ( | ) ( | ) min{1, } ( ) ( | ) ( | ) ( ) ( | ) min{1, } ( | ) ( ) ( | ) 1 k k k k k k k k k k k k p z q z z A z z p z q z z p z z p z p z z p z z p z p z z    * k kz z
  • 27.
    Hybrid Monte Carlo •Hamiltonian Dynamics 广义位置: 广义动量: Hamiltonian函数: 正则分布(canonical distribution): 势能: 动能: 1( , , )dq q q L 1( , , )dp p p L ( , ) ( ) ( )H q p U q K p  势能 动能 1 ( ) ( ) exp E x p x z T        ( ) log( ( ) ( | ))U q q L q D  2 1 ( ) 2 d i i i p K q m  
  • 28.
    Hybrid Monte Carlo •Hamiltonian Dynamics 势能: 动能: 由正则分布知: 2 1 21 log( ( ) ( | )) ( , ) exp exp d i i i p mq L q D P q p z T T                     ( ) log( ( ) ( | ))U q q L q D  2 1 ( ) 2 d i i i p K q m   d元高斯分布
  • 29.
    Hybrid Monte Carlo •Hamiltonian Dynamics Equation i i i i dq H dt p dp H dt q       
  • 30.
    Hybrid Monte Carlo •Leapfrog method (模拟Hamiltonian Dynamics Equation进化过程)
  • 31.
  • 32.
    Reference 1. Probabilistic GraphicalModels, Lecture Notes 17, Eric Xing. 2. Chapter 11 Sampling Methods, Pattern Recognition and Machine Learning. Christopher M. Bishop. 3. Introduction to Markov Chain Monte Carlo, Charles J. Geyer. 4. Probabilistic Inference Using Markov Chain Monte Carlo Methods, Radford M. Neal. 5. Markov Chain Sampling Using Hamiltonian Dynamics, Radford M. Neal.