zoukankan      html  css  js  c++  java
  • HMM学习笔记_2(从一个实例中学习HMM前向算法)

         HMM算法想必大家已经听说了好多次了,完全看公式一头雾水。但是HMM的基本理论其实很简单。因为HMM是马尔科夫链中的一种,只是它的状态不能直接被观察到,但是可以通过观察向量间接的反映出来,即每一个观察向量由一个具有相应概率密度分布的状态序列产生,又由于每一个状态也是随机分布的,所以HMM是一个双重随机过程。

         HMM是语音识别,人体行为识别,文字识别等领域应用非常广泛。

         一个HMM模型可以用5个元素来描述,包过2个状态集合和3个概率矩阵。其分别为

         隐含状态S,可观测状态O,初始状态概率矩阵π,隐含状态概率转移矩阵A,观测状态转移概率矩阵 B。

         HMM在实际应用中主要用来解决3类问题。

         1. 评估问题。

       即给定观测序列 O=O1O2O3…Ot和模型参数λ=(A,B,π),怎样有效计算这一观测序列出现的概率

         2. 解码问题。

       即给定观测序列 O=O1O2O3…Ot和模型参数λ=(A,B,π),怎样寻找满足这种观察序列意义上最优的隐含状态序列S。

         3. 学习问题。

         即HMM的模型参数λ=(A,B,π)未知,如何求出这3个参数以使观测序列O=O1O2O3…Ot的概率尽可能的大。

         这篇文章是针对第一个问题来说的,一般采用的是前向后向算法来解决评估问题。这里将的是前向算法。

         在此之前,先引入几个符号:

         at(i) :  表示到第t个观察值Ot时处于状态i。

         : 表示在状态i下产生观察值 的概率。

         现在来看一下前向算法的理论来源。

         因为我们要解决的是模型估计问题。即计算概率 。将其利用如下公式化简:

       

         因此首先要先计算

       ,其中Q为一给定的状态序列 。又有

      

         其中

      

         所以

      

         因此最后求得

      

         由此可以看见其计算复杂度非常大,为

        为了解决这个问题,前向算法就出现了。首先定义了一个前向变量 。表示从1到t,输出符号o序列,t时刻处于状态i的累计输出概率。

         因为前向变量有如下性质:

         初值:

        ,且

        ,最后有递推关系:

       

         为什么这样就可以简化计算复杂度呢?其原因很简单,因为每一次的at(i),我们都可以用at-1(i)来计算,就不用重复计算了。如下示意图可以帮助我们形象的理解:

     

       

         看了这么多公式,是不是头晕了?不急,下面看一个实例就会完全明白的。

         题目:HMM模型如下,试通过前向算法计算产生观察符号序列O={ABAB}时每个时刻的 和总概率。

         当然初始概率矩阵π=(1,0,0),即开始处于状态1。按照上面的公式理论,我们的递推依次解出at(i)。解法如下:

         t=1时:

      

         t=2时:

      

         t=3时:

     

         t=4时:

     

         所以有最后的结果:

       

         最后将其计算过程示意图表示如下:

      

     

  • 相关阅读:
    Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF buffer without waiting for fsync to complete, this may slow down Redis.
    DHCP "No subnet declaration for xxx (no IPv4 addresses)" 报错
    Centos安装前端开发常用软件
    kubernetes学习笔记之十:RBAC(二)
    k8s学习笔记之StorageClass+NFS
    k8s学习笔记之ConfigMap和Secret
    k8s笔记之chartmuseum搭建
    K8S集群集成harbor(1.9.3)服务并配置HTTPS
    Docker镜像仓库Harbor1.7.0搭建及配置
    Nginx自建SSL证书部署HTTPS网站
  • 原文地址:https://www.cnblogs.com/tornadomeet/p/2415583.html
Copyright © 2011-2022 走看看