一:Introduction
1:在之前的章节中,我们假设数据集中的数据点是独立且全同分布的(i.i.d.)以至于我们可以将似然函数表达成每个数据点概率分布积的形式,但是这个情况不能适用所有情况,比如序列数据(sequential data)。sequential data经常出现在时间序列的测量中,数据先后产生。直觉告诉我们这些数据应该是前后关联的,所以i.i.d.的假设是不适用的;
2:序列分布(sequential distribution)分为静态(stationary)和非静态(nonstationary)这两种类型,在静态情况下,虽然数据随着时间演化,但产生数据的概率分布是始终不变的;在非静态情况下,数据不仅随着时间演化,并且产生数据的概率分布也随着时间变化;
3:Markov models和state space models能够被用来描述序列数据(sequential data),Markov models假定未来的预测并不是与所有过去的观察都有关,而是只与最近的观察有关;相比于Markov model,state sapce models具有更多的普遍性,该模型是通过latent variables的引入来使得未来的预测与所有过去的观察均有关联;state space models有两种重要的具体例子,一个是hidden markov models,其latent variables是离散分布的,另外一个是latent variables服从高斯分布的linear dynamical systems。
二:Markov Models
1:first-order Markov chain说的是条件在现在的态,未来态与过去态无关,概率表达形式为 p(x⃗ n|x⃗ 1,...,x⃗ n−1)=p(x⃗ n|x⃗ n−1) 。因此当我们用如此的模型去预测下一个观察值,预测分布仅仅依赖于其先前的一个观察值,与更早的观察值无关;
2:不难看出first-order markov chain有其局限性,如果我们允许观察值与先前两个观察值有关,我们就获得了一个second-order Markov chain,数学表达形式为 p(x⃗ n|x⃗ 1,...,x⃗ n−1)=p(x⃗ n|x⃗ n−1,x⃗ n−2)
3:因此按照上述思路,我们能够有Mth-order Markov chain,也就是一个变量的条件分布依赖于其先前M个变量。虽然如此模型的灵活性增加了,但是这个模型的参数的数目为 KM−1(K−1) (假设变量有K个离散态),是随着M指数增长的,因此对于比较大的M,Mth-order Markov chain很难行得通;
4:在这种情况下,为了使得目前的观测值与所有过去的观测值均相关,同时又避免过多的参数,我们能够引入latent variables z⃗ ,每个观察 x⃗ n 都有一个对应的latent variable z⃗ n ,对应的条件概率分布为 p(x⃗ n|x⃗ n) ,同时latent variable形成了first-order Markov chain,这就导致了state space model,所有变量的联合概率分布如下:
5:用于描述序列数据(sequential data)的state space models有两个非常重要的例子,一个是hidden Markov model,其latent variables z⃗ 是离散的,但观察变量 x⃗ 可以是连续的也可以是离散的,条件概率分布 p(z⃗ n|z⃗ n−1) 以及 p(x⃗ n|z⃗ n) 能够被很多概率模型描述;另外一个例子是linear dynamical system(LSD),latent variables和observed variables都是连续的,并且条件在它们母结点的条件概率分布满足linear-Gaussian 依赖性;
三:Hidden Markov Models(HMM)
1):假设形成Markov chain的latent variables z⃗ n 有K个态,用1-of-K coding scheme表示。令 Ajk=p(znk=1|zn−1,j=1) ( 0=<Ajk<=1,∑kAjk=1 ,矩阵A的元素被称之为transition probabilities),因此条件在 z⃗ n−1 的 z⃗ n 的条件分布如下:
2):条件在latent variables z⃗ n 的观察变量概率分布 p(x⃗ n|z⃗ n,ϕ⃗ ) 被称之为发射概率(emission probabilities),具有如下形式:
在这里 ϕ⃗ 为此发射概率的参数集;
3):下面的讨论限定于homogeneous model。对于homogeneous model来说,所有latent variables的条件分布具有相同的参数A,以及所有的emission probabilities具有相同的参数 ϕ⃗ 。在此情况下,latent和observed变量的联合分布如下:
在这里 X={x⃗ 1,...,x⃗ N},Z={z⃗ 1,...,z⃗ N},θ⃗ ={π⃗ ,A,ϕ⃗ }
4):通过对tansition matrix A的形式施加限制,标准HMM的许多变体能够被获得。其中有一个特别重要的例子是left-to-right HMM,对应的A满足 Ajk=0(k<j) ,在此基础上,若A进一步被限制为 Ajk=0(k>j+Δ) ,则可以确保latent variable的state index不会发生大的改变;
1:Maximum likelihood for the HMM
1):由于似然函数可以表达为 p(X|θ⃗ )=∑Zp(X,Z|θ⃗ ) ,因此我们可以用EM算法求解似然函数最大值对应的参数值
2):complete-log似然函数如下:
其中 γ(znk),ξ(zn−1,j,znk) 为变量 znk 以及 zn−1,j∗znk 的期待值,具体表达形式如下:
因此在E step,我们需要计算 γ(znk) 以及 ξ(zn−1,j,znk)
3):在M step,对上述函数最大化,我们获得的 πk,Ajk 的表达式如下:
要注意的是,如果 π⃗ ,A 中的任何元素最开始被设置为0,在此后的EM updates中对应的元素将一直保持为0,因此对于left-to-right HMM来说,我们只需要在最开始处设置A中的对应元素 Ajk 为0即可,因为这些元素将会一直保持为0;
4):如果 p(x⃗ |ϕ⃗ k)=N(x⃗ |u⃗ k,Σk) ,则相对于 u⃗ k,Σk 最大化 Q(θ⃗ ,θ⃗ old) 可以获得如下两个关于 u⃗ k,Σk 两个表达式:
5):如果observed variables x⃗ 为离散多项式变量,则 p(x⃗ |z⃗ )=∏Di=1∏Kk=1uxizkik ,对应的M step方程如下:
2:The forward-backward algorithm
1):forward-backward algorithm能够被用来计算在E step中要求的 γ(znk) 以及 ξ(zn−1,j,znk) 。要注意的是 γ(znk) 即为 p(znk=1|X) ,也就是 p(z⃗ n|X) 的第k个分量,同时 ξ(zn−1,j,znk) 即为 p(zn−1,j=1,znk=1|X) ,也就是 p(z⃗ n−1,z⃗ n|X) 的位置为(j,k)的元素;
2):令 γ(z⃗ n)=p(z⃗ n|X) ,即为 z⃗ n 的后验概率,则 γ(z⃗ n)=α(z⃗ n)β(z⃗ n)/p(X) ,在这里 α(z⃗ n)=p(x⃗ 1,...,x⃗ n,z⃗ n),β(z⃗ n)=p(x⃗ n+1,...,x⃗ N|z⃗ n) ,则我们可以获得如下的递推关系式:
因此 γ(znk)=α(znk)β(znk)/p(X) ,将其带入M step方程中,P(X)将会被抵消,因此我们只需知道 α(z⃗ n),β(z⃗ n) 即可
3):当然,我们可以计算似然函数p(X)值,计算方程式如下:
4):令 ξ(z⃗ n−1,z⃗ n)=p(z⃗ n−1,z⃗ n|X) ,则我们可以获得下述表达式:
5):预测分布 p(x⃗ N+1|X) 的表达式如下:
3:Scaling factors
1):递推式 α(z⃗ n)=p(x⃗ n|z⃗ n)∑z⃗ n−1α(z⃗ n−1)p(z⃗ n|z⃗ n−1) 包含着概率的相乘,一般来说这些概率很小,概率相乘起来会更小,因此如果沿着链结点不断往下递推的话, α(z⃗ n) 会指数地朝着0衰减,因此 α(z⃗ n) 可能会超过计算机的数字范围,尽管双精度浮点数被使用了。所以需要对 α(z⃗ n) 进行rescale;
2):令 αˆ(z⃗ n)=p(z⃗ n|x⃗ 1,...,x⃗ n)=α(z⃗ n)/p(x⃗ 1,...,x⃗ n) ,因为 αˆ(z⃗ n) 是单个变量的概率分布,因此我们可以期待其会在数值上表现的很好,其满足如下的递推关系式:
其中 cn=p(x⃗ n|x⃗ 1,...,x⃗ n−1) ,其值可以通过对等式右边归一化得到。 αˆ(z⃗ n) 与 α(z⃗ n) 之间有如下的关系:
3):若令 βˆ(z⃗ n)=p(x⃗ n+1,...,x⃗ N|z⃗ n)/p(x⃗ n+1,...,x⃗ N|x⃗ 1,...,x⃗ n) ,此为两个条件概率之间的比值,我们也可以期待该值在数值上会表现的很好,其具有如下的地递推关系式:
4):在此情形下,似然函数可以表达为 p(X)=∏Nn=1cn , γ(z⃗ n)=αˆ(z⃗ n)βˆ(z⃗ n) , ξ(z⃗ n−1,z⃗ n)=cn(ˆα)(z⃗ n−1)p(x⃗ n|z⃗ n)p(z⃗ n|z⃗ n−1)βˆ(z⃗ n)
4:The Viterbi algorithm
1):对于一个hidden markov model来说,有时候我们需要找到一组最可能的latent variable states,也就是使得observed variables和latent variables的联合概率 p(x⃗ 1,...,x⃗ N,z⃗ 1,...,z⃗ N) 最大化,在此我们就可以使用viterbi algorithm;
2):令 w(z⃗ n)=ufn−>z⃗ n(z⃗ n) ,则我们可以获得如下的递推关系式:
3):从上述递推关系式中,我们发现对于 z⃗ n+1 的每个态,都一个对应的使得 w(z⃗ n+1) 最大化的 z⃗ n 。因此为了获得联合概率最大值所对应的一些列latent variable states,我们可以采用回溯法,先求出使得 w(z⃗ N) 最大化所对应的 z⃗ N 态,然后根据之前说的每一个 z⃗ N 态都有一个最优化的 z⃗ N−1 ,找出使得 w(z⃗ N) 最大化的 z⃗ N 态所对应的 z⃗ N−1 ,以此回溯,直至找到对应的 z⃗ 1 态为止;
四:Linear Dynamical Systems(LDS)
1):Linear Dynamical Systems与hidden markov models具有相同的图结构,但是在Linear Dynamical Systems中,latent variable z⃗ n 是连续变量,并且transition和emission distributions具有如下的高斯分布形式:
通过EM算法极大似然函数,我们能够获得模型的参数值 θ⃗ ={A,Γ,C,Σ,u⃗ 0,V0}
1:Inference in LDS
1):在LDS中, αˆ(z⃗ n)=p(z⃗ n|x⃗ 1,...,x⃗ n) 为高斯分布,并令其形式为 N(z⃗ n|u⃗ n,Vn) ,则其具有如下的递推关系式:
2):latent variable z⃗ n 的后验分布 p(z⃗ n|X) 具有高斯形式 N(z⃗ n|u⃗ ˆn,Vˆn) ,对应的均值和方差具有如下的递推关系式:
3): z⃗ n−1,z⃗ n 的联合后验分布 p(z⃗ n−1,z⃗ n|X) 也具有高斯分布形式,其均值为 {u⃗ ˆn−1,u⃗ ˆn} ,协方差为 cov[z⃗ n,z⃗ n−1]=Jn−1Vˆn
2:Learning in LDS
1):有了上述的关系式,我们可以获得 z⃗ n,z⃗ nz⃗ Tn−1,z⃗ nz⃗ Tn 的期待值,然后对complete-log似然函数期待值最大化我们则可以获得对应的参数值;
3:Particle filters
1):对于非线性高斯的dynaical systems来说,我们通常采取抽样方法(sampling method)为了找到可解的推理算法。特别是,我们能够采取sampling-importrance-resampling方法获得序列的Monte Carlo算法,这被称为particle filter;
2):下面给出了步骤显示怎样从后验分布 p(z⃗ n|Xn) 中提取L个样品,其中 Xn=(x⃗ 1,...,x⃗ n)
步骤1:从 p(z⃗ 1) 中提取L个样品 z⃗ (l)1 ,给予其权重 w(l)1=p(x⃗ 1|z⃗ (l)1)/∑Lm=1p(x⃗ 1|z⃗ (m)1) ,这个能够代表后验分布 p(z⃗ 1|x⃗ 1) ;
步骤2:现在假设我们有了
p(z⃗ n|Xn)
的L个样品{
z⃗ (l)n
}及其对应的权重{
w(l)n
},则我们从
p(z⃗ n+1|Xn)=∑lw(l)np(z⃗ n+1|z⃗ (l)n)
混合分布中提取L个样品{
z⃗ (l)n+1
},然后再对其赋予权重
w(l)n+1=p(x⃗ n+1|z⃗ (l)n+1)/∑Lm=1p(x⃗ n+1|z⃗ (m)n+1)
,这样L个样品集{
w(l)n+1
}及对应的权重{
wln+1
}就代表了后验分布
p(z⃗ n+1|Xn+1)
;
有了步骤1及步骤2,我们就能够递推地从
p(z⃗ 1|X1),...,p(z⃗ N|XN)
中提取样品。