机器学习笔记(十三)——隐马尔科夫模型

一、隐马尔科夫模型

    在马尔科夫模型中,每一个状态代表了一个可以观察的事件,所以,马尔科夫模型有时称为可视马尔科夫模型(visible Markov model,VMM),这在某种程度上限制了模型的适应性。在隐马尔科夫模型(HMM)中,我们不知道模型所经过的状态序列,而只知道状态的概率函数,也就是说观察到的事件是状态的随机函数,此模型是一个双重的随机过程。其中,模型的状态转换过程是隐蔽的,可观察事件的随机过程是隐蔽的状态转换过程的随机函数。

二、隐马尔科夫模型的基本原理

    下图是一个隐马尔科夫模型的示意图,用此图来说明HMM的原理。假设一个暗室中有 N 个口袋,每个口袋中有 M 种不同颜色的球。一个实验员根据某一概率分布随机选取一个初始的口袋,从中根据不同颜色球的概率分布,随机选取出一个球,并向室外的人报告该球的颜色。然后再根据口袋的概率分布选择另一个口袋,根据不同颜色球的概率分布随机选择一个球,重复进行这个过程。对于室外的观察人员来说,他只能观察到不同颜色球的序列,口袋的序列不可观察。在这个过程中,口袋对应HMM中的状态,球的颜色对应HMM中状态的输出,从一个口袋到另一个口袋对应于状态的转换,从口袋中取出球的颜色对应于从一个状态输出的观察符号。
机器学习笔记(十三)——隐马尔科夫模型_第1张图片

2.1 HMM的组成部分

  1. 模型中状态的数目 N (口袋的数目)
  2. 从每个状态可能输出的不同符号的数目 M (球的不同颜色的数目)
  3. 状态转移概率矩阵 A={aij} ,其中
    aij=P(qt=sj|qt1,si),1i,jNaij0j=1Naij=1
  4. 从状态 Sj 观察到符号 vk 的概率分布 B={bj(k)} ,其中
    bj(k)=P(Ot=vk|qt=sj),1jN,1kMbj(k)0k=1Mbj(k)=1

    观察符号的概率又称为发射概率。
  5. 初始状态的概率分布 π={πi} ,其中
    πi=P(q1=si),1iNπi0i=1Nπi=1

    一般地,一个HMM记为一个五元组 μ=(S,K,A,B,π) ,其中, S 为状态集合, K 为输出符号的集合, A 为状态转移矩阵, B 为符号的发射概率, π 为初始状态的概率分布。有时也记为 μ=(A,B,π)

2.2 观察序列的生成

    当考虑潜在事件随机地生成表面事件时,HMM非常有用。假设给定模型 μ=(A,B,π) ,那么观察序列 O=O1O2OT 可由下面的步骤产生:
1. 根据初始的状态概率分布 πi 选择一个初始的状态 q1=si
2. 设t=1
3. 根据状态 si 的输出概率分布 bi(k) 输出O_t=v_k
4. 根据状态转移概率分布 aij ,将当前 t 时刻的状态转移到新的状态 qt+1=sj
5. t=t+1 , 如果 t<T ,重复执行步骤3,4.否则,算法结束。

你可能感兴趣的:(机器学习,自然语言处理)