隐马尔可夫模型(三)——鲍姆-韦尔奇算法(Baum-Welch算法)

一、问题回顾

模型参数的学习问题。即给定观测序列O={o1,o2,…oT},估计模型λ=(A,B,Π)的参数。这个问题的求解需要用到鲍姆-韦尔奇算法,我会在隐马尔可夫模型系列的第三篇博客中讲解,这个问题是HMM模型三个问题中最复杂的。
鲍姆-韦尔奇算法本质上就是EM算法,只不过它比EM算法出来的早,所以这里继续称它为鲍姆-韦尔奇算法。

二、监督学习算法求解模型参数

监督学习算法适用于观测序列和状态序列都已知的情况下,因为需要大量的训练数据,而人工标注训练数据的代价很高,所以该方法不是很常用。

假设训练数据为S对长度为 T 的状态序列 I = (i1, i2, … , iT)及其观测序列 O = (o1, o2, … , oT)组成的集合{(I1, O1), (I2, O3), … , (Is, Os)},其中所有可能的状态集合为Q = {q1, q2, … , qN},所有可能的观测集合为V = {v1, v2, … , vM}。

初始状态概率分布Π:
Π =[ πi ]N
取 I1 到 Is 这S个状态序列的 i1时刻的状态,组成一个长度为S的初始状态序列 C = (c11, c21, … , cs1),其中ck1表示 Ik 这个状态序列在时刻 1 时的状态。
假设C( i )表示初始状态序列 C 中 状态 qi 出现的次数,则 πi 等于:
在这里插入图片描述
状态转移概率矩阵A:
统计 I1 到 Is 这S个状态序列中从状态 qi 转移到状态 qj 的次数,用Aij来表示。则可得:
在这里插入图片描述
所以得:
A = [aij]N×N

观测生成概率矩阵B:
统计 (I1, O1) 到 (Is, Os) 这S对状态序列—观测序列中状态 qj 生成观测 vk 的次数,用Bjk来表示。则可得:

  • 14
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值