隐马尔可夫模型:参数估计问题(BaumWelch算法)
HMM的参数估计问题:给定一个观察序列 O = O 1 O 2 ⋯ O T O = O_{1} O_{2} \cdots O_{T} O=O1O2⋯OT,计算使 P ( O ∣ μ ) P(O | \mu) P(O∣μ)最大时,模型 μ = ( A , B , π ) \mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}) μ=(A,B,π)的参数
μ ^ = arg max μ P ( O training ∣ μ ) \hat{\mu} = \argmax_{\mu} P(O_{\text{training}} | \mu) μ^=μargmaxP(Otraining∣μ)
对于完全情况(complete case),产生观察序列 O O O的状态序列 Q = q 1 q 2 ⋯ q T Q = q_{1} q_{2} \cdots q_{T} Q=q1q2⋯qT已知(完全数据),可通过最大似然估计HMM参数:
π ˉ i = δ ( q 1 , s i ) \bar{\pi}_{i} = \delta(q_{1}, s_{i}) πˉi=δ(q1,si)
a ˉ i j = Q 中从状态 s i 转移到 s j 的次数 Q 中所有从状态 s i 转移到另一状态(包括 s j 自身)的次数 = ∑ t = 1 T − 1 δ ( q t , s i ) δ ( q t + 1 , s j ) ∑ t = 1 T − 1 δ ( q t , s i ) \begin{aligned}\bar{a}_{ij} & = \frac{ Q\text{中从状态}s_{i}\text{转移到}s_{j}\text{的次数} }{ Q\text{中所有从状态}s_{i}\text{转移到另一状态(包括}s_{j}\text{自身)的次数} } \\ & = \frac{ \sum_{t = 1}^{T - 1} \delta(q_{t}, s_{i}) \delta(q_{t + 1}, s_{j}) }{ \sum_{t = 1}^{T - 1} \delta(q_{t}, s_{i}) } \end{aligned} aˉij=Q中所有从状态si转移到另一状态(包括sj自身)的次数Q中从状态si转移到sj的次数=∑t=1T−1δ(qt,si)∑t=1T−1δ(qt,si)δ(qt+1,sj)
b ˉ j ( k ) = Q 中从状态 s j 输出符号 v k 的次数 Q 到达 s j 的次数 = ∑ t = 1 T δ ( q t , s j ) δ ( O t , v k ) ∑ t = 1 T δ ( q t , s