一、HMM建模

HMM参数:

二、HMM的3个假设

(一)马尔科夫假设

(二)观测独立性假设

(三)不变性假设

转移矩阵A不随时间变化

三、HMM的3个问题

(一)概率计算/评估---likelihood

给定模型参数以及观测序列,求当前模型参数下生成给定观测序列的概率。

1、穷举法

2、前向算法

为了降低穷举法的计算复杂度。

注:

在概率计算问题中,无需用到后向概率,

之所以计算后向概率,是为参数估计问题服务。

3、维特比近似

与穷举法,前向算法遍历所有可能的状态序列不同的是,

维特比近似使用最大概率状态序列代替所有可能的状态序列进行近似计算,

具体算法参见2)解码问题中的维特比算法。

(二)解码/状态分割---decoding

给定模型参数以及观测序列,求当前模型参数下,给定观测序列下,使得观测序列生成概率最大的状态序列。

1、近似算法

2、维特比算法

关于概率计算问题中的维特比近似:

注意:

近似算法与维特比算法得到的状态路径常不同。

(三)参数估计---training

若观测序列和状态序列都已知,属于监督学习问题,应用MLE;

通常观测序列已知,状态序列未知,属于无监督学习问题,应用EM。

首先得确定HMM拓扑结构:

1、分段k-means/Viterbi训练

1)GSM-HMM

2)GMM-HMM

分裂高斯:

(1)通过加上或减去小数字调整均值;

(2)将原高斯分量权重一分为二,分给生成的高斯分量。

N个高斯分量变为N+1个高斯分量

维特比训练将每个观测值唯一地分配给一个状态:

这只是一种估计,有可能会出错。

2、Baum Welch算法/前向后向算法

soft decision---将每个观测值以一定的概率分配给每个状态

1)GSM-HMM

E步:根据当前参数,计算下面2个统计量。

gamma:在t时刻占据状态j的概率。

isu:在t时刻占据状态i,t+1时刻占据状态j的概率。

M步:

根据这2个状态占有概率,对模型参数进行更新,重新估计。

2)GMM-HMM

E步:根据当前参数,计算下面2个统计量。
gamma:在t时刻占据状态j的混合分量m的概率。

isu:在t时刻占据状态i,t+1时刻占据状态j的概率。

M步:

根据这2个状态占有概率,对模型参数进行更新,重新估计。

注:

实现BW时为防止下溢(值趋近于0),

可对相应值进行适当的缩放,

可在对数域计算(乘法变为加法)。

HMM基础的更多相关文章

  1. 自然语言处理(1)-HMM隐马尔科夫模型基础概念(一)

    隐马尔科夫模型HMM 序言 文本序列标注是自然语言处理中非常重要的一环,我先接触到的是CRF(条件随机场模型)用于解决相关问题,因此希望能够对CRF有一个全面的理解,但是由于在学习过程中发现一个算法像 ...

  2. 结巴分词3--基于汉字成词能力的HMM模型识别未登录词

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 算法简介 在 结巴分词2--基于前缀词典及动态规划实现分词 博 ...

  3. 一文搞懂HMM(隐马尔可夫模型)

    什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...

  4. NLP&数据挖掘基础知识

    Basis(基础): SSE(Sum of Squared Error, 平方误差和) SAE(Sum of Absolute Error, 绝对误差和) SRE(Sum of Relative Er ...

  5. HMM基本原理及其实现(隐马尔科夫模型)

    HMM(隐马尔科夫模型)基本原理及其实现 HMM基本原理 Markov链:如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程.马尔可夫链是时间和状态 ...

  6. 转:隐马尔可夫模型(HMM)攻略

    隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...

  7. [综]隐马尔可夫模型Hidden Markov Model (HMM)

    http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...

  8. 应用HTK搭建语音拨号系统3:创建绑定状态的三音素HMM模型

    选自:http://maotong.blog.hexun.com/6261873_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系 ...

  9. 算法系列:HMM

    隐马尔可夫(HMM)好讲,简单易懂不好讲. 用最经典的例子,掷骰子.假设我手里有三个不同的骰子.第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1 ...

随机推荐

  1. Mysql 一次性备份导出/导入恢复所有数据库

    有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...

  2. 发布利用 Qt Assistant来做帮助系统的程序遇到的问题

    最近,一直在做反演初始模型可视化建模的软件 model Constraint,最后的步骤就是利用 Qt Assistant为自己的程序制作帮助系统. 1.<Qt Creator快速入门>和 ...

  3. java多线程(二)-线程的生命周期及线程间通信

    一.摘要    当我们将线程创建并start时候,它不会一直占据着cpu执行,而是多个线程间会去执行着这个cpu,此时这些线程就会在多个状态之间进行着切换. 在线程的生命周期中,它会有5种状态,分别为 ...

  4. I know 项目Alpha冲刺随笔集

    Alpha冲刺 Day 1 Alpha冲刺 Day 2 Alpha冲刺 Day 3 Alpha冲刺 Day 4 Alpha冲刺 Day 5 Alpha冲刺 Day 6 Alpha冲刺 Day 7 Al ...

  5. 20162330 第10周 MySort实验

    关于MySort的进一步实践 课堂作业题目如下: 模拟实现Linux下Sort -t : -k 2的功能.参考Sort的实现.提交码云链接和代码运行截图. import java.util.*; pu ...

  6. 201621123025《Java程序设计》第1周学习总结

    201621123025<Jave程序设计>第一周学习总结 1.本章学习总结 对于java这门课程,如果不会编码那么会很难学会如何去使用它,而在大一的一二学期的专业课--C语言和数据结构我 ...

  7. decltype操作符

    关于decltype操作符的说明: 1.在C++中,decltype作为操作符,用于查询表达式的数据类型.decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些 ...

  8. 201621123027 《Java程序设计》第1周学习总结

    01621123027 <Java程序设计>第1周学习总结 1.本周学习总结 关键词:总概.承接.面向对象化 ​ 我认为第一周的Java学习是一些总结概括性质的内容,在比较联系之前学习过的 ...

  9. 2017北京国庆刷题Day4 morning

    期望得分:0+40+30=70 实际得分:0+10+10=20 题目修改:只能由0变1,只能用一次操作 大模拟 #include<cstdio> #include<cstring&g ...

  10. 双击CAD对象(具有扩展数据),显示自定义对话框实现方法

    转自:Cad人生 链接:http://www.cnblogs.com/cadlife/p/3463337.html 题目:双击CAD对象,显示自定义对话框实现方法 内容粘贴如下: 主要是绑定两个事件: ...