隐马尔可夫模型(hidden Markov model,HMM)是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。
隐马尔可夫模型定义
隐马尔可夫模型由初始概率分布、状态转移概率分布以及观测概率分布确定。
设Q是所有可能的状态的集合,V是所有可能的观测的集合。
其中,N为可能状态数,M为可能的观测数。
I是长度为T的状态序列,O是对应的观测序列。
A是状态转移概率矩阵:
其中,
表示在时刻t处于状态qi的条件下在时刻t+1转移到状态qj的概率。
B是观测概率矩阵:
其中,
表示在时刻t处于状态qj 的条件下生成观测vk的概率。
π是初始状态概率向量:
其中,
表示时刻t=1处于状态qi的概率。
隐马尔可夫模型由π、A、B决定。π和A决定状态序列,B决定观测序列。
隐马尔可夫模型λ=( A, B,π),A,B,π称为隐马尔科夫模型的三要素。
隐马尔可夫模型的两个基本假设:
(1).齐次马尔可夫性假设
(2).观测独立性假设
隐马尔可夫模型的三个基本问题
概率计算问题
给定模型λ=( A, B,π)和观测序列
。计算在模型λ下观测序列O出现的概率P(O|λ)。
解决此问题的方法为前向、后向算法。
学习问题
已知观测序列
,估计模型λ=( A, B,π)参数,使得在该模型下观测序列概率P(O|λ)最大。
当同时给定观测序列和对应状态序列时,使用极大似然估计方法估计参数。
当只给定观测序列,没有对应状态序列时,基于EM算法进行参数估计。(Baum-Welch算法)
预测问题
也称为解码问题。已知模型λ=( A, B,π)和观测序列
,求对给定观测序列条件概率P(I|O)最大的状态序列 。即给定观测序列
,求最有可能的对应状态序列
。
解决此问题的方法为维特比算法。
参考资料:
《统计学习方法》,李航