隐马尔可夫模型是可用于标注问题的统计学习模型,是关于时序的概率模型,是一种生成模型。描述由隐藏的马尔可夫链随机生成观测序列的过程,具体来说,由一个隐藏的马尔可夫链随机生成不可预测的状态随机序列,再由各个状态生成一个观测而产生观测序列的过程。
隐马尔可夫模型
隐马尔科夫三要素:初始状态概率向量$\pi$,状态转移概率矩阵$A$,观测概率矩阵$B$。因此模型写为:
$$\lambda=(A,B,\pi)$$
初始状态概率向量:在时刻$t=1$处于状态$q_i$的概率向量。N代表状态集合的长度。
$$\pi_i=P(i_i=q_i),i=1,2,…,N$$
状态转移概率矩阵:在时刻$t$处于状态$q_i$的条件下时刻$t+1$处于状态$q_j$的概率矩阵。
$$A=[a_{ij}]_{N \times N}$$
观测概率矩阵:在时刻$t$处于状态$q_j$的条件下生成观测$v_k$的概率矩阵。M代表观测集合的长度。
$$B=[b_j(k)]_{N \times M}$$
- $A,\pi$ 确定了隐藏的马尔可夫链,生成不可观测的状态序列。
- $B$ 和状态序列确定了观测序列。
隐马尔可夫模型的两个基本假设:
- 齐次马尔可夫性假设:任意时刻的状态只依赖于前一时刻的状态;
- 观测独立性假设:任意时刻的观测只依赖于这一时刻的状态。
应用:隐马尔可夫模型可以用于标注,这时状态对应于标记。标注问题是给定观测的序列预测其对应的标记序列。
三个基本问题
概率计算问题: 给定模型和观测序列,计算在模型下观测序列出现的概率。前向-后向算法是通过递推地计算前向-后向概率可以高效地进行隐马尔可夫模型的概率计算。
学习问题:已知观测序列,估计模型参数,使得在该模型下观测序列概率最大,即用极大似然估计的方法估计参数。Baum-Welch算法(EM算法)可以高效地进行参数估计,是非监督方法。其次还有监督方法。
预测问题:已知模型和观测序列,求出给定观测序列条件概率最大的状态序列。维比特算法应用动态规划高效地求解最优路径,即概率最大的状态序列。其次还有近似估计方法。