一、HMM的理解

HMM——Hidden Markov Model,隐马尔科夫链模型,认为某时序信息X(t)X(t)X(t)可以由一个隐状态链S(n)S(n)S(n)描述。此状态链包括nnn个状态,以及各个状态间的转移概率ppp,类似下图。

ref: [R. Sharma, J. Cai, S. Chakravarthy, I. Poddar and Y. Sethi, “Exploiting speech/gesture co-occurrence for improving continuous gesture recognition in weather narration,” Proceedings Fourth IEEE International Conference on Automatic Face and Gesture Recognition (Cat. No. PR00580), Grenoble, France, 2000, pp. 422-427, doi: 10.1109/AFGR.2000.840669].
同时,认为每个状态会以一定的发射概率pep_epe​产生某一种观察值,即对应时序信息X(t)X(t)X(t)。

通常对于独立的状态识别问题,我们只需要知道每个状态的发射概率即可,通过比对观察值属于那个状态的概率更高,我们就掌握了该次观察应该从属于哪个状态。但这种方法不能引入时序的影响,使用这种方法时需要简单地认为序列在每个时刻的信息是互不相关的,这显然会降低对时序信息建模的精确度。HMM通过引入状态转移概率来描述时序的影响,在根据发射概率模型简单确定每时刻信息对应的状态后,借助Viterbi算法基于建立好的HMM模型再对状态进行进一步重新确定,于是时序信息就通过HMM的隐状态链表达出来了。

常见的HMM模型包括全HMM、左右HMM等,主要区别在于每个状态受到几个其他状态的影响(也就是几个转移链连接到了该状态,阶数)。

这里显然存在一个问题——若按照离散的概率模型建模发射概率,会隐含地假设观察值同样按照离散模型分布。这对于简单问题,如某天的天气等,是可行的,因为观察值确实离散且个数少,但对于语音识别等多数问题而言,模型的观察值通常以某一连续变化的特征量所表征,如MFCC等。此时,简单离散模型建模显然不可能满足要求,需要一种能够表征连续分布的新模型,将不同但类似的多种观察值归为一类(通常将这一类直接归为一种状态的输出,最终直接以测试数据在各类下的输出概率作比较,从而退化成简单离散概率模型)。

Exemple: StateNum=3; length(data)=30; size(log(p(xn|zn)))=[30 3]

即当状态数为3、输入数据时间长度为30时,进行HMM训练的过程会先计算每个时刻数据从属于这3个状态的概率。

二、HMM-GMM模型

GMM——Gaussian Mixture Model,混合高斯模型,可以简单地理解为多个高斯模型之和。高斯模型具备建模不同维度连续数据的能力,而混合高斯模型在其阶数足够的前提下,又可以很好地模拟各种复杂的分布,于是可以认为GMM在面对高维度、复杂分布的数据时仍然具备较好的拟合能力。将该模型作为HMM的发射概率,就可以得到HMM-GMM模型。

通常基于HMM-GMM模型的建模任务不会将每个时刻都划为一个状态,而是将多个连续时刻的数据归为一个状态的GMM模型。例如对于某20帧的MFCC输入语音输入一般可能只会建模三个状态来表征。

当然发射概率模型不是只有GMM这一种方法,利用GMM初步建模后的状态标签数据可以作为DNN的训练数据,后续可以用训练好的DNN代替GMM,即引入简单的神经网络结构以利用其更加复杂地表达数据的能力。

HMM-based模型仍然是存在缺点的,从HMM的结构出发,可以非常直观地看到,由于通常情况下HMM的状态数会小于输入数据长度,那么在每个状态所对应的多帧输入数据间的时序信息显然被忽略了。

值得注意的是HMM-based模型与现如今已经存在可以直接表征时序信息的神经网络结构,如RNN等,对于时序信息的建模思路较为类似,具体关系可以参考知乎:HMM和RNN是什么关系?功效上两者有冲突重叠?

对HMM-GMM模型的理解相关推荐

  1. 如何理解GMM模型及应用

    什么是GMM? GMM全称Gaussian Mixture  Model,是一种机器学习算法,是一种聚类模型,它是多个高斯分布函数的线性组合. GMM解决什么问题? 通常用来解决同一集合下的数据包含多 ...

  2. 学习笔记三:GMM模型以及EM算法理解及代码实现

    第三章 GMM模型以及EM算法 1.潜变量模型 使用潜变量解释观测变量的数学模型,称之为潜变量模型 潜变量模型将不完全数据(观测数据)的边缘分布转换成容易处理的完全数据(观测数据+潜变量)的联合分布. ...

  3. Halcon例程(基于GMM模型的分类)详解 —— classify_citrus_fruits.hdev

    一.例程简介 该例程比较有代表性,属于Halcon里的分类方法之一,直接调用Halcon封装好的GMM分类器(高斯混合模型)对橘子和柠檬进行分类.GMM属于概率分类方法,属于P(Y|X),通过对样本的 ...

  4. 浅显易懂的GMM模型及其训练过程

    高斯混合模型GMM是一个非常基础并且应用很广的模型.对于它的透彻理解非常重要.网上的关于GMM的大多资料介绍都是大段公式,而且符号表述不太清楚,或者文笔非常生硬.本文尝试用通俗的语言全面介绍一下GMM ...

  5. 算法直观与对模型的理解(二)

    算法直观与对模型的理解 assumptions 很多机器学习算法以数据的线性可分为基本假设或叫基本前提. Many machine learning algorithms make assumptio ...

  6. 基于GMM模型的图像分割与颜色迁移算法

    在之前的博客中,我们已经介绍过高斯混合模型(GMM)的一些基础知识,链接: Gaussian Mixture Model:混合高斯模型介绍_程序猿老甘的博客-CSDN博客 在该博客中,我们提到了贾佳亚 ...

  7. GrabCut算法详解:从GMM模型说起

    GrabCut算法详解:从GMM模型说起 最近正在学习CG,争取有时间就看点论文写写代码. GrabCut在OpenCv里面是有内置函数的,不过我还是用C++纯手工实现了一边原汁原味的论文,githu ...

  8. EM 算法与 GMM 模型

    EM算法与GMM模型 – 潘登同学的Machine Learning笔记 文章目录 EM算法与GMM模型 -- 潘登同学的Machine Learning笔记 GMM模型 单高斯模型 GM的参数估计( ...

  9. 【语音识别】EM算法和GMM模型

    EM算法和GMM模型 本章主要从概率论方面讲述了GMM模型和EM算法的底层原理,即通过已知推测未知,再通过上次所得到的结果,来推导下一轮的结果,直到这个结果与上一轮的结果误差在我们设定的范围内,就视为 ...

最新文章

  1. 网络推广——企业网站停止网络推广会对网站产生负面影响
  2. ios网络学习------8 xml格式数据的请求处理 用代码块封装
  3. 判断是否为微信环境下打开的网页
  4. 搜索引擎anti-spam系统设计指南
  5. golang 泛型_Golang 1.x版本泛型编程
  6. 十进制数转化为2进制后有多少个1
  7. Expression Blend 学习视频下载
  8. BAPI:BAPI_PRODORDCONF_CREATE_TT (TCODE:CO11N)
  9. php将变量转成字符串类型
  10. 2017初赛普及c语言答案,NOIP2017初赛普及组C++试题
  11. 宽度学习系统:一种不需要深度结构的高效增量学习系统
  12. Mac电脑分屏软件——Spectacle
  13. python批量tif文件转化jpg文件格式
  14. git本地项目连接私人远程仓库以及遇到的问题
  15. EXCEL快捷键大全(三)(九耶-钛伦特)
  16. mysql怎么打开db文件_mysql的db文件怎么打开?
  17. 跨境电商支付方式之如何玩转跨境支付
  18. sigmaster解码播放
  19. 常见安全漏洞及整改建议
  20. dump在计算机中的意义

热门文章

  1. shell入门第6课 环境变量
  2. 【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介
  3. Matlab数据处理--工程物探
  4. 缺陷检测——Halcon表面划痕检测
  5. 宽表, 窄表, 维度表, 事实表的区别
  6. 把程序从armclang porting到arm gnu gcc编译器
  7. 计算机二级 理论,计算机二级理论.docx
  8. 使用poi进行excel导出复杂表头的设计
  9. 金融危机下研发人员的职业发展-SD2.0大会第一天人力资源嘉宾论坛
  10. echarts 5.0之map使用