HMM之Baum-Welch算法
注:本文中所有公式和思路来自于邹博先生的《机器学习升级版》,我只是为了加深记忆和理解写的本文。
前面介绍过了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算法相关推荐
- 隐马尔可夫模型(Baum Welch算法与Viterbi算法)
1.Baum Welch算法就是EM算法,用于求解隐马尔可夫模型的Learing问题 2.隐马尔可夫模型的Decoding问题是指给定X与λ,求使得概率最大的隐状态序列 3.Decoding问题采取V ...
- HMM模型和Viterbi算法
一.隐含马尔可夫模型(Hidden Markov Model) 1.简介 隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是 ...
- 一文读懂 HMM 模型和 Viterbi 算法
隐含马尔可夫模型(Hidden Markov Model) 隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM - 结构之法 算法之道
转载自:http://scm.zoomquiet.io/data/20121220000040/index.html 第一篇:从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learn ...
- HMM模型及相关算法
HMM模型及相关算法 写在前面:本文主要参考了刘建平Pinard老师的博客,做了一定程度的归纳,其中也有一些自己的理解,包括图和公式,希望对大家学习有所帮助. 一.HMM定义和前置知识 1.条件独立的 ...
- 基于Hmm模型和Viterbi算法的中文分词和词性标注
使用 python 实现基于Hmm模型和Viterbi算法的中文分词及词性标注:使用 最大概率算法 进行优化.最终效果:人民日报语料:分词(F1:96.189%):词性标注(F1:97.934%) 完 ...
- 隐马尔科夫模型(HMM)的无监督学习算法java实现(baum-welch迭代求解),包括串行以及并行实现
HMM的原理就不说了,这里主要说算法的实现. 实际实现起来并不是很困难,前提是你仔细看过hmm的原理,然后很多实现就照着公式写出对应的代码,比如前向算法,后向算法,参数更新都是有明确的公式的,只需要对 ...
- MATLAB中MVDR谱估计式,基于Welch算法的功率谱估计的实现
第 25 卷 第 3 期 2007 年 5 月 北京工商大学学报(自然科学版) Journal of Beijing Technology and Business University(Natura ...
- 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 ...
- baum welch java_HMM的Baum-Welch算法和Viterbi算法公式推导细节(转载)
前言 在上一篇博文中,我简单地介绍了隐马尔科夫模型HMM,并且重点介绍了HMM的三个问题中的第一个,即概率计算问题.首先回顾一下这三个问题都是什么以及解决每个问题的主流算法: 概率计算问题即模型评价问 ...
最新文章
- lvs+keepalived 集群
- matlab中ismember_ismember matlab
- Spark SQL(八)之基于物品的相似度公式
- java手机音乐文件夹,从原始文件夹打开音乐文件,使用Android上的意图在设备的默认应用程序上播放...
- 视讯稳定对接出现的问题
- 手动创建一个标准web工程
- C++/CX:类的继承
- cisco 模拟器安装及交换机的基本配置实验心得_看完这份1113页的TCP/IP协议+路由与交换机,成功上岸字节跳动...
- 《Excel 职场手册:260招菜鸟变达人》一第 37 招 用条件格式制作项目进度图
- 为什么每个人都有发旋?
- php日期转时间戳,指定日期转换成时间戳
- App性能测试以及测试方法技巧
- html5对浏览器支持的情况及开发工具
- python gdal迭代写为ENVI的dat格式
- 软件工程笔记四__实体联系图(ER图)
- 9.25+9.27 联考
- js小学生图区_多种方式实现js图片预览
- 在线加密解密网站大全2022(更新中ing)
- 空气颗粒度PM2.5的检测设计与实现
- 数据结构系列二---[一周leetcode刷题记录]
热门文章
- 技术实现-客户端开发
- 推荐小微企业做宣传视频或产品视频时用酷播云,免费,无广告
- 【Spring心得】xmlns=“http://www.spring 和 xmlns:beans=“http://www.spring 差之毫厘谬以千里
- 2023最新Z-Blog仿小刀资源网主题模板CMS源码+UI大气美观
- 欢聚时代java开发工程师校招面经(已完结)
- java和c语言语法上相同,C语言与Java的异同
- 无线路由器WDS设置方法图解_无线桥接设置
- 【毅力挑战】PCIe 每日一问一答(2022.04 归档)
- Kubernetes服务目录的设计
- ssm + maven 上传文件(图片)