数学之美——HMM模型(一)介绍
一直想写点关于数学方面的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模型(一)介绍的更多相关文章
- 数学之美——HMM模型(二)解码和Forward算法
上一篇讨论了HMM的基本概念和一些性质,HMM在现实中还是比较常见的,因此也带来一了一系列的HMM应用问题.HMM应用主要面向三个方面:预测.解码和学习.这篇主要讨论预测. 简单来说,预测就是给定HM ...
- 图像切割之(五)活动轮廓模型之Snake模型简单介绍
图像切割之(五)活动轮廓模型之Snake模型简单介绍 zouxy09@qq.com http://blog.csdn.net/zouxy09 在"图像切割之(一)概述"中咱们简单了 ...
- HMM模型
通过前几时断续的学习,发现自己对HMM模型的了解还只停留在皮毛,导致在学习CRF模型并将其与最大熵模型.HMM.MEMM做比较时感觉很吃力,所以又花了两天时间使劲看了遍HMM,发现了解得确实深刻了很多 ...
- 隐马尔科夫模型HMM(一)HMM模型
隐马尔科夫模型HMM(一)HMM模型基础 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比 ...
- HMM模型学习笔记(维特比算法)
维特比算法(Viterbi) 维特比算法 编辑 维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中.术语“维特比 ...
- 代码规范 & 数学之美读后感
代码规范链接:https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 数学之美读后感 一开始看名字我以为是一本讲数学是怎么发展的 ...
- 华为C/C++编码规范+《数学之美》感想
1.排版 1.1 程序块要采用缩进风格编写, 缩进的空格数为4个.(说明: 对于由开发工具自动生成的代码可以有不一致)1.2 相对独立的程序块之间.变量说明之后必须加空行.1.3 循环.判断等语句中若 ...
- 应用HTK搭建语音拨号系统3:创建绑定状态的三音素HMM模型
选自:http://maotong.blog.hexun.com/6261873_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系 ...
- 应用HTK搭建语音拨号系统2:创建单音素HMM模型
选自:http://maotong.blog.hexun.com/6204849_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系 ...
随机推荐
- scheme 教程 #lang racket
scheme 教程 #lang racket 来源 https://blog.csdn.net/yemeishenme/article/details/51471037 原文: https://le ...
- 【刷题】LOJ 6226 「网络流 24 题」骑士共存问题
题目描述 在一个 \(\text{n} \times \text{n}\) 个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示.棋盘上某些方格设置了障碍,骑士不得进入. 对于给定的 \(\t ...
- caffe多任务、多标签
解决的目标问题:多分类问题,比如车辆的外形和颜色,苹果的大小和颜色:多任务:车牌角点的定位和车牌的颜色.定位在技术上属于回归,车牌颜色判断则属于分类. 技术点 caffe默认是单输入任务单标签的,也就 ...
- BZOJ 2879 [Noi2012]美食节 | 费用流 动态开点
这道题就是"修车"的数据加强版--但是数据范围扩大了好多,应对方法是"动态开点". 首先先把"所有厨师做的倒数第一道菜"和所有菜连边,然后跑 ...
- JAVA AES CBC PKCS5Padding加解密
package com.hzxc.groupactivity.util; /** * Created by hdwang on 2019/1/17. */ import org.slf4j.Logge ...
- Libre 6004 「网络流 24 题」圆桌聚餐(网络流,最大流)
Libre 6004 「网络流 24 题」圆桌聚餐(网络流,最大流) Description 假设有来自n个不同单位的代表参加一次国际会议.每个单位的代表数分别为 ri.会议餐厅共有m张餐桌,每张餐桌 ...
- 【CC】Batman and Tree
Portal --> CC Batman and Tree Solution 一开始看到很懵..感觉无从下手(因为自己太菜了qwq) 膜拜了题解之后发现好像并没有想象的那么复杂qwq 其 ...
- 【POJ1958】汉诺塔+
题目大意:给定一个四个柱子的汉诺塔,N 个盘子,求最少多少步移动到另一个柱子上. 题解:\(f[n]=min(2*f[i]+d[n-i])\),其中 \(d[i]\) 为汉诺三塔最小移动次数.M 塔同 ...
- python(27) 抓取淘宝买家秀
selenium 是Web应用测试工具,可以利用selenium和python,以及chromedriver等工具实现一些动态加密网站的抓取.本文利用这些工具抓取淘宝内衣评价买家秀图片. 准备工作 下 ...
- Python 发射导弹的正确方式
——此文以纪念南京大屠杀79周年 今天Toby教你如何用python的basemap包绘制轰炸东京的地图. 在数据可视化过程中,我们常常需要将数据根据其采集的地理位置在地图上显示出来.比如说我们会想要 ...