Baum-Welch算法(EM算法)对HMM模型的训练
Baum-Welch算法就是EM算法,所以首先给出EM算法的Q函数
\[\sum_zP(Z|Y,\theta')\log P(Y,Z|\theta)\]
换成HMM里面的记号便于理解
\[Q(\lambda,\lambda') = \sum_zP(I|O,\lambda')\log P(I,O|\lambda)\]
根据状态序列和观测序列的联合分布
\[\begin{align*}
P(O,I|\lambda) &= \sum_IP(O|I,\lambda)P(I|\lambda)\\
&= \pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)\dots a_{i_{T-1}i_T}b_{i_T}(o_T)\\
\end{align*}\]
代入上式后得
\[\begin{align*}
Q(\lambda, \lambda') &= \sum_IP(I|O,\lambda')\log\pi_{i_1}\\ &+ \sum_IP(I|O,\lambda')\log\sum_{t=1}^Tb_{i_t}(o_t) \\ &+ \sum_IP(I|O,\lambda')\log\sum_{t=2}^Ta_{i_{t-1}i_T}
\end{align*}\]
这便是E步,下面看看M步.
看Q函数得第一步, 由于带有约束
\[\sum_i^N\pi_i = 1\]
这个时候就需要请出拉格朗日乘子了
\[\begin{align*}
L &= \sum_IP(I|O,\lambda')\log\pi_1 + \gamma(\sum_{i=1}^N\pi_i -1)\\
&= \sum_{i=1}^NP(O,i_1=i|\lambda')\log\pi_i + \gamma(\sum_{i=1}^N\pi_i -1)\\
\end{align*}\]
令\(\dfrac{\partial L}{\partial\pi_i} = 0\)得到
\[\begin{align*}
P(O, i_1 = i|\lambda') + \gamma \pi_i &= 0\\
P(O, i_1 = i|\lambda') &= -\gamma \pi_i\\
\sum_{i=1}^NP(O, i_1 = i|\lambda') &= -\gamma \sum_{i=1}^N\pi_i\\
\gamma &= -P(O|\lambda')
\end{align*}\]
回代,得到
\[\pi_i = \dfrac{P(O, i_1=i|\lambda')}{P(O|\lambda')}\]
其他得参数同样可以得到
Baum-Welch算法(EM算法)对HMM模型的训练的更多相关文章
- 简单易学的机器学习算法——EM算法
简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系 ...
- 详解十大经典机器学习算法——EM算法
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第14篇文章,我们来聊聊大名鼎鼎的EM算法. EM算法的英文全称是Expectation-maximization al ...
- NLP —— 图模型(零):EM算法简述及简单示例(三硬币模型)
最近接触了pLSA模型,该模型需要使用期望最大化(Expectation Maximization)算法求解. 本文简述了以下内容: 为什么需要EM算法 EM算法的推导与流程 EM算法的收敛性定理 使 ...
- 极大似然估计、贝叶斯估计、EM算法
参考文献:http://blog.csdn.net/zouxy09/article/details/8537620 极大似然估计 已知样本满足某种概率分布,但是其中具体的参数不清楚,极大似然估计估计就 ...
- EM算法原理以及高斯混合模型实践
EM算法有很多的应用: 最广泛的就是GMM混合高斯模型.聚类.HMM等等. The EM Algorithm 高斯混合模型(Mixtures of Gaussians)和EM算法 EM算法 求最大似然 ...
- EM算法(3):EM算法运用
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(3):EM算法运用 1. 内容 EM算法全称为 Exp ...
- EM算法(2):GMM训练算法
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(2):GMM训练算法 1. 简介 GMM模型全称为Ga ...
- 高斯混合模型参数估计的EM算法
# coding:utf-8 import numpy as np def qq(y,alpha,mu,sigma,K,gama):#计算Q函数 gsum=[] n=len(y) for k in r ...
- 机器学习(七)EM算法、GMM
一.GMM算法 EM算法实在是难以介绍清楚,因此我们用EM算法的一个特例GMM算法作为引入. 1.GMM算法问题描述 GMM模型称为混合高斯分布,顾名思义,它是由几组分别符合不同参数的高斯分布的数据混 ...
随机推荐
- SQL Server 父子迭代查询语句
-- 根据父ID得到所有子ID -- Get childs by parent idWITH TreeAS( SELECT Id,ParentId FROM dbo.Node P WHERE P.Id ...
- 日常-acm-三位数反转
输入一个三位数,分理出它的百位,十位和个位,反转后输出. 样例输入: 127 样例输出: 721 tips:注意最后一位为0的情况,如360,输出063 #include <iostream&g ...
- 用GWT开发的HelloGWT程序
GWT项目可以通过 命令行和Eclipse插件两种方法创建.创建GWT项目的命令是webAppCreator,具体使用方法可以看GWT的开发文档. Eclipse插件安装完成后,Eclipse的工具条 ...
- 2015 ACM/ICPC Asia Regional Changchun Online Pro 1008 Elven Postman (BIT,dfs)
Elven Postman Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- 【转】学习apicloud和IOS之间的模块化使用
最近公司有使用APICloud发开的需求,需要我这边提供一些模块包得封装.因为没有也是刚接触APICloud,所以也就在看官方文档 .下面讲一讲我再使用过程中得一点点东西. 首先,下载官方SDK,下载 ...
- js中异步方案比较完整版(callback,promise,generator,async)
JS 异步已经告一段落了,这里来一波小总结 1. 回调函数(callback) setTimeout(() => { // callback 函数体 }, 1000) 缺点:回调地狱,不能用 t ...
- Java获取yml里面的配置
#yml文件配置systemPath: #档案系统地址 dossier: http://127.0.0.1:8088/ //调用说明 配置文件里必须包含节点 否则项目无法启动 @Value(" ...
- PAT (Basic Level) Practise (中文)- 1007. 素数对猜想 (20)
http://www.patest.cn/contests/pat-b-practise/1007 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对 ...
- PAT (Basic Level) Practise (中文)- 1013. 数素数 (20)
http://www.patest.cn/contests/pat-b-practise/1013 令Pi表示第i个素数.现任给两个正整数M <= N <= 104,请输出PM到PN的所有 ...
- python报错UnicodeDecodeError:
Python 里面的编码和解码也就是 unicode 和 str 这两种形式的相互转化.编码是 unicode -> str,相反的,解码就 是 str -> unicode.剩下的问题就 ...