Chapter 13: Sequential data

一: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⃗ n1)=p(x⃗ n|x⃗ n1) 。因此当我们用如此的模型去预测下一个观察值,预测分布仅仅依赖于其先前的一个观察值,与更早的观察值无关;

2:不难看出first-order markov chain有其局限性,如果我们允许观察值与先前两个观察值有关,我们就获得了一个second-order Markov chain,数学表达形式为 p(x⃗ n|x⃗ 1,...,x⃗ n1)=p(x⃗ n|x⃗ n1,x⃗ n2)

3:因此按照上述思路,我们能够有Mth-order Markov chain,也就是一个变量的条件分布依赖于其先前M个变量。虽然如此模型的灵活性增加了,但是这个模型的参数的数目为 KM1(K1) (假设变量有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,所有变量的联合概率分布如下:

p(x⃗ 1,...,x⃗ N,z⃗ 1,...,z⃗ N)=p(z⃗ 1){n=2Np(z⃗ n|z⃗ n1)}n=1Np(x⃗ n|z⃗ n)
并且对于 x⃗ n+1 的预测分布 p(x⃗ n+1|x⃗ 1,...,x⃗ n) 没有任何的条件独立性质,因此state space model达到了我们之前要求,即 X⃗ n+1 的观察依赖于所有先前的观察;

5:用于描述序列数据(sequential data)的state space models有两个非常重要的例子,一个是hidden Markov model,其latent variables z⃗  是离散的,但观察变量 x⃗  可以是连续的也可以是离散的,条件概率分布 p(z⃗ n|z⃗ n1) 以及 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|zn1,j=1) ( 0=<Ajk<=1,kAjk=1 ,矩阵A的元素被称之为transition probabilities),因此条件在 z⃗ n1 z⃗ n 的条件分布如下:

p(z⃗ n|z⃗ n1)=k=1Kj=1KAzn1,jznkjk
初始的latent node z⃗ 1 的分布如下:
p(z⃗ 1|π⃗ )=k=1Kπz1kk
其中 πk 满足 kπk=1

2):条件在latent variables z⃗ n 的观察变量概率分布 p(x⃗ n|z⃗ n,ϕ⃗ ) 被称之为发射概率(emission probabilities),具有如下形式:

p(x⃗ n|z⃗ n,ϕ⃗ )=k=1Kp(x⃗ n|ϕ⃗ k)znk

在这里 ϕ⃗  为此发射概率的参数集;

3):下面的讨论限定于homogeneous model。对于homogeneous model来说,所有latent variables的条件分布具有相同的参数A,以及所有的emission probabilities具有相同的参数 ϕ⃗  。在此情况下,latent和observed变量的联合分布如下:

p(X,Z|θ⃗ )=p(z⃗ 1|π⃗ )[n=2Np(z⃗ n|z⃗ n1,A)]m=1Np(x⃗ m|z⃗ m,ϕ⃗ )

在这里 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似然函数如下:

Q(θ⃗ ,θ⃗ old)=k=1Kγ(z1k)lnπk+n=2Nj=1Kk=1Kξ(zn1,j,znk)lnAjk+n=1Nk=1Kγ(znk)lnp(x⃗ n|ϕ⃗ k)

其中 γ(znk),ξ(zn1,j,znk) 为变量 znk 以及 zn1,jznk 的期待值,具体表达形式如下:
γ(znk)=E[znk]=Zp(Z|X,θ⃗ old)znkξ(zn1,j,znk)=E[zn1,jznk]=Zp(Z|X,θ⃗ old)zn1,jznk

因此在E step,我们需要计算 γ(znk) 以及 ξ(zn1,j,znk)

3):在M step,对上述函数最大化,我们获得的 πk,Ajk 的表达式如下:

πk=γ(z1k)Kj=1γ(z1j)Ajk=Nn=2ξ(zn1,j,znk)Kl=1Nn=2ξ(zn1,j,znl)

要注意的是,如果 π⃗ ,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 两个表达式:

u⃗ k=Nn=1γ(znk)x⃗ nNn=1γ(znk)Σk=Nn=1γ(znk)(x⃗ nu⃗ k)(x⃗ nu⃗ k)TNn=1γ(znk)

5):如果observed variables x⃗  为离散多项式变量,则 p(x⃗ |z⃗ )=Di=1Kk=1uxizkik ,对应的M step方程如下:

uik=Nn=1γ(znk)xniNn=1γ(znk)

2:The forward-backward algorithm

1):forward-backward algorithm能够被用来计算在E step中要求的 γ(znk) 以及 ξ(zn1,j,znk) 。要注意的是 γ(znk) 即为 p(znk=1|X) ,也就是 p(z⃗ n|X) 的第k个分量,同时 ξ(zn1,j,znk) 即为 p(zn1,j=1,znk=1|X) ,也就是 p(z⃗ n1,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) ,则我们可以获得如下的递推关系式:

α(z⃗ n)=p(x⃗ n|z⃗ n)z⃗ n1α(z⃗ n1)p(z⃗ n|z⃗ n1)α(z⃗ 1)=k=1K{πkp(x⃗ 1|ϕ⃗ k)}z1kβ(z⃗ n)=z⃗ n+1β(z⃗ n+1)p(x⃗ n+1|z⃗ n+1)p(z⃗ n+1|z⃗ n)β(z⃗ N)=1

因此 γ(znk)=α(znk)β(znk)/p(X) ,将其带入M step方程中,P(X)将会被抵消,因此我们只需知道 α(z⃗ n),β(z⃗ n) 即可

3):当然,我们可以计算似然函数p(X)值,计算方程式如下:

p(X)=z⃗ nα(z⃗ n)β(z⃗ n)
因此我们可以选择一个最为方便的n计算p(X)。一般来说,我们会将n选择为N,这样的话 p(X)=z⃗ Nα(z⃗ N)

4):令 ξ(z⃗ n1,z⃗ n)=p(z⃗ n1,z⃗ n|X) ,则我们可以获得下述表达式:

ξ(z⃗ n1,z⃗ n)=α(z⃗ n1)p(x⃗ n|z⃗ n)p(z⃗ n|z⃗ n1)β(z⃗ n)p(X)

5):预测分布 p(x⃗ N+1|X) 的表达式如下:

p(x⃗ N+1|X)=1p(X)z⃗ N+1p(x⃗ N+1|z⃗ N+1)z⃗ Np(z⃗ N+1|z⃗ N)α(z⃗ N)

3:Scaling factors

1):递推式 α(z⃗ n)=p(x⃗ n|z⃗ n)z⃗ n1α(z⃗ n1)p(z⃗ n|z⃗ n1) 包含着概率的相乘,一般来说这些概率很小,概率相乘起来会更小,因此如果沿着链结点不断往下递推的话, α(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αˆ(z⃗ n)=p(x⃗ n|z⃗ n)z⃗ n1αˆ(z⃗ n1)p(z⃗ n|z⃗ n1)

其中 cn=p(x⃗ n|x⃗ 1,...,x⃗ n1) ,其值可以通过对等式右边归一化得到。 αˆ(z⃗ n) α(z⃗ n) 之间有如下的关系:
α(z⃗ n)=(m=1ncm)αˆ(z⃗ n)

3):若令 βˆ(z⃗ n)=p(x⃗ n+1,...,x⃗ N|z⃗ n)/p(x⃗ n+1,...,x⃗ N|x⃗ 1,...,x⃗ n) ,此为两个条件概率之间的比值,我们也可以期待该值在数值上会表现的很好,其具有如下的地递推关系式:

cn+1βˆ(z⃗ n)=z⃗ n+1βˆ(z⃗ n+1)p(x⃗ n+1|z⃗ n+1)p(z⃗ n+1|z⃗ n)
其中 cn 的值是在对 αˆ 递推关系式中获得的。 βˆ(z⃗ n) β(z⃗ n) 之间有如下的关系:
β(z⃗ n)=(m=n+1Ncm)βˆ(z⃗ n)

4):在此情形下,似然函数可以表达为 p(X)=Nn=1cn γ(z⃗ n)=αˆ(z⃗ n)βˆ(z⃗ n) ξ(z⃗ n1,z⃗ n)=cn(ˆα)(z⃗ n1)p(x⃗ n|z⃗ n)p(z⃗ n|z⃗ n1)βˆ(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) ,则我们可以获得如下的递推关系式:

w(z⃗ n+1)=lnp(x⃗ n+1|z⃗ n+1)+maxz⃗ n{lnp(x⃗ n+1|z⃗ n)+w(zn)}w(z⃗ 1)=lnp(z⃗ 1)+lnp(x⃗ 1|z⃗ 1)
并且 w(z⃗ n) 能够被理解为 w(z⃗ n)=maxz⃗ 1,...,z⃗ n1p(x⃗ 1,...,x⃗ n,z⃗ 1,...,z⃗ n) 。因此我们能够沿着上述的递推关系式得出 w(z⃗ N) 的值,然后对其进行最大化,即就可以得到我们想要的observed variables和latent variables的联合概率 p(x⃗ 1,...,x⃗ N,z⃗ 1,...,z⃗ N) 最大值

3):从上述递推关系式中,我们发现对于 z⃗ n+1 的每个态,都一个对应的使得 w(z⃗ n+1) 最大化的 z⃗ n 。因此为了获得联合概率最大值所对应的一些列latent variable states,我们可以采用回溯法,先求出使得 w(z⃗ N) 最大化所对应的 z⃗ N 态,然后根据之前说的每一个 z⃗ N 态都有一个最优化的 z⃗ N1 ,找出使得 w(z⃗ N) 最大化的 z⃗ N 态所对应的 z⃗ N1 ,以此回溯,直至找到对应的 z⃗ 1 态为止;

四:Linear Dynamical Systems(LDS)

1):Linear Dynamical Systems与hidden markov models具有相同的图结构,但是在Linear Dynamical Systems中,latent variable z⃗ n 是连续变量,并且transition和emission distributions具有如下的高斯分布形式:

p(z⃗ n|z⃗ n1)=N(z⃗ n|Az⃗ n1,Γ)p(x⃗ n|z⃗ n)=N(x⃗ n|Cz⃗ n,Σ)p(z⃗ 1)=N(z⃗ 1|u⃗ 0,V0)

通过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) ,则其具有如下的递推关系式:

u⃗ n=Au⃗ n1+Kn(x⃗ nCAu⃗ n1)Vn=(IKnC)Pn1Kn=Pn1CT(CPn1CT+Σ)1Pn1=AVn1AT+Γ
上述递推关系式初始化式为:
u⃗ 1=u⃗ 0+K1(x⃗ 1Cu⃗ 0)V1=(IK1C)V0K1=V0CT(CV0CT+Σ)1

2):latent variable z⃗ n 的后验分布 p(z⃗ n|X) 具有高斯形式 N(z⃗ n|u⃗ ˆn,Vˆn) ,对应的均值和方差具有如下的递推关系式:

u⃗ ˆn=u⃗ n+Jn(u⃗ ˆn+1Au⃗ N)Vˆn=Vn+Jn(Vˆn+1Pn)JTnJn=VnAT(Pn)1
其中 {u⃗ n,Vn} 是在运行 αˆ(z⃗ n) 递推关系式后获得的;

3): z⃗ n1,z⃗ n 的联合后验分布 p(z⃗ n1,z⃗ n|X) 也具有高斯分布形式,其均值为 {u⃗ ˆn1,u⃗ ˆn} ,协方差为 cov[z⃗ n,z⃗ n1]=Jn1Vˆn

2:Learning in LDS

1):有了上述的关系式,我们可以获得 z⃗ n,z⃗ nz⃗ Tn1,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) 中提取样品。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值