前言:隐马尔可夫模型(Hidden Markov Model, HMM)是可用于标注问题(即输入输出都是离散序列的监督学习问题)的统计学模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。本文首先介绍马尔可夫过程和隐马尔可夫模型的基本概念,然后分别叙述和实现隐马尔可夫模型的概率计算算法、学习算法以及预测算法。
一、马尔可夫过程
马尔可夫过程 (Markov Process),因俄罗斯数学家安德烈 · 马尔可夫而得名,代表数学中具有马尔可夫性质的离散随机过程。该过程中,每个状态的转移只依赖于之前的 n 个状态,这个过程被称为1个 n 阶的模型,其中 n 是影响转移状态的数目。我们称该过程具有马尔可夫性或无后效性。通俗的说,在已经知道过程“现在”的条件下,其“将来”不依赖于“过去”。最简单的马尔科夫过程就是一阶过程,每一个状态的转移只依赖于其之前的那一个状态。注意这和确定性系统不一样,因为这种转移是有概率的,而不是确定性的。时间和状态都是离散的马尔可夫过程就称为马尔可夫链,记为 {
Xn=X(n),n=0,1,2,⋯} ,它可以看作时间集 T1={
0,1,2,⋯} 上对离散状态的马氏过程相继观察的结果。这些变量的取值范围,即它们所有可能取值的集合,被称为“状态空间”,记为 I={
a1,a2,⋯} 。马尔可夫性通常可用条件分布律来表示:
这个条件概率称为马氏链在时刻 m 处于状态
该矩阵有约束条件: pij≥0 , ∑Nj=1pi