高斯混合模型(GMM)

本文主要针对初次接触GMM的人,简单的给出了一些自己初识的一些理解,比较浅显。

引言

初次真正意义上接触高斯混合模型(Gaussian Mixed Model,GMM),是因为要用它来进行音频分类,以音频信号特征为输入,通过GMM来建模,完成最终的分类。

有一个说法是GMM是多个高斯分布函数的线性组合。理论上GMM可以拟合出任意类型的分布,我们知道在实际生活中,很少有数据严格遵循高斯分布的,而对于同一个集合下的数据,可能存在多种不同的分布,可以通过采用不同的高斯分布函数来模拟各个分布,最后将这些高斯模型线性组合起来,最终建立整个数据的模型,称这个模型为GMM。具体文章最后参考资料1中的论述,讲得很清晰形象。

高斯混合模型简介

高斯模型

单个高斯分布模型(或称正态分布模型,GSM)反映了自然界普遍存在的有关变量的一种统计规律,例如身高,考试成绩等;而且有很好的数学性质,具有各阶导数,变量频数分布由 μ、σ 完全决定等等,在许多领域得到广泛应用。在这里简单介绍下高斯分布的概率密度分布函数:

GSM

GMM

GMM是一种是概率模型,在音频处理的语音识别、音频分类等方面具有广泛的应用。GMM的训练模型形式是P(Y|X),输入是X,输出是Y,训练后模型得到的输出是一系列的概率值,对于分类任务输入X对应于各个不同Y(类)的概率,其中概率最大的那个类就是判决结果。

前提:假设样本分布是几个高斯分布的加权和。

参考资料2中,将GMM与K-means算法进行的类比讲述,还详细的列出了与k-means算法的异同点。

GMM的原理与算法步骤

GMM建模使用期望值最大(Expectation Maximization,EM)算法)迭代计算GMM的参数,实现参数估计。

EM算法分两步,第一步先求出要估计参数的粗略值,第二步使用第一步的值最大化似然函数。

EM算法估计GMM参数的大致思想是

  • (1)我们先指定GMM参数a,μ和Ʃ的初始值;
  • (2)将当前a,μ和Ʃ代入第n个信号点为第k个分量的后验概率公式中计算出后验概率;
  • (3)将(2)中计算结果将代入a,μ和Ʃ的最大似然概率公式中,求得新的a,μ和Ʃ;

重复步骤(2)和(3),直到算法收敛,得到最后的GMM参数a,μ和Ʃ,此时建模完成。

详细推导过程及代码实现:见参考资料4。

应用

针对任务的类型,GMM可用于分类、拟合和聚类。

针对实际的应用背景,GMM可用于图像处理的图像分割、对象识别、视频分析等方面。除此GMM在音频处理的语音识别、音频分类等方面也具有广泛的应用。

参考资料

  1. 高斯混合模型(GMM)及其EM算法的理解
  2. 高斯混合模型(GMM)
  3. 混合高斯模型算法
  4. 混合高斯模型(GMM)推导及实现
  5. 高斯混合模型GMM(Gaussian Mixture Model)
  6. 高斯混合模型GMM
  7. 混合高斯模型Gaussian Mixture Model(GMM)
  8. EM算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NoSQL数据库

引言NoSQL(Not Only Sql),泛指非关系型的数据库。 背景:随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模,超大流量以及高并发的时候得力不从心,暴露了…

在ti官网上找相关芯片的例程

在ti官网上找相关芯片的例程 先需要登录你的账号。 下载步骤

memcache、Redis与MongoDB的学习-1

除此接触这三个词的概念,对今天看的资料最了一些整理。 之前经常有看到memcache、Redis与MongoDB相关的数据库,最开始意味这些都只是用来做数据库优化的缓存工具,后来具体看了一些资料之后才发现,这些都是Nosql,下面是…

php数据库中数据查询

MySQL查询语句mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc 区别用法: mysql_fetch_row,这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数…

C#类的继承和修饰符

C#类的继承 继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。 所有的类都是直接或则简洁的继承object 修饰符 static构造方法

经典的卷积神经网络简介

引言本文主要用于对7个经典卷积神经网络的初识,大致了解各个网络提出的背景,以及各自对卷积神经网络发展的作用(即网络的特点)。 经典的卷积神经网络:LeNetAlexNetZF NetVGGGoogLeNetResNetDenseNet参考: C…

C#中的运算符和异常处理

C#中的运算符 运算符的声明 异常处理 try表示试图进行某件事 catch表示发送了某件异常时,进行某件事 finally最终进行某件事 抛出异常

C#中的程序成分总结

C#中的程序成分 编译预处理 程序的组织 名称空间 嵌套类型 程序集 语法小结 类型的声明 类的成员

iOS开发的学习笔记

引言之前做过半年的iOS开发,从完全不懂的移动开发的菜鸟,到完成前端UI开发的菜鸟,做的一些笔记,希望对大家有用,也希望这些总结的东西对以后会有作用。 开发环境iOS的系统框架分为四个层次:核心操作系统层&…

国际人工智能算法与应用研讨会(WASA 2018)参会笔记

从博士师兄那里知道就在天津高新区有这个会议,就跟着师兄报名了,下面是参会第一天的感想。 背景WASA是人工智能领域的国际性大型会议,也是中国计算机学会(CCF)推荐的会议。旨在为人工智能研究者、开发者和企业提供一个…

C#类型转换和常用类

C#类型转换 任何事物都是对象 表达式中的类型转换 强制类型装换 普通类型装换 基本类型 数与字符串的转换 常用类(类都有方法)

机器学习标签编码

二值编码独热编码定义 :One-Hot Encoding即One-Hot 编码,也称独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有…

c#数组和集合

c#数组和集合 数组 集合 遍历它 foreach只能取得元素,不能修改元素 另一个例子 遍历它

数据结构与算法(一)——排序

虽然之前学过数据结构,但是已时隔四年,大概四月份复习了一遍,但是很多概念也是一知半解,所以重新整理知识点和运行代码的方式来巩固知识。 引言排序:是计算机程序设计中的一种重要操作,功能是将一个数据元素…

PHP(四)——性能优化

之前基于PHP开发的过程中,一直没有涉及到PHP性能优化的问题,但是一般来说PHP性能问题占整个项目性能问题一般占30%-50%部分,所以说,这部分内容是非常重要的。下面是最近自己PHP性能优化学习的资料整理。 引言[1]PHP存在性能问题的…

C#常用的算法

C#常用的算法 遍试算法 迭代算法 递归 递归算法的基本思想:分而治之

kaggle使用笔记

因为参加了DCASE2018比赛的声学场景分类的子任务,这个比赛有个排行榜是用的kaggle来做的,所以在比赛中,用到过kaggle API,下面是关于kaggle的使用笔记。 kaggle 是什么?Kaggle是一个数据科学竞赛的平台,很多…

PHP简单功能的实现

检查一个变量是否为空empty功能返回值:若变量不存在则返回 TRUE若变量存在且其值为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE若变量存在且值不为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有…

C#流和文件

C#流和文件 文件及文件夹管理 WinForm中的文件对话框 文件内容的读写 注册表操作

PHP操作MySQL数据库(连接、增删改操作)

MySQL 是跟 PHP 配套使用的最流行的开源数据库系统,我们知道MySQL是PHP的最佳搭档,下面是系统的总结PHP与MySQL联合使用的方法。主要是使用MySQL扩展,下面就通过归纳总结来提升。 MySQL概述MySQL 是一种在 Web 上使用的数据库系统。 MySQL 是…