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

来源:互联网 发布:es海量数据分析 编辑:程序博客网 时间:2024/06/06 13:16

一、隐马尔科夫模型

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

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

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

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.否则,算法结束。

0 0
原创粉丝点击