电信保温杯笔记——《统计学习方法(第二版)——李航》第19章 马尔可夫链蒙特卡罗法
论文
Metropolis-Hastings算法:《Equation of state calculationsby fast computing machines》
吉布斯抽样算法:《Stochastic relaxation, Gibbs distribution and the Bayesian restoration of images》
介绍
电信保温杯笔记——《统计学习方法(第二版)——李航》
本文是对原书的精读,会有大量原书的截图,同时对书上不详尽的地方进行细致解读与改写。
在介绍前,我们需要先引入问题的背景:
逆变换采样
为了得到满足概率密度函数(PDF:probability density function )分布的随机采样值,人们想了一种方法,这种方法就是逆变换采样(inverse transform sampling),先求出该PDF分布的累积分布函数(CDF:cumulative distribution function ),CDF取值是[0,1]且单调递增,如下图。
我们知道均匀采样是很容易实现的,在[0,1]随机取一个值,就能在CDF曲线上找到对应的x,这个过程就实现了满足PDF的随机采样,因为PDF较大的x轴区间,它对应的CDF曲线上的值域[a,b]就越大,那么在[0,1]上均匀采样时,取值就很容易落入[a,b]中,相应地也很容易获取x轴该区间上的值,于是就实现了满足PDF分布的随机采样。
上述过程的数学过程就是,知道PDF,求CDF函数F(x),然后求F(x)的反函数 u = F − 1 ( x ) u=F^{-1}(x) u=F−1(x),当在[0,1]上随机采样 u 0 u_0 u0,就能通过反函数 u = F − 1 ( x ) u=F^{-1}(x) u=F−1(x)求得 x 0 x_0 x0。
实际上,很多PDF并不是那么容易求出它的CDF函数的,而CDF的反函数更是不好求。
于是就有人提出了下面蒙特卡罗法中的接受拒绝采样法。下面蒙特卡罗法只有接受拒绝采样法比较符合介绍的主线,但碍于书上对整个蒙特卡罗法做了描述,所以保留了。看完接受拒绝采样法可以直接看马尔科夫链。
蒙特卡罗法
蒙特卡罗法可以粗略地分成两类:
- 所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。所说的随机抽样,其实是指从一个概率分布中生成观察值(observations)的方法。而这个分布通常是由其概率密度函数(PDF)来表示的。而且, 即使在已知PDF的情况下,让计算机自动生成观测值也不是一件容易的事情。从本质上来说,计算机只能实现对均匀分布(Uniform distribution)的采样。 而蒙特卡罗法能生成具有某种概率密度函数(PDF)的分布的随机采样。
- 所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或者随机变量的期望值,它们均为随机分布的特征数。通过随机抽样的方法,以随机事件出现的频率估计其概率,或者以抽样的数字特征估算随机变量的数字特征,并将其作为问题的解。
但归根到底,还是用于得到满足PDF分布的随机采样值。
随机抽样
蒙特卡罗法实现的随机抽样是,假设概率分布的定义已知,通过抽样获得概率分布的随机样本。
接受拒绝采样法
接受的点会作为随机采样点。
可以参考【数之道 22】巧妙使用"接受-拒绝"方法,玩转复杂分布抽样
步骤
特点
这是由于上述缺点,于是就有人提出了马尔科夫链蒙特卡罗法来解决抽样效率低的问题。在介绍马尔可夫链蒙特卡罗法前,需要先介绍马尔科夫链。看完这里可以直接看马尔科夫链了。
求解某种随机分布的特征数
蒙特卡罗法求解某种随机分布的特征数就是,通过随机抽样,近似计算随机分布的某个特征数,如期望,积分。
数学期望估计
积分计算
例题1
例题2
马尔可夫链
可以参考电信保温杯笔记——《统计学习方法(第二版)——李航》第10章 隐马尔可夫模型
这些定义与性质的介绍,最后是为了介绍可逆马尔科夫链中的细致平稳方程。马尔科夫链蒙特卡罗法是基于它的。
定义
离散状态马尔可夫链
转移概率矩阵和状态分布
例题
平稳分布
马尔可夫链可能存在唯一平稳分布,无穷多个平稳分布,或不存在平稳分布。当离散状态马尔可夫链有无穷个状态时,有可能没有平稳分布。
例题1
例题2
连续状态马尔可夫链
马尔可夫链的性质
以下介绍离散状态马尔可夫链的性质。可以自然推广到连续状态马尔可夫链。
不可约性
例题
非周期性
例题
常返性
这里感觉书上写的是错的,应该参考《随机过程》中的常返性定义。
有限步数,回到在自身状态的概率为1,就是说总会回来的。常返性形容的对象是自身回到自身,而不可约性形容的对象是一个状态到另一个状态。
例题
遍历性
可逆马尔可夫链
例题
利用细致平稳方程,我们就能构造一条具有平稳分布 π \pi π的马尔科夫链。如果该平稳分布 π \pi π就是我们已知的PDF函数 p ( x ) p(x) p(x),那么马尔科夫链生成的一系列取值就会符合PDF,也就得到满足PDF的随机采样,这就是下面要介绍的马尔可夫链蒙特卡罗法。
马尔可夫链蒙特卡罗法
基本想法
特点
步骤
马尔科夫链蒙特卡罗法在统计学习上的应用
Metropolis-Hastings算法
本节叙述Metropolis-Hastings 算法,是马尔可夫链蒙特卡罗法的代表算法。
基本原理
马尔科夫链
如果要构造一条平稳分布是p(x)的马尔科夫链,那么可以定义一个转移核或转移矩阵,使得细致平稳方程成立,此时得到的可逆马尔科夫链的平稳分布就是p(x)。下面过程就是介绍如何构造转移核。看完下面的定义会在详细解释一下建议分布和接受分布。
如果要马尔科夫链的平稳分布就是 p ( x ) p(x) p(x),那么就需要转移核 p ( x , x ′ ) p(x,x') p(x,x′)满足公式(19.41),也就是满足 p ( x ) p ( x , x ′ ) = p ( x ′ ) p ( x ′ , x ) p(x)p(x,x')=p(x')p(x',x) p(x)p(x,x′)=p(x′)p(x′,x)。公式(19.41)说的是先出现 x x x后出现 x ′ x' x′的概率等于先出现 x ′ x' x′后出现 x x x的概率,如果单纯只有建议分布而没有接受分布来辅助构成细致平稳方程或者说是公式(19.41),此时构造出来的先出现 x x x后出现 x ′ x' x′的概率为 p ( x ) p ( x , x ′ ) = p ( x ) q ( x , x ′ ) p(x)p(x,x')=p(x)q(x,x') p(x)p(x,x′)=p(x)q(x,x′),并不等于构造出来的先出现 x ′ x' x′后出现 x x x的概率 p ( x ′ ) p ( x ′ , x ) = p ( x ′ ) q ( x ′ , x ) p(x')p(x',x)=p(x')q(x',x) p(x′)p(x′,x)=p(x′)q(x′,x)。有了接受分布来辅助构成细致平稳方程以后,当 p ( x ) q ( x , x ′ ) > p ( x ′ ) q ( x ′ , x ) p(x)q(x,x')>p(x')q(x',x) p(x)q(x,x′)>p(x′)q(x′,x)时,接受分布的作用就是用来降低 p ( x ) q ( x , x ′ ) p(x)q(x,x') p(x)q(x,x′)的值使 p ( x ) p ( x , x ′ ) = p ( x ′ ) p ( x ′ , x ) p(x)p(x,x')=p(x')p(x',x) p(x)p(x,x′)=p(x′)p(x′,x);当 p ( x ) q ( x , x ′ ) < p ( x ′ ) q ( x ′ , x ) p(x)q(x,x')<p(x')q(x',x) p(x)q(x,x′)<p(x′)q(x′,x)时,接受分布的作用就是用来降低 p ( x ′ ) q ( x ′ , x ) p(x')q(x',x) p(x′)q(x′,x)的值使 p ( x ) p ( x , x ′ ) = p ( x ′ ) p ( x ′ , x ) p(x)p(x,x')=p(x')p(x',x) p(x)p(x,x′)=p(x′)p(x′,x)。
建议分布
满条件分布
p
(
x
1
,
.
.
.
,
x
j
∣
x
j
+
1
,
.
.
.
,
x
k
)
p(x_1,...,x_j|x_{j+1},...,x_k)
p(x1,...,xj∣xj+1,...,xk)是满条件分布,
p
(
x
1
,
.
.
.
,
x
j
∣
x
j
+
1
,
.
.
.
,
x
k
−
1
)
p(x_1,...,x_j|x_{j+1},...,x_{k-1})
p(x1,...,xj∣xj+1,...,xk−1)不是满条件分布。
p
(
x
I
∣
x
−
I
)
=
p
(
x
I
,
x
−
I
)
p
(
x
−
I
)
=
p
(
x
)
∫
p
(
x
I
,
x
−
I
)
d
x
I
=
p
(
x
)
∫
p
(
x
)
d
x
I
∝
P
(
x
)
(
19.45
)
p(x_I|x_{-I}) = \frac{ p(x_I, x_{-I}) }{ p(x_{-I}) } = \frac{ p(x) }{ \int p(x_I, x_{-I})\, dx_I } = \frac{ p(x) }{ \int p(x)\, dx_I } \propto P(x) \quad (19.45)
p(xI∣x−I)=p(x−I)p(xI,x−I)=∫p(xI,x−I)dxIp(x)=∫p(x)dxIp(x)∝P(x)(19.45)
例题
步骤
单分量Metropolis-Hastings 算法
n轮共迭代n个状态,每个状态j轮迭代共迭代k个分量。
吉布斯抽样
特殊在于它的建议分布为:
q
(
x
,
x
′
)
=
p
(
x
j
′
∣
x
−
j
)
q(x,x') = p(x'_j|x_{-j})
q(x,x′)=p(xj′∣x−j)
基本原理
特点
步骤
例题
抽样计算技巧
p
(
α
i
∣
α
−
i
,
θ
,
z
,
y
)
=
p
(
α
i
∣
α
−
i
,
θ
)
=
p
(
α
i
,
α
−
i
,
θ
)
p
(
α
−
i
,
θ
)
=
p
(
α
,
θ
)
p
(
α
−
i
,
θ
)
=
p
(
θ
∣
α
)
p
(
α
)
p
(
α
−
i
,
θ
)
∝
p
(
θ
∣
α
)
p
(
α
)
(
19.53
)
\begin{aligned} p(\alpha_i | \alpha_{-i}, \theta , z, y) &= p(\alpha_i | \alpha_{-i}, \theta ) = \frac{ p( \alpha_i,\alpha_{-i}, \theta ) } { p(\alpha_{-i}, \theta ) } \\ &= \frac{ p( \alpha, \theta ) } { p(\alpha_{-i}, \theta ) } = \frac{ p( \theta | \alpha ) p(\alpha) } { p(\alpha_{-i}, \theta ) } \propto p( \theta | \alpha ) p(\alpha) \quad(19.53) \end{aligned}
p(αi∣α−i,θ,z,y)=p(αi∣α−i,θ)=p(α−i,θ)p(αi,α−i,θ)=p(α−i,θ)p(α,θ)=p(α−i,θ)p(θ∣α)p(α)∝p(θ∣α)p(α)(19.53)
本章概要
相关视频
【数之道 22】巧妙使用"接受-拒绝"方法,玩转复杂分布抽样
蒙特卡洛(Monte Carlo, MCMC)方法的原理和应用
相关的笔记
hktxt /Learn-Statistical-Learning-Method