机器学习课程学习周报十六
文章目录
- 机器学习课程学习周报十六
- 摘要
- Abstract
- 一、机器学习部分
- 1. 再探马尔可夫链
- 1.1 离散状态马尔可夫链
- 1.1.1 转移概率矩阵和状态分布
- 1.1.2 平稳分布
- 1.2 连续状态马尔可夫链
- 1.3 马尔可夫链的性质
- 2. 马尔可夫蒙特卡罗法
- 2.1 基本想法
- 2.2 基本步骤
- 2.3 马尔可夫链蒙特卡罗法与统计学习
- 总结
摘要
本次周报介绍了马尔可夫链的基本概念及其在机器学习中的应用。详细探讨了离散和连续状态的马尔可夫链,平稳分布及其性质。还介绍了马尔可夫蒙特卡罗法及其在统计学习中的作用,特别是在贝叶斯学习中的应用。
Abstract
This weekly report presents the fundamental concepts of Markov chains and their applications in machine learning. It explores both discrete and continuous state Markov chains, stationary distributions, and their properties. The Markov Chain Monte Carlo (MCMC) method and its role in statistical learning, especially in Bayesian learning, are also introduced.
一、机器学习部分
1. 再探马尔可夫链
1.1 离散状态马尔可夫链
1.1.1 转移概率矩阵和状态分布
有限离散状态的马尔可夫链可以由有向图表示。结点表示状态,边表示状态之间的转移,边上的数值表示转移概率。从一个初始状态出发,根据有向边上定义的概率在状态之间随机跳转(或随机转移),就可以产生状态的序列。马尔可夫链实际上是刻画随时间在状态之间转移的模型,假设未来的转移状态只依赖于现在的状态,而与过去的状态无关。
下面通过一个简单的例子给出马尔可夫链的直观解释。假设观察某地的天气,按日期的天气依次是“晴,雨,晴,晴,晴,雨,晴…”,具有一定的规律,马尔可夫链可以刻画这个过程。假设天气的变化具有马尔可夫性,即明天的天气只依赖于今天的天气,而与昨天及以前的天气无关。这个假设经验上是合理的,至少是现实情况的近似。具体地,比如,如果今天是晴天,那么明天是晴天的概率是0.9,是雨天的概率是0.1;如果今天是雨天,那么明天是晴天的概率是0.5,是雨天的概率也是0.5(如下图)。
上图表示这个天气的马尔可夫链,从一个初始状态出发,随时间在状态之间随机转移,就可以产生天气的序列,就可以产生天气的序列,可以对天气进行预测。
下面看一个马尔可夫链应用的例子。自然语言处理、语音处理中经常用到语言模型,这是建立在词表上的n阶马尔可夫链(与前n个状态都有关)。比如在英语语音识别中,语音模型产出两个候选:“How to recognize speech”与“how to wreck a nice beach”,这两句的英文发音相近,要判断哪个可能性更大,显然从语义的角度前者的可能性更大,后者的语义甚至都不通顺,语言模型可以帮助做出这个判断。
将一个语句看作是一个单词的序列 w 1 w 2 ⋯ w s {w_1}{w_2} \cdots {w_s} w1w2⋯ws,目标是计算其概率。同一个语句很少在语料中重复多次出现,所以直接从语料中估计每个语句的概率是困难的。语言模型用局部的单词序列的概率,组合计算出全局的单词序列的概率,可以很好地解决这个问题。
假设每个单词只依赖于其前面出现的单词,也就是说单词序列具有马尔可夫性( X t {X_t} Xt只依赖于 X t − 1 {X_{t - 1}} Xt−1时,才说具有马尔可夫性),那么可以定义一阶马尔可夫链,即语言模型,如下计算语句的概率:
P ( w 1 w 2 ⋯ w s ) = P ( w 1 ) P ( w 2 ∣ w 1 ) P ( w 3 ∣ w 1 w 2 ) ⋯ P ( w i ∣ w 1 w 2 ⋯ w i − 1 ) ⋯ P ( w s ∣ w 1 w 2 ⋯ w s − 1 ) = P ( w 1 ) P ( w 2 ∣ w 1 ) P ( w 3 ∣ w 2 ) ⋯ P ( w i ∣ w i − 1 ) ⋯ P ( w s ∣ w s − 1 ) \begin{array}{l}P({w_1}{w_2} \cdots {w_s})\\ = P({w_1})P({w_2}|{w_1})P({w_3}|{w_1}{w_2}) \cdots P({w_i}|{w_1}{w_2} \cdots {w_{i - 1}}) \cdots P({w_s}|{w_1}{w_2} \cdots {w_{s - 1}})\\ = P({w_1})P({w_2}|{w_1})P({w_3}|{w_2}) \cdots P({w_i}|{w_{i - 1}}) \cdots P({w_s}|{w_{s - 1}})\end{array} P(w1w2⋯ws)=P(w1)P(w2∣w1)P(w3∣w1w2)⋯P(wi∣w1w2⋯wi−1)⋯P(ws∣w1w2⋯ws−1)=P(w1)P(w2∣w1)P(w3∣w2)⋯P(wi∣wi−1)⋯P(ws∣ws−1)
这里的第三个等式基于马尔可夫链假设。这个马尔可夫链中,状态空间为词表,一个位置上单词的产生只依赖于前一个位置的单词,而不依赖于更前面的单词。以上是一阶马尔可夫链,一般可以扩展到n阶马尔可夫链。
语言模型的学习等价于确定马尔可夫链中的转移概率值,如果有充分的语料,转移概率可以直接从语料中估计。直观上,“wreck a nice”出现后,下面出现“beach”的概率极低,所以第二个语句的概率应该更小,从语言模型的角度看第一个语句的可能性更大。
1.1.2 平稳分布
设有马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},其状态空间为 S S S,转移概率矩阵为 P = ( p i j ) P = ({p_{ij}}) P=(pij),如果存在状态空间 S S S上的一个分布
π = [ π 1 π 2 ⋯ ] \pi = \left[ \begin{array}{l}{\pi _1}\\{\pi _2}\\ \cdots \end{array} \right] π= π1π2⋯
使得
π = P π \pi = P\pi π=Pπ
则称 π \pi π为马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯}的平稳分布。直观上,如果马尔可夫链的平稳分布存在,那么以该平稳分布作为初始分布,面向未来进行随机状态转移,之后任何一个时刻的状态分布都是该平稳分布。马尔可夫链可能存在唯一平稳分布,无穷多个平稳分布,或不存在平稳分布。
1.2 连续状态马尔可夫链
1.3 马尔可夫链的性质
以下介绍离散状态马尔可夫链的性质,可以自然推广到连续状态马尔可夫链。
- 不可约
设有马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},状态空间为 S S S,对于任意状态 i , j ∈ S i,j \in S i,j∈S,如果存在一个时刻 t ( t > 0 ) t\left( {t > 0} \right) t(t>0)满足:
P ( X t = i ∣ X 0 = j ) > 0 P({X_t} = i|{X_0} = j) > 0 P(Xt=i∣X0=j)>0
也就是说,时刻0从状态
j
j
j出发,时刻
t
t
t到达状态
i
i
i的概率大于0,则称此马尔可夫链
X
X
X是不可约的(irreducible),否则称马尔可夫链是可约的(reducible)。直观上,一个不可约的马尔可夫链,从任意状态出发,当经过充分长时间后,可以到达任意状态。
- 非周期
设有马尔可夫链
X
=
{
X
0
,
X
1
,
⋯
,
X
t
,
⋯
}
X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\}
X={X0,X1,⋯,Xt,⋯},状态空间为
S
S
S,对于任意状态
i
∈
S
i \in S
i∈S,如果0时刻从状态
i
i
i出发,
t
t
t时刻返回状态的所有时间长
{
t
:
P
(
X
t
=
i
∣
X
0
=
i
)
>
0
}
\{ t:P({X_t} = i|{X_0} = i) > 0\}
{t:P(Xt=i∣X0=i)>0}的最大公约数是1,则称此马尔可夫链
X
X
X是非周期的(aperiodic),否则称马尔可夫链是周期的(periodic)。直观上,一个非周期性的马尔可夫链,不存在一个状态,从这一个状态出发,再返回到这个状态时所经历的时间长呈一定的周期性。
- 正常返
设有马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},状态空间为 S S S,对于任意状态 i , j ∈ S i,j \in S i,j∈S,定义概率 p i j t p_{ij}^t pijt为时刻0从状态 j j j出发,时刻 t t t首次转移到状态 i i i的概率,即 p i j t = P ( X t = i , X s ≠ i , s = 1 , 2 , ⋯ , t − 1 ∣ X 0 = j ) , t = 1 , 2 , ⋯ p_{ij}^t = P({X_t} = i,{X_s} \ne i,s = 1,2, \cdots ,t - 1|{X_0} = j),t = 1,2, \cdots pijt=P(Xt=i,Xs=i,s=1,2,⋯,t−1∣X0=j),t=1,2,⋯。若对所有状态 i , j i,j i,j都满足 lim t → ∞ p i j t > 0 \mathop{\lim }\limits_{t \to \infty } p_{ij}^t > 0 t→∞limpijt>0,则称马尔可夫链 X X X是正常返的(positive recurrent)。直观上,一个正常返的马尔可夫链,其中任意一个状态,从其他任意一个状态出发,当时间趋于无穷时,首次转移到这个状态的概率不为0。下图中无限状态的马尔可夫链,当 p > q p > q p>q时是正常返的,当 p ≤ q p \le q p≤q不是正常返的。
- 遍历定理
设有马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},状态空间为 S S S,若马尔可夫链 X X X是不可约、非周期且正常返的,则该马尔可夫链有唯一平稳分布 π = ( π 1 , π 2 , ⋯ ) T \pi = {\left( {{\pi _1},{\pi _2}, \cdots } \right)^{\rm T}} π=(π1,π2,⋯)T,并且转移概率的极限分布是马尔可夫链的平稳分布
lim t → ∞ P ( X t = i ∣ X 0 = j ) = π i , i = 1 , 2 , ⋯ ; j = 1 , 2 , ⋯ \mathop{\lim }\limits_{t \to \infty } P({X_t} = i|{X_0} = j) = {\pi _i},i = 1,2, \cdots ;j = 1,2, \cdots t→∞limP(Xt=i∣X0=j)=πi,i=1,2,⋯;j=1,2,⋯
若 f ( X ) f(X) f(X)是定义在状态空间上的函数, E π [ ∣ f ( X ) ∣ ] < ∞ {E_\pi }\left[ {\left| {f(X)} \right|} \right] < \infty Eπ[∣f(X)∣]<∞,则
P { f ^ t → E π [ f ( X ) ] } = 1 P\{ {{\hat f}_t} \to {E_\pi }\left[ {f(X)} \right]\} = 1 P{f^t→Eπ[f(X)]}=1
这里
f ^ t = 1 t ∑ s = 1 t f ( x s ) {{\hat f}_t} = \frac{1}{t}\sum\limits_{s = 1}^t {f({x_s})} f^t=t1s=1∑tf(xs)
E π [ f ( X ) ] = ∑ i f ( i ) π i {E_\pi }\left[ {f(X)} \right] = \sum\limits_i {f(i)} {\pi _i} Eπ[f(X)]=i∑f(i)πi是 f ( X ) f(X) f(X)关于平稳分布 π = ( π 1 , π 2 , ⋯ ) T \pi = {\left( {{\pi _1},{\pi _2}, \cdots } \right)^{\rm T}} π=(π1,π2,⋯)T的数学期望,式子表示为:
f ^ t → E π [ f ( X ) ] , t → ∞ {{\hat f}_t} \to {E_\pi }\left[ {f(X)} \right],t \to \infty f^t→Eπ[f(X)],t→∞
几乎处处成立或以概率1成立。
遍历定理的直观解释:满足相应条件的马尔可夫链,当时间趋于无穷时,马尔克夫链的状态分布趋近于平稳分布,随机变量的函数的样本均值以概率1收敛于该函数的数学期望。样本均值可以认为是时间均值,而数学期望是空间均值。遍历定理实际表述了遍历性的含义:当时间趋于无穷时,时间均值等于空间均值。遍历定理的三个条件:不可约,非周期、正常返,保证了当时间趋于无穷时达到任意一个状态的概率不为0。
理论上并不知道经过多少次迭代,马尔可夫链的状态分布才能接近于平稳分布,在实际应用遍历定理时,取一个足够大的整数m,经过m次迭代之后认为状态分布就是平稳分布,这时计算从第m+1次迭代到第n次迭代的均值,即
E ^ f = 1 n − m ∑ i = m + 1 n f ( x i ) \hat Ef = \frac{1}{{n - m}}\sum\limits_{i = m + 1}^n {f({x_i})} E^f=n−m1i=m+1∑nf(xi)
称为遍历均值。
- 可逆马尔可夫链
设有马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},状态空间为 S S S,转移概率矩阵为 P P P,如果有状态分布 π = ( π 1 , π 2 , ⋯ ) T \pi = {\left( {{\pi _1},{\pi _2}, \cdots } \right)^{\rm T}} π=(π1,π2,⋯)T,对于任意状态 i , j ∈ S i,j \in S i,j∈S,对任意一个时刻 t t t满足
P ( X t = i ∣ X t − 1 = j ) π j = P ( X t − 1 = j ∣ X t = i ) π i , i , j = 1 , 2 , ⋯ P({X_t} = i|{X_{t - 1}} = j){\pi _j} = P({X_{t - 1}} = j|{X_t} = i){\pi _i},i,j = 1,2, \cdots P(Xt=i∣Xt−1=j)πj=P(Xt−1=j∣Xt=i)πi,i,j=1,2,⋯
或简写为
p j i π j = p i j π i , i , j = 1 , 2 , ⋯ {p_{ji}}{\pi _j} = {p_{ij}}{\pi _i},i,j = 1,2, \cdots pjiπj=pijπi,i,j=1,2,⋯
则称此马尔可夫链 X X X为可逆马尔可夫链(reversible Markov chain),上式称为细致平衡方程(detailed balance equation)。
直观上,如果有可逆的马尔可夫链,那么以该马尔可夫链的平稳分布作为初始分布,进行随机状态转移,无论是面向未来还是过去,任何一个时刻的状态分布都是该平稳分布。
2. 马尔可夫蒙特卡罗法
2.1 基本想法
假设目标是对一个概率分布进行随机抽样,或者是求函数关于该概率分布的数学期望。可以采用传统的蒙特卡罗法,如接受-拒绝法、重要性抽样法,也可以使用马尔可夫链蒙特卡罗法。马尔可夫蒙特卡罗法更适合于随机变量是多元的、密度函数是非标准形式的、随机变量各分量不独立等情况。
假设多元随机变量 x x x,满足 x ∈ χ x \in \chi x∈χ,其概率密度函数为 p ( x ) p(x) p(x), f ( x ) f(x) f(x)为定义在 x ∈ χ x \in \chi x∈χ上的函数,目标是获得概率分布 p ( x ) p(x) p(x)的样本集合,以及求函数 f ( x ) f(x) f(x)的数学期望 E p ( x ) [ f ( x ) ] {E_{p(x)}}\left[ {f(x)} \right] Ep(x)[f(x)]。
应用马尔可夫链蒙特卡罗法解决这个问题。基本想法是:在随机变量 x x x的状态空间 S S S上定义一个满足遍历定理的马尔可夫链 X = { X 0 , X 1 , ⋯ , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,⋯,Xt,⋯},使其平稳分布就是抽样的目标分布 p ( x ) p(x) p(x)。然后在这个马尔可夫链上进行随机游走,每个时刻得到一个样本。根据遍历定理,当时间趋于无穷时,样本的分布趋近于平稳分布,样本的函数均值趋近函数的数学期望。所以,当时间足够长时(时刻大于某个正整数m),在之后的时间(时刻小于等于某个正整数n,n>m)里随机游走得到的样本集合 { x m + 1 , x m + 2 , ⋯ , x n } \left\{ {{x_{m + 1}},{x_{m + 2}}, \cdots ,{x_n}} \right\} {xm+1,xm+2,⋯,xn}就是目标概率分布的抽样结果,得到的函数均值(遍历均值)就是要计算的数学期望值:
E ^ f = 1 n − m ∑ i = m + 1 n f ( x i ) \hat Ef = \frac{1}{{n - m}}\sum\limits_{i = m + 1}^n {f({x_i})} E^f=n−m1i=m+1∑nf(xi)
到时刻m为止的时间段称为燃烧期。
如何构建具体的马尔可夫链成为这个方法的关键。连续变量的时候,需要定义转移核函数;离散变量的时候,需要定义转移矩阵。一个方法是定义特殊的转移核函数或者转移矩阵,构建可逆马尔可夫链,这样可以保证遍历定理成立。常用的马尔可夫链蒙特卡罗法有Metropolis-Hastings算法、吉布斯抽样。
由于这个马尔可夫链满足遍历定理,随机游走的起始点并不影响得到的结果,即从不同的起始点出发,都会收敛到同一平稳分布。
马尔可夫链蒙特卡罗法的收敛性的判断通常是经验性的,比如,在马尔可夫链上进行随机游走,检验遍历均值是否收敛。具体地,每隔一段时间取一次样本,得到多个样本以后,计算遍历均值,当计算的均值稳定后,认为马尔可夫链已经收敛。再比如,在马尔可夫链上并行进行多个随机游走,比较各个随机游走的遍历均值是否接近一致。
马尔可夫链蒙特卡罗法中的到的样本序列,相邻的样本点是相关的,而不是独立的。因此,在需要独立样本时,可以在该样本序列中再次进行随机抽样,比如每隔一段时间取一次样本,将这样得到的子样本集合作为独立样本集合。
马尔可夫链蒙特卡罗法比接受-拒绝法更容易实现,因为只需要定义马尔可夫链,而不需要定义建议分布。一般来说马尔可夫链蒙特卡罗法比接受-拒绝法效率更高,没有大量被拒绝的样本,虽然燃烧期的样本也要抛弃。
2.2 基本步骤
根据上面的讨论,可以将马尔可夫链蒙特卡罗法概括为以下三步:
(1)首先,在随机变量 x x x的状态空间 S S S上构造一个满足遍历定理的马尔可夫链,使其平稳分布为目标分布 p ( x ) p(x) p(x);
(2)从状态空间的某一点 x 0 {x_0} x0出发,用构造的马尔可夫链进行随机游走,产生样本序列 x 0 , x 1 , ⋯ , x t , ⋯ {x_0},{x_1}, \cdots ,{x_t}, \cdots x0,x1,⋯,xt,⋯。
(3)应用马尔可夫链的遍历定理,确定正整数m和n,(m<n),得到样本集合 { x m + 1 , x m + 2 , ⋯ , x n } \left\{ {{x_{m + 1}},{x_{m + 2}}, \cdots ,{x_n}} \right\} {xm+1,xm+2,⋯,xn},求得函数 f ( x ) f(x) f(x)的均值(遍历均值)
E ^ f = 1 n − m ∑ i = m + 1 n f ( x i ) \hat Ef = \frac{1}{{n - m}}\sum\limits_{i = m + 1}^n {f({x_i})} E^f=n−m1i=m+1∑nf(xi)
就是马尔可夫链蒙特卡罗法的计算公式。
这里有几个重要的问题:
(1)如何定义马尔可夫链,保证马尔可夫链蒙特卡罗法的条件成立。
(2)如何确定收敛步数m,保证样本抽样的无偏性。
(3)如何确定迭代步数n,保证遍历均值计算的精度。
2.3 马尔可夫链蒙特卡罗法与统计学习
马尔可夫链蒙特卡罗法在统计学习,特别是贝叶斯学习中,起着重要的作用。主要是因为马尔可夫链蒙特卡罗法可以用在概率模型的学习和推理上。
假设观测数据由随机变量 y ∈ Y y \in Y y∈Y表示,模型由随机变量 x ∈ χ x \in \chi x∈χ表示,贝叶斯学习通过贝叶斯定理计算给定数据条件下模型的后验概率,并选择后验概率最大的模型。
后验概率:
p ( x ∣ y ) = p ( x ) p ( y ∣ x ) ∫ χ p ( y ∣ x ′ ) p ( x ′ ) d x ′ p(x|y) = \frac{{p(x)p(y|x)}}{{\int_\chi {p(y|x')p(x')dx'} }} p(x∣y)=∫χp(y∣x′)p(x′)dx′p(x)p(y∣x)
贝叶斯学习中经常需要进行三种积分运算:归范化(normalization)、边缘化(marginalization)、数学期望(expectation)。
后验概率计算中需要规范化计算:
∫ χ p ( y ∣ x ′ ) p ( x ′ ) d x ′ \int_\chi {p(y|x')p(x')dx'} ∫χp(y∣x′)p(x′)dx′
如果有隐变量 z ∈ Z z \in Z z∈Z,后验概率的计算需要边缘化计算:
p ( x ∣ y ) = ∫ Z p ( x , z ∣ y ) d z p(x|y) = \int_Z {p(x,z|y)dz} p(x∣y)=∫Zp(x,z∣y)dz
如果有一个函数 f ( x ) f(x) f(x),可以计算该函数的关于后验概率分布的数学期望:
E P ( x ∣ y ) [ f ( x ) ] = ∫ χ f ( x ) p ( x ∣ y ) d x {E_{P(x|y)}}\left[ {f(x)} \right] = \int_\chi {f(x)} p(x|y)dx EP(x∣y)[f(x)]=∫χf(x)p(x∣y)dx
当观测数据和模型都很复杂的时候,以上的积分计算变得困难。马尔可夫链蒙特卡罗法为这些计算提供了一个通用的有效解决方案。
总结
本次周报系统地探讨了马尔可夫链及其在机器学习中的重要应用,特别是在自然语言处理和语音识别中的作用。通过对平稳分布和马尔可夫链蒙特卡罗法的详细分析,展示了其在贝叶斯学习中不可或缺的地位。下周将介绍代表马尔可夫蒙特卡罗法的两个具体算法:Metropolis-Hastings算法和吉布斯抽样。