zoukankan      html  css  js  c++  java
  • 隐马尔可夫(HMM)模型

    隐马尔可夫(HMM)模型

      隐马尔可夫模型,是一种概率图模型,一种著名的有向图模型,一种判别式模型。主要用于时许数据建模,在语音识别、自然语言处理等领域广泛应用。

      概率图模型分为两类,一类:使用有向无环图表示变量间的依赖关系,称为有向图模型或者贝叶斯网;第二类:使用无向图表示变量间的依赖关系,称为无向图模型或者马尔可夫网。

      判别式模型:考虑条件分布P(Y, R | O),生成式模型:考虑联合分布P(Y, R, O)

    HMM三个假设

    • 当前观测值只由当前隐藏状态决定
    • 当前隐藏状态由前一个隐藏状态决定
    • 隐藏状态之间转移概率不随时间改变

    随机过程中某一时刻的状态st的概率分布为:

    p(st|st-1,st-2,...,s0)=p(st|st-1)

    即:t 时刻的状态仅依赖于 t-1 时刻的状态,与其余状态无关,这就是所谓的“马尔可夫链”

    在马尔可夫链中,每一圆圈代表相应时刻的状态,有向边代表可能的状态转移,权重表示状态转移的概率

    HMM模型结构图

    HMM模型五元组

    HMM模型可以用五元组(O, S, A, B, π)表示。其中

    • O: {o0, o1, ..., on} 表示观测系列,是系统的外在可观测变量。
    • S: {s0, s1, ..., sn} 表示隐状态序列,是导致系统外在表现变化的内因。
    • A: {aij = p(s| si)} 表示状态转移概率。
    • B: {bij = p(o| si)} 表示输出概率,又称发射概率
    • π: {π0, π1, ..., πm} 表示初始状态概率。

    HMM三类问题

    根据以上HMM模型五元组表示,我们可以归纳出HMM模型解决的三类主要问题。

    一、评估问题

    已知:状态转移矩阵 A, 初始状态概率 π,输出矩阵 B,观测序列

    求:求该观测序列的可能性

    解决算法:向前(forward)算法或者向后(backward)算法

    二、解码问题

    已知:状态转移矩阵A,初始状态概率 π,输出矩阵B,观测序列

    求:最有可能产生该观测序列的隐藏状态序列

    解决算法:维特比(Viterbi)算法,一种动态规划算法

    三、学习问题

    已知:很多观测序列

    求:估计HMM模型参数的可能取值 

    解决算法:鲍姆韦尔奇(Baum-Welch)算法

  • 相关阅读:
    CF666E. Forensic Examination
    bzoj1396 识别子串
    bzoj2839 集合计数
    unknown
    Hibernate中一级缓存和二级缓存
    亲, 我们来再重申一遍"=="和"equals的区别
    BigDecimal类
    序列化详解
    利用简单的参数传递来实现单条查询的easyui-datagrid
    Oracl 动态执行表不可访问,本会话的自动统计被禁止
  • 原文地址:https://www.cnblogs.com/reaptomorrow-flydream/p/9688730.html
Copyright © 2011-2022 走看看