隐马尔可夫模型 (Hidden Markov Model,HMM) 是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型**。
隐马尔可夫模型的定义
语言定义
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列再由各个状态生成一个观测从而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence );每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。序列的每个位置又可以看作是一个时刻。示意图如下:
模型由初始概率分布、状态转移概率分布以及观测概率分布确定。
数学定义
- 设
是所有可能的状态的集合,
是所有可能的观测的集合:
- 其中
是可能的状态数
是可能的观测数。
是长度为
的状态序列,
是对应的观测序列:
是状态转移概率矩阵:
- 其中,
是在时刻
处于状态
的的条件下在时刻
转移到状态
的的概率。
是观测概率矩阵:
- 其中,
是在时刻
处于状态
的条件下生成观测
的概率。
是初始状态概率向:
- 其中,
是时刻
处于状态
的概率。
隐马尔可夫模型由初始状态概率向量、状态转移概率矩阵
和观测概率矩阵
决定。
和
决定状态序列,
决定观测序列。因此,隐马尔可夫模型
可以用三元符号表示,即
称为隐马尔可夫模型的三要素。
两个假设
前向算法
设联合概率:
则有:
维特比算法
一句话总结:在每一时刻, 计算当前时刻落在每种隐状态的最大概率, 并记录这个最大概率是从前一时刻哪一个隐状态转移过来的, 最后再从结尾回溯最大概率, 也就是最有可能的最优路径。可以回溯的原因是最优路径t时刻经过节点,那么这一路径从结点
到终点
子的部分路径,对于从
到
的所有可能的部分路径来说,必须是最优的。换句话说:一条最优路径分割成两段,每段都是各自阶段最优的。
参考:
viterbi算法:https://www.zhihu.com/question/20136144
