隐马尔科夫模型 (HMM) 中的三个主要问题及相关算法
终于赶完了所有的due,现在可以坐下来整理一下隐马尔科夫模型 (HMM) 了。HMM是马尔科夫模型的推广,其同时对观测到的事件 (observed event) 和其背后的隐含状态 (hidden event) 建模,在Speech Recognition,Part-of-speech Tagging等问题上均有应用。本文针对HMM中的三个主要问题:评价(Evaluation or Likelihood Computation)、解码 (Decoding) 和训练 (Training) 以及其对应的算法给以详细的介绍。
0. HMM的定义
下面让我们首先给出HMM的定义,一个HMM主要由以下几个部分组成
- N 个状态,我们用
Q=q1q2…qN 来表示 - 转移概率矩阵 An×n={
aij},i,j∈{
1,2,…,N} ,其中 aij 表示从状态 i 转移到状态
j 的概率,因此有 ∑Ni=1aij=1,∀i - 包含T个观测结果的序列,用 O=o1o2…oT 来表示
- 一系列生成概率 (emission probability),记作 B={
bi(ot)},i∈{
1,2,…,N},t∈{
1,2,…,T} ,表示状态 i 产生观测结果
ot