注:本文中所有公式和思路来自于邹博先生的《机器学习升级版》,我只是为了加深记忆和理解写的本文。

前面介绍过了HHM模型结构和HMM基本问题中的概率计算问题,本文介绍HMM基本问题中的参数学习问题。

如果训练数据包括观测序列和状态序列,则HMM的学习非常简单,是监督学习,如果只有观测序列的话,那么HMM的学习是需要使用EM算法的,是非监督学习。

监督学习:


根据大数定理(频率的极限是概率),我们可以轻易的得出下边的这几个结论:

初始概率:

转移概率:

观测概率:

上边给出的上个结论可以直接从给定的数据中数出来,没有任何难度。



非监督学习:


我们回顾一下EM算法的框架吧:

所有的观测数据写成:O=(o1,o2...oT),所有隐数据写成:I=(i1,i2...iT),完全数据:(O,I)=(o1,o2..oT,i1,i2...iT),完全数据的对数似然函数是:lnP(O,I | λ)

假设λ~是HMM参数的当前估计值,λ是待估计的参数:

我们回顾一下EM的过程:首先需要一个预先给定的λ~参数,然后带入P(I | O, λ~),然后将P(I | O, λ~)带入Q(λ,λ~)中,对对数似然函数lnP(O,I | λ)求期望,找到能使似然函数期望最大的新的λ~,并将新的λ~再次带回P(I | O, λ~),不断重复这个过程。

我们在前一篇文章中提到过暴力求解,并得到了最终的求解公式:

Q()函数可以写成:

既然是要极大化Q,求得参数π、A、B

由于这三个参数分别在这三个项中,那么我们就可以分别极大化。

极大化初始概率:

因为πi满足加和为1,那么我们就可以利用拉格朗日乘子法:

接着对π求偏导:

接着我们可以对i求和:

最后将γ代回去得:

注意:这个γ不是超参数的γ,而是我们之前求过的这么个小东西:

极大化转移概率和观测概率:


使用拉格朗日乘子法:

同理可得:

这几个结果就是可以直接写代码的,学习问题解决了,就剩最后一个预测问题了,下一篇文章就会介绍Viterbi算法。

HMM之Baum-Welch算法相关推荐

  1. 隐马尔可夫模型(Baum Welch算法与Viterbi算法)

    1.Baum Welch算法就是EM算法,用于求解隐马尔可夫模型的Learing问题 2.隐马尔可夫模型的Decoding问题是指给定X与λ,求使得概率最大的隐状态序列 3.Decoding问题采取V ...

  2. HMM模型和Viterbi算法

    一.隐含马尔可夫模型(Hidden Markov Model) 1.简介 隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是 ...

  3. 一文读懂 HMM 模型和 Viterbi 算法

    隐含马尔可夫模型(Hidden Markov Model) 隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的 ...

  4. 从决策树学习谈到贝叶斯分类算法、EM、HMM - 结构之法 算法之道

    转载自:http://scm.zoomquiet.io/data/20121220000040/index.html 第一篇:从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learn ...

  5. HMM模型及相关算法

    HMM模型及相关算法 写在前面:本文主要参考了刘建平Pinard老师的博客,做了一定程度的归纳,其中也有一些自己的理解,包括图和公式,希望对大家学习有所帮助. 一.HMM定义和前置知识 1.条件独立的 ...

  6. 基于Hmm模型和Viterbi算法的中文分词和词性标注

    使用 python 实现基于Hmm模型和Viterbi算法的中文分词及词性标注:使用 最大概率算法 进行优化.最终效果:人民日报语料:分词(F1:96.189%):词性标注(F1:97.934%) 完 ...

  7. 隐马尔科夫模型(HMM)的无监督学习算法java实现(baum-welch迭代求解),包括串行以及并行实现

    HMM的原理就不说了,这里主要说算法的实现. 实际实现起来并不是很困难,前提是你仔细看过hmm的原理,然后很多实现就照着公式写出对应的代码,比如前向算法,后向算法,参数更新都是有明确的公式的,只需要对 ...

  8. MATLAB中MVDR谱估计式,基于Welch算法的功率谱估计的实现

    第 25 卷 第 3 期 2007 年 5 月 北京工商大学学报(自然科学版) Journal of Beijing Technology and Business University(Natura ...

  9. baum welch java_Baum-Welch算法(EM算法)对HMM模型的训练

    Baum-Welch算法就是EM算法,所以首先给出EM算法的Q函数 \[\sum_zP(Z|Y,\theta')\log P(Y,Z|\theta) \] 换成HMM里面的记号便于理解 \[Q(\la ...

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

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

最新文章

  1. lvs+keepalived 集群
  2. matlab中ismember_ismember matlab
  3. Spark SQL(八)之基于物品的相似度公式
  4. java手机音乐文件夹,从原始文件夹打开音乐文件,使用Android上的意图在设备的默认应用程序上播放...
  5. 视讯稳定对接出现的问题
  6. 手动创建一个标准web工程
  7. C++/CX:类的继承
  8. cisco 模拟器安装及交换机的基本配置实验心得_看完这份1113页的TCP/IP协议+路由与交换机,成功上岸字节跳动...
  9. 《Excel 职场手册:260招菜鸟变达人》一第 37 招 用条件格式制作项目进度图
  10. 为什么每个人都有发旋?
  11. php日期转时间戳,指定日期转换成时间戳
  12. App性能测试以及测试方法技巧
  13. html5对浏览器支持的情况及开发工具
  14. python gdal迭代写为ENVI的dat格式
  15. 软件工程笔记四__实体联系图(ER图)
  16. 9.25+9.27 联考
  17. js小学生图区_多种方式实现js图片预览
  18. 在线加密解密网站大全2022(更新中ing)
  19. 空气颗粒度PM2.5的检测设计与实现
  20. 数据结构系列二---[一周leetcode刷题记录]

热门文章

  1. 技术实现-客户端开发
  2. 推荐小微企业做宣传视频或产品视频时用酷播云,免费,无广告
  3. 【Spring心得】xmlns=“http://www.spring 和 xmlns:beans=“http://www.spring 差之毫厘谬以千里
  4. 2023最新Z-Blog仿小刀资源网主题模板CMS源码+UI大气美观
  5. 欢聚时代java开发工程师校招面经(已完结)
  6. java和c语言语法上相同,C语言与Java的异同
  7. 无线路由器WDS设置方法图解_无线桥接设置
  8. 【毅力挑战】PCIe 每日一问一答(2022.04 归档)
  9. Kubernetes服务目录的设计
  10. ssm + maven 上传文件(图片)