之前做过一些牛客网的题目,HMM在笔试题中还挺常考的,这里我只想记一些比较基本的内容,具体的HMM内容大家可以根据李航的书自行进行复习。
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。
隐马尔可夫模型中有几个要素:
Q:所有状态的集合
V:所有可能观测的集合
A:状态转移概率矩阵
B:观测概率矩阵,Bjk代表状态j下观测到k的概率
π :初始状态概率向量
O:观测序列
I:状态序列
那么一个隐马尔可夫模型可以由(A,B,π )来定义,记为:
λ = (A,B,π )
因此,隐马尔可夫模型由三个基本问题:
1)概率计算问题,即已知λ = (A,B,π ),和观测序列O的情况下,计算观测序列O出现的概率P(O|λ)。
概率计算问题的常用解法是前向计算和后向计算方法
2)学习问题,即已知观测序列O,估计模型λ = (A,B,π )的参数,使得观测序列O出现的概率最大。
学习问题常用的是极大似然估计或EM算法(又称Baum-Welch模型)
3)预测问题,即已知λ = (A,B,π ),和观测序列O的情况下,计算最有可能的状态序列I。
预测问题最常用的算法是维比特算法。