隐马尔可夫模型的权威定义
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态序列称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence),序列的每一个位置又可以看作是一个时刻。(定义来自李航的《统计学习方法》)
下面我们来举个例子形象的理解一下概念。
假设有4个盒子,每个盒子里都装有红白两种颜色的球,我们看不到盒子里球得颜色,盒子里的红白球数分别为,5:5、3:7、6:4、8:2。
按照以下方法抽取球:
-
4个盒子随机选一个盒子,抽出一个球记录颜色后放回。
-
从当前盒子转移到下一个盒子,规则是:如果当前盒子是盒子1,那么下一个盒子一定是盒子2,如果当前盒子是2或者3,那么分别以概率0.4和0.6转移到左边或者右边的盒子,如果当前是盒子4,那么各以0.5的概率停留在盒子4或者转移到盒子3。
-
确定转移的盒子后,再从这个盒子里随机抽出1个球,记录其颜色后放回。重复5次,得到一个球颜色的观测序列。
上述就是一个隐马尔可夫模型的列子。在上述过程中,4个盒子的序列就称为状态序列(隐藏的)(词性标注任务中的不同的标签(BIO)),球颜色的序列称为观测序列(可观测的)(词性标注任务中的不同的单词)。隐马尔可夫模型由三个要素组成,分别是π,A,B。
π:初始状态概率向量。(初始状态选择4个盒子的概率组成的向量。例如如果4个盒子被选择的概率相同的话向量为[0.25,0.25,0.25,0.25])
A:状态转移概率矩阵。(选择一个盒子之后都会有可能选择的下一个盒子的概率,各种情况一 一对应生成了概率矩阵。本例中
[0 1 0 0
0.4 0 0.6 0
0 0.4 0 0.6
0 0 0.5 0.5])
B:观测转移概率矩阵。(观测转移概率矩阵就是每个盒子(状态)中选择不同颜色球的概率(其实也可以看成不同颜色球的比例)。本例中
[0.5 0.5
0.3 0.7
0.6 0.4
0.8 0.2])
隐马尔可夫的两个基本假设
(1) 齐次马尔可夫假设,即假设任意时刻 t 的状态值依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻 t 无关。
(2) 观测独立性假设,即假设任意时刻的状态及观测值依赖于该时刻的状态,与其他观测及状态无关。
隐马尔可夫模型的三个基本问题
(1) 概率计算问题。给定模型λ=(A,B,π)和观测O,计算在模型λ下观测序列O出现的概率P(O|λ)。
1)直接计算法
2)向前算法
3)向后算法
(2) 学习问题。已知观测序列O,估计模型λ参数,使得在该模型下观测序列概率P(O|λ)最大。即用极大似然估计的方法估计模型的参数。
1)监督学习方法
2)Baum-Welch算法
(3) 预测问题。也称为解码问题。已知模型λ和观测序列O,求对给定观测序列条件概率P(I|O)最大的状态序列 I,即给定观测序列,求最有可能的对应的状态序列。
1)近似算法
2)维特比算法