一直想写点关于数学方面的blog,这对于数据挖掘分析,NLP处理等都有着比较重要的作用,之前在CSDN上想写点HMM方面的文章,一直没写成,最近几天终于抽点时间完成了HMM的文章,加以整理,遂有这个系列文章

  首先是对HMM模型的介绍。

  传统的马尔可夫模型(Markov Model)主要描述了具有马尔可夫性质的一个随机过程。更特殊的来讲,是离散的马尔可夫过程——马尔可夫链(Markov Chain)。马尔可夫性质是指在给定当前和之前已发生事件后,未来发生事件仅依赖当前事件。马尔可夫过程主要具有两个性质:

  1)  有限视野性:即这一刻发生的事件依赖于之前有限的已发生事件,既有

  2)  时间不变性

  现实中很多现象都可以用马尔可夫过程来表示,例如交通红绿灯的转换,每一次灯的状态依赖于上一次的状态(当然,排除了一些外部非正常因素),并且,在可预见时间内,状态的变化规律是不变的,不会说一直是红灯后是黄灯,突然变成红灯后还是红灯。

  对于马尔可夫模型,我们可以建立一个量化模型,简单来说,这个模型包括了一个矩阵——转移矩阵(transmission matrix),和一个初始向量pi向量。转移矩阵用来表述从一个状态转移到另一个状态的发生概率,而pi向量用来表述模型的初始状态。通过这个模型,可以解决马尔可夫过程的一些问题,例如预测等问题。

  当然,现实中更多的相关现象是马尔可夫过程的一个隐式变种,这就是我们今天要讨论的隐马尔可夫模型。顾名思义,在隐马尔可夫模型中,状态发生序列是未知的,只能通过一些观察得到的另一组状态发生序列来获得相关信息。例如,在语音识别中,当然无法直接识别语言,我们实际得到的只是某一个人发出的声音,而这个声音是真正的声音(这里指人类某种语言的所有语调等信息)通过和声带,空气等信息混合表现得到的。再例如一个比较常见的例子——盲人和天气,住在海边山洞中的盲人会通过石头上海藻状态来获知天气状态而无法直接得到天气状态,这里,天气状态就是一个隐藏状态,而海藻状态则是对应的可以观测到且和天气有关的状态。

  隐马尔可夫模型相比马尔可夫模型,需要引入更多描述量,一般来说,HMM模型需要一个三元组来描述,HMM_Model = <pi, A, B>, 这里pi还是初始向量,这里是对隐藏状态的初始概率,A是转移矩阵,描述的隐藏状态之间的转移概率,B则是引入的混淆矩阵(Confusion Matrix),即连接隐藏状态和可观察状态之间的桥梁。如下图一个例子所示:

  关于HMM的模型介绍就这么多,其实HMM模型很简单,就是一个三元组的量化描述,但是针对这个模型,主要有三个问题,而这三个问题,也分别引出了三个HMM不同方面的应用:

  1,  预测。即给定一个HMM和观察状态序列,我们想知道根据这个HMM产生这个观察序列的概率有多大。

  2,  解码。即给定一个HMM和观察状态序列,我们想知道什么样的隐藏状态序列最有可能产生这样的观察序列。

  3,  学习。这里HMM的模型是未知的,给出已知的观察序列和隐藏状态集合,我们想建立最有可能的HMM,这也是三个问题中最难的。

to be continued

数学之美——HMM模型(一)介绍的更多相关文章

  1. 数学之美——HMM模型(二)解码和Forward算法

    上一篇讨论了HMM的基本概念和一些性质,HMM在现实中还是比较常见的,因此也带来一了一系列的HMM应用问题.HMM应用主要面向三个方面:预测.解码和学习.这篇主要讨论预测. 简单来说,预测就是给定HM ...

  2. 图像切割之(五)活动轮廓模型之Snake模型简单介绍

    图像切割之(五)活动轮廓模型之Snake模型简单介绍 zouxy09@qq.com http://blog.csdn.net/zouxy09 在"图像切割之(一)概述"中咱们简单了 ...

  3. HMM模型

    通过前几时断续的学习,发现自己对HMM模型的了解还只停留在皮毛,导致在学习CRF模型并将其与最大熵模型.HMM.MEMM做比较时感觉很吃力,所以又花了两天时间使劲看了遍HMM,发现了解得确实深刻了很多 ...

  4. 隐马尔科夫模型HMM(一)HMM模型

    隐马尔科夫模型HMM(一)HMM模型基础 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比 ...

  5. HMM模型学习笔记(维特比算法)

    维特比算法(Viterbi) 维特比算法  编辑 维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中.术语“维特比 ...

  6. 代码规范 & 数学之美读后感

    代码规范链接:https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 数学之美读后感 一开始看名字我以为是一本讲数学是怎么发展的 ...

  7. 华为C/C++编码规范+《数学之美》感想

    1.排版 1.1 程序块要采用缩进风格编写, 缩进的空格数为4个.(说明: 对于由开发工具自动生成的代码可以有不一致)1.2 相对独立的程序块之间.变量说明之后必须加空行.1.3 循环.判断等语句中若 ...

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

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

  9. 应用HTK搭建语音拨号系统2:创建单音素HMM模型

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

随机推荐

  1. 洛谷P3613 睡觉困难综合征(LCT,贪心)

    洛谷题目传送门 膜拜神犇出题人管理员!!膜拜yler和ZSY!! 没错yler连续教我这个蒟蒻写起床困难综合症和睡觉困难综合症%%%Orz,所以按位贪心的思路可以继承下来 这里最好还是写树剖吧,不过我 ...

  2. 7:servlet request getHeader("x-forwarded-for") 获取真实IP

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实 ...

  3. 【CSS】定义元素的位置

    CSS定义元素的位置html元素的position属性,有4个属性值,分别是static.relative.fixed.absolute static: 1.默认值,一般不显式设置为static 2. ...

  4. python自带的IDLE如何清屏

    作者:知乎用户 链接:https://www.zhihu.com/question/20917976/answer/32876441 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. 说说SQL Server的数据类型

    以SQL Server为例,SQL Server的数据类型总共有33种,归纳为一下类别: 精确数字 Unicode字符串 近似数字 二进制字符串 日期和时间 其他数据类型 字符串   1.数字数据类型 ...

  6. js实现表单提交submit(),onsubmit

    通常表单的提交有两种方式,一是直接通过html的form提交,代码如下: <form action="" method="" id="forms ...

  7. Logistic Regression – Geometric Intuition

    Logistic Regression – Geometric Intuition Everybody who has taken a machine learning course probably ...

  8. .net中的一般处理程序实例

    最近在学习一般处理程序,也学习了一些jQuery的异步操作,于是就想着亲手做一个小的登陆,锻炼一下自己. 1.首先新建了一个项目LoginDemo,在此基础上又添加了一个一般处理程序BackLogin ...

  9. 8个提高效率的CSS实用工具

    CSS,也就是Cascading Style Sheets,推出于1997年,差不多是17年前,至此为我们开发网页大开方便之门,协助我们制作出一个又一个惊艳绝伦的网站设计和模板,提升了我们的创造能力, ...

  10. 用Emacs将文件加密保存

    为Emacs安装ps-ccrypt插件. 如果你在使用elpa(Emacs的一个插件管理器), 可以M-x list-packages, 从插件列表中找到 ps-ccrypt, 在该项上按i将其标记为 ...