|
这遵循方程式(4.1)和(4.2)中的独立关系,如下所示:P(qt | yT)∝ P(qt,yT)=P(qt,yT,yTt+1)=P(yTt+1 | qt,yT)·P(qt,yT)=P(yTt+1 | qt)·P(qt,yT)=βt(qt)·αt(qt)(4.3)对于上述等式(4.3)中的最后一行,使用向后算法计算第一项P(yT+1 | qt),使用向前算法计算第二项P(qt,yT)。上述等式(4.3)中最后一行的术语解释如下。概率P(qt,yt)≡ αt(qt)对于给定的一组参数θ={P(q),P(qt+1 | qt),P(yt | qt)}遵循递归关系,可以使用独立关系(4.1)和(4.2)计算如下:P(qt,yt)=NXqt-1=1P(qt,qt-1,yt)=NXqt-1=1P(yt | qt,qt-1,yt-1) P(qt | qt-1,yt-1) P(qt-1,yt-1) =NXqt-1=1P(yt | qt)P(qt | qt-1) P(qt-1,yt-1) =NXqt-1=1P(yt | qt)P(qt | qt-1) ·αt-1(qt-1) =αt(qt)(4.4)对于给定的一组参数θ={P(q),P(qt+1 | qt),P(yt | qt)},概率P(yTt+1 | qt)≡ βt(qt)类似地基于以下反向算法计算:P(yTt+1 | qt)=NXqt+1=1P(yTt+1,qt+1 | qt)=NXqt+1=1P(yTt+2 | qt+1,qt,yt+1)P(yt+1 | qt+1,qt)=NXqt+1=1P(yt+2 | qt+1)P(yt+1 | qt+1 | qt)=NXqt+1=1βt+1(qt+1)·P(yt+1 | qt+1)·P(qt+1 | qt)=βt(qt)(4.5)这两种算法的计算复杂度都为O阶(N·t)。我们解释了反向算法的缺点。在方程(4.5)中,βt(qt)是所有状态1,…,的和,N在每个时间点t重复∈ {1,…,T},并且对于时间T的每个可能状态,给出了N·T计算。相比之下,如果对所有状态序列组合的P(qt,yt)求和如下:P(qt,yt)=NXq=1···NXqt=1P(qt,qt-1,yt),(4.6)计算涉及从时间1到时间t的所有可能状态路径以及某个状态的联合概率。对所有t重复此操作∈ {1, . . .
|