统计学习方法-隐马尔可夫模型(HMM)-读书笔记
1、前言
隐马尔科夫模型(hidden Markov model,HMM)是用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。隐马尔科夫模型在语音识别、自然语言处理、生物信息、模式识别等领域都有着广泛的应用。
2、隐马尔可夫模型
2.1隐马尔科夫模型的定义
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测从而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的转台序列称为状态序列(state sequence);每个状态生成一个观测,由此产生观测的随机序列,称为观测序列。
隐马尔可夫模型由初始概率向量 π \pi π,状态转移概率矩阵A和观测概率矩阵B决定。 π \pi π和A决定状态序列,B决定观测序列。HMM模型 λ \lambda λ可以用三元符号表示即 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π),三者称为HMM模型的三要素。
设Q是所有可能的状态的集合,V是所有可能的观测的集合,观测状态v可见,状态q不可见。I是长度为T的状态序列,O是对应的观测序列
1、定义状态转移概率矩阵A如下:
A = [ a i j ] N ∗ N A=[a_{ij}]_{N*N} A=[aij]N∗N
其中 a i j = P ( i t + 1 = q j ∣ i t = q i ) a_{ij}=P(i_{t+1}=q_j|i_t=q_i) aij=P(it+1=qj∣it=qi),是在时刻t处于状态qi的条件下在时刻t+1转移到状态qj的概率。
2、观测概率矩阵B定义如下
B = [ b j ( k ) ] N ∗ M B=[b_j(k)]_{N*M} B=[bj(k)]N∗M
其中, b j ( k ) = P ( o t = v k ∣ i t = q j ) b_j(k)=P(o_t=v_k|i_t=q_j) bj(k)=P(ot=vk∣it=qj),是在时刻t处于状态qj的条件下生成观测vk的概率。
3、 π \pi π是初始概率向量。
2.2 HMM的两个假设
1、齐次马尔可夫性假设。即隐藏的马尔可夫链在任意时刻t的状态只与前一时刻的状态有关,与其他时刻的状态及观测无关,也与时刻t无关。
2、观测独立性假设。即任意时刻的观测只和该时刻的马尔可夫链的状态有关,与其他观测及状态无关。
3、HMM的三个基本问题
3.1概率计算问题
给定模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测序列O,计算在模型 λ \lambda λ下观测序列O出现的概率 P ( o ∣ λ ) P(o|\lambda) P(o∣λ)
3.11直接计算法
列举所有长度为T的状态序列I,然后求出I与观测序列O的联合概率,最后再对所有可能的状态序列求和。
P ( O , I ∣ λ ) = ∑ I P ( O ∣ I , λ ) P ( I ∣ λ ) P(O,I|\lambda)=\sum_{I}{P(O|I,\lambda)}P(I|\lambda) P(O,I∣λ)=I∑P(O∣I,λ)P(I∣λ)
总体时间复杂度是** O ( T N T