Online EM Algorithm for Hidden Markov Models

Online EM Algorithm for Hidden Markov Models
复制标题

DOI:
10.1198/jcgs.2011.09109
复制
发表时间:
2011-09-01
影响因子:
2.4
通讯作者:
Cappe, Olivier
Cappe, Olivier
中科院分区:
数学2区
文献类型:
--
作者:
Cappe, Olivier

文献摘要

被引文献

相似文献

隐马尔可夫模型中固定模型参数的在线(也称为“递归”或“自适应”)估计是时间序列建模中非常感兴趣的主题。在这项工作中,我们提出了一个在线参数估计算法,结合了两个关键的想法。第一个,这是深深植根于期望最大化(EM)的方法,包括在重新参数化的问题,使用完整的数据充分的统计。第二个成分包括在利用一个纯粹的递归形式的平滑在一个辅助递归的基础上的障碍。虽然所提出的在线EM算法类似于经典的随机逼近(或Robbins-Monro)算法,但它足以抵抗传统的收敛性分析。因此,我们提供了有限的结果,确定潜在的限制点的递归以及大样本行为的算法中所涉及的数量。该算法的性能进行了数值评估,通过模拟的情况下,一个嘈杂的观察马尔可夫链。在这种情况下,该算法达到的估计结果是可比的大样本量的最大似然估计。本文的补充资料可在线获得,包括第4节中定理1和推论1的证明的附录,以及在第5节中考虑的噪声观测马尔可夫链的情况下用于实现算法的MATLAB/OCTAVE代码。
Online (also called "recursive" or "adaptive") estimation of fixed model parameters in hidden Markov models is a topic of much interest in times series modeling. In this work, we propose an online parameter estimation algorithm that combines two key ideas. The first one, which is deeply rooted in the Expectation-Maximization (EM) methodology, consists in reparameterizing the problem using complete-data sufficient statistics. The second ingredient consists in exploiting a purely recursive form of smoothing in HMMs based on an auxiliary recursion. Although the proposed online EM algorithm resembles a classical stochastic approximation (or Robbins-Monro) algorithm, it is sufficiently different to resist conventional analysis of convergence. We thus provide limited results which identify the potential limiting points of the recursion as well as the large-sample behavior of the quantities involved in the algorithm. The performance of the proposed algorithm is numerically evaluated through simulations in the case of a noisily observed Markov chain. In this case, the algorithm reaches estimation results that are comparable to those of the maximum likelihood estimator for large sample sizes. The supplemental material for this article available online includes an appendix with the proofs of Theorem 1 and Corollary 1 stated in Section 4 as well as the MATLAB/OCTAVE code used to implement the algorithm in the case of a noisily observed Markov chain considered in Section 5.