zoukankan      html  css  js  c++  java
  • 隐马尔可夫模型(二)——隐马尔可夫模型的构成(转载)

    在马尔可夫模型中,每一个状态都是可观察的序列,是状态关于时间的随机过程,也成为可视马尔可夫模型(Visible Markov Model,VMM)。隐马尔科夫模型(Hidden Markov Model,HMM)中的状态是不可见的,我们可以看到的是状态表现出来的观察值和状态的概率函数。在隐马模型中,观察值是关于状态的随机过程,而状态是关于时间的随机过程,因此隐马模型是一个双重随机过程。

        当考虑潜在事件随机生成表面事件时,可以用HMM解决。

         举个例子,说明隐马模型:

         有4个暗箱,放在暗处,每个箱子里有3种不用颜色的球(红、橙、蓝),从箱子往外拿球是有一定规律的,现在工作人员从暗处的箱子中取球,去了5次,我们看到额观察序列是:红蓝蓝橙红。这个过程就是一个隐马模型。暗处的箱子表示状态,箱子的个数表示状态的个数,球的颜色表示状态的输出值,球的颜色个数表示状态输出观察状态的个数,从一个箱子转换成另一个箱子表示状态转换,从暗处箱子中取出的球的观察颜色表示状态的输出序列。

          因此可以归纳隐马模型的5个组成状态:

          (1)模型中的状态个数N(例子中的箱子个数);

          (2)每个状态的可以输出的不同观测值M(例子中的球的颜色数目);

          (3)状态转移矩阵A= {aij}(例子中aij表示从第i个箱子转移到第j个箱子的概率),其中aij满足条件:

                I.  aij≥0, 1≤i,j≤N

                II. aij= P(qt=sj|qt-1=si),  

                III.   =1

            (4)发射矩阵B={bj(k)},即从状态sj观察到符号vk的概率分布矩阵.(bj(k)在例子中表示从的j个箱子中拿出第k个颜色的概率),其中bj(k)满足条件:

                I.  bj(k)≥0, 1≤j≤N; 1≤k≤M

                II. bj(k)= P(Ot=vk|qt=sj), 

                III. =1

             (5)初始状态概率分布π = {πj}.(例子中一开始到第j个箱子的概率),其中πj满足条件:

                I.  πj(k)≥0, 1≤j≤N

                II. πj= P(q1=sj),

                III. =1

               一般,一个HMM即为五元组μ={N,M,A,B,π},为了简便,常简记为三元组μ={A,B,π}。

              HMM有三个基本问题:

             (1)评估问题:给定一个观察序列O=O1O2...OT和模型μ={A,B,π},如何快速地计算给定模型μ的条件下,观察序列O=O1O2...OT的概率,即P(O|μ)?

             (2)解码问题:给定一个观察序列O=O1O2...OT和模型μ={A,B,π},如何快速地选择在给定模型μ的条件下在一定意义下”最优“的状态序列Q=Q1Q2...QT,是该状态序列”最好地"解释观察序列?

             (3)学习问题:给定一个观察序列O=O1O2...OT,如何调整参数μ={A,B,π},使得P(O|M)最大?

              针对HMM的三个基本问题,相应的算法是:

             (1)评估问题:前向后向算法

             (2)解码问题:维特比算法(Viterbi)

             (3)学习问题:前向后向算法(BAUM-WELCH)。

  • 相关阅读:
    eureka流程图
    Feign和Ribbon的重试机制
    idea编译kafka 2.6 源码
    Feign的调用流程
    FeignClientFactoryBean创建动态代理
    Feign源码的入口
    Ribbon的检查服务
    Ribbon是怎么和Eureka整合的?
    Eureka过期
    backup: sqlHelper --cSharp
  • 原文地址:https://www.cnblogs.com/jason-wyf/p/6219103.html
Copyright © 2011-2022 走看看