前言

在上一篇博文中,我简单地介绍了隐马尔科夫模型HMM,并且重点介绍了HMM的三个问题中的第一个,即概率计算问题。首先回顾一下这三个问题都是什么以及解决每个问题的主流算法:

概率计算问题即模型评价问题——前向算法和后向算法

学习问题即参数估计问题——Baum-Welch算法

预测问题即解码问题——Viterbi算法

在上一篇概率计算问题的最后,我列出了几个用前向概率和后向概率表示的一些有意义的概率值和期望的计算,它们的直接意义就是用于表示学习问题和预测问题公式推导中复杂的中间结果的表示。所以,要想彻底搞懂Baum-Welch算法和Viterbi算法算法,就必须清楚地明白这些概率和期望到底是怎么计算出来的。

然而,本博文并不打算将这两个算法全部的公式推导写下来,那太繁杂了。如果想窥探这两个算法的细节,直接看李航博士的《统计学习方法》对应的内容就好了。本文只是将这两个算法推导中的一些隐晦的地方做一个通俗的解释,希望能给像我一样数学功底一般的朋友带来帮助。

Baum-Welch算法

Baum-Welch算法是为了解决HMM的参数估计问题而提出的,而且是没有标注也就是HMM的状态序列未知的参数估计问题。具体来说,就是已知观测序列O=(o1,o2,...,oT),估计模型参数λ=(A,B,π),使得在该模型下观测序列概率P(O|λ)最大。由于状态序列未知,因此这可以看做是一个含有隐变量的参数估计问题,解决这一问题的经典算法就是EM算法。Baum-Welch算法就是EM算法在隐马尔科夫模型学习中的具体体现。下面简单叙述一下该算法。

首先按照EM算法,我们需要先写出Q函数。Q函数是完全数据的对数似然函数关于给定模型参数和观测变量的前提下对隐变量的条件概率分布的期望。如下&#

baum welch java_HMM的Baum-Welch算法和Viterbi算法公式推导细节(转载)相关推荐

  1. BF算法和KMP算法

    给定两个字符串S和T,在主串S中查找子串T的过程称为串匹配(string matching,也称模式匹配),T称为模式.这里将介绍处理串匹配问题的两种算法,BF算法和KMP算法. BF算法 (暴力匹配 ...

  2. Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)

    Algorithm:C++语言实现之字符串相关算法(字符串的循环左移.字符串的全排列.带有同个字符的全排列.串匹配问题的BF算法和KMP算法) 目录 一.字符串的算法 1.字符串的循环左移 2.字符串 ...

  3. 操作系统之存储管理——FIFO算法和LRU算法

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

  4. 若S作主串,P作模式串,试分别写出利用BF算法和KMP算法的匹配过程。

    目   录 题目: 百度文库-答案: (1) (2) MOOC标准答案: (1) (2) mooc答案-截图: 数据结构(C语言版)-严蔚敏2007 题目: 设字符串S='aabaabaabaac', ...

  5. Prim算法和Kruskal算法

       Prim算法和Kruskal算法都能从连通图找出最小生成树.区别在于Prim算法是以某个顶点出发挨个找,而Kruskal是先排序边,每次选出最短距离的边再找. 一.Prim(普里姆算法)算法: ...

  6. 基于Huffman算法和LZ77算法的文件压缩的改进方向

    基于Huffman算法和LZ77算法的文件压缩(八) 到这里已经简单实现基于Huffman算法和LZ77算法的文件压缩, GitHub源码:点我 根据基于Huffman算法和LZ77算法的文件压缩(七 ...

  7. 最短路径Dijkstra算法和Floyd算法整理、

    转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径-Dijkstra算法和Floyd算法 Dijks ...

  8. 用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-l ...

  9. 游戏中DDA算法和Bresenham算法的应用

    在角色扮演或即时战略游戏中,经常会将角色以最佳的方式走到指定地点.游戏场景的地面情况复杂,而且场面大,若采用盲目式搜索,例如盲目穷举法,则几乎要遍历整个场景,效率非常低,造成角色反应速度过慢,实践证明 ...

最新文章

  1. seal report mysql_Seal Report开放数据库报表工具(.Net)
  2. OpenAI开放GPT-3微调功能,一行命令就能实现!正确率最高提升4倍
  3. android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形scale动画...
  4. 如何在发文一小时后预测出公众号的阅读量?
  5. MaxCompute(ODPS)上处理非结构化数据的Best Practice
  6. 日本原装进口雪平锅,煎炸炒煮全搞定,日本人用了 1000 年
  7. 【1】生产者-消费者模型的三种实现方式
  8. python玩转android_如何用python玩跳一跳 ?(安卓版)
  9. Java基础篇(05):函数式编程概念和应用
  10. 依赖项出现感叹号怎么办_「电脑常用技巧」不喜欢看到的黄色感叹号
  11. 安装php扩展后,执行时找不到扩展 class xxx no found
  12. SPSS常用方法及操作
  13. 教你恢复电脑被删的照片或视频,方法实用可收藏
  14. BT种子 kitty
  15. unity3D 没有影子
  16. 034 Rust死灵书之为Vec实现Drain
  17. 中国咖啡机市场运行现状调研及投资战略分析报告2022-2027年
  18. Build input file cannot be found:
  19. 打印机用计算机名慢,“电脑连上打印机就超级慢”的解决方案
  20. live2d_碧蓝航线:老婆们在外服都长啥样?她惊艳四座,Live2D独此一家

热门文章

  1. Anaconda Prompt及pip使用技巧
  2. 开启Scrapy爬虫之路
  3. aps高级排产软件,我看行
  4. P4343 自动刷题机题解(二分)
  5. 实用教程:如何在Word与EXCEL(WPS)中加入斜表头并加入文字详细教程
  6. 金额输入框输入数字不允许输入中文、英文、自带千分位
  7. AdMob 可以为你带来多少广告变现收入?
  8. 美国队里约闹剧 是南海行为的翻版 (zz)
  9. Google搜索引擎从入门到精通
  10. 公安计算机应用知识,公安计算机应用基础