隐马尔科夫模型学习笔记

荒凉一梦 提交于 2019-12-06 14:16:15

隐马尔科夫模型

Viviterbi算法

 

马尔科夫性质

马尔科夫链

马尔科夫链案例

HMM

HMM(Hidden Markov Model)隐马尔科夫模型是一种统计模型,在语音识别、行为识别、NLP、故障诊断等领域具有高效的性能。

HMM是关于时序概率模型,描述一个含有未知参数的马尔科夫链所生成的不可观测的状态序列,再由各个状态生成观测随机序列的过程。HMM是一个双重随机过程--具有一定状态的隐马尔科夫链和随机的观测序列。

HMM随机生成的状态随机序列被称为状态序列;每一个状态生成的一个观测,由此产生的观察随机序列,被称为观测序列。

HMM由隐含状态S、可观测状态O、初始状态概率矩阵π、隐含状态转移概率矩阵A、可观测值转移矩阵B(又称为混淆矩阵,Confusion Matrix);

π和A决定了状态序列,B决定了观测序列,因此HMM可以使用三元符号表示,称为HMM的三元素:

 

 

HMM的两个性质

HMM案例

 

HMM的三个问题

  • 概率计算的问题:前向-后向算法
    • 给定模型λ=(A,B,π)和观测序列Q={q1,q2,...,qT},计算模型λ下观测到序列Q出现的概率P(Q|λ)
  • 学习问题:Baum-Welch(状态未知)
    • 已知观测序列Q={q1,q2,...,qT},估计模型λ=(A,B,π)的参数,使得在该模型下观测序列P(Q|λ)最大。
  • 预测问题:Viterbi算法
    • 给定模型λ=(A,B,π)和观测序列Q={q1,q2,...,qT},求给定观测序列条件概率P(I|Q,λ)最大的状态序列I
  1. 概率计算问题

      直接计算法

             暴力算法

      前向算法

      后向算法

  • 直接计算法

 

  • 前向概率-后向概率
  • 前向算法

 

单个状态的概率

 

 

两个状态的联合

学习问题

若训练数据包含观测序列和状态序列,则HMM的学习问题就非常简单,是监督学习算法。

若训练数据指包含观测序列,则HMM的学习问题需要使用EM算法求解,是非监督学习算法。

学习问题_监督学习

直接使用大数定理的结论"频率的极限是概率",直接给出HMM的参数估计:

学习问题_非监督学习

Baum-Welch算法

预测问题

  • 近似算法
  • Viterbi算法

近似算法

HMM案例-Viterbi

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!