1.GMM(guassian mixture model)

  混合高斯模型,顾名思义,就是用多个带有权重的高斯密度函数来描述数据的分布情况。理论上来说,高斯分量越多,极值点越多,混合高斯密度函数可以逼近任意概率密度函数,刻画模型越精确,需要的训练数据也就越多。

2.GMM

模型初始化:

  即模型参数的初始化,一般采用kmeans或者LBG算法。

模型初始化值对模型后期的收敛有极大影响,特别是训练模型的数据太少或者不充分时,现象尤其突出,会造成模型不收敛,甚至训练参数出现NAN。

  解决办法:1.一方面扩大误差范围,这样会造成训练好的模型区分度不好。

       2.LGB算法或者Kmeans减小胞腔数目或者或者分段数。

3.推荐  限制最小方差,避免出现完全不收敛,出现NAN情况(因为方差最小,根据概率密度公式可知,概率出现无穷大,再次迭代时,会出现NAN。从另一个角度解释:某几个高斯训练迭代越滚越大,以至于某些高斯分量或者说是小数据分布区越来越窄,方差越来越小,逼近0,导致出现NAN)。

模型训练:

模型训练一般采用 EM算法。

模型识别:

识别就是利用训练好的模型参数,将待识别数据(特征)与各个高斯模型做概率匹配,若A类概率最高,则判别为A类。

3.GMM应用

(1)GMM聚类

就像VQ聚类、Kmeans、LBG聚类一样。

(2)GMM分类

同样地,VQ、Kmeans、LBG也能进行分类,不同的是,GMM是软判决,前三种是硬性判决。

聚类与分类的区别:聚类可以说是训练模型的过程,用训练好的参数,刻画训练数据分布。

分类可以说是识别数据的过程,判断数据属于哪个模型(前提是模型已经训练好)。

GMM简单解释的更多相关文章

  1. 如何简单解释 MapReduce算法

    原文地址:如何简单解释 MapReduce 算法 在Hackbright做导师期间,我被要求向技术背景有限的学生解释MapReduce算法,于是我想出了一个有趣的例子,用以阐释它是如何工作的. 例子 ...

  2. static_cast 、const_cast、dynamic_cast、reinterpret_cast 关键字简单解释

    static_cast .const_cast.dynamic_cast.reinterpret_cast 关键字简单解释: Static_cast 静态类型转换 ①用于类层次结构中基类(父类)和派生 ...

  3. 单个body|简单解释|复杂解释|反面解释

    单个body有三种方法简单解释.复杂解释和反面解释 ========================================================================== ...

  4. 麦克斯韦方程组 (Maxwell's equation)的简单解释

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2016/12/12 以下会用高中的物理知识和大学微积分的数学知识对麦克斯韦方程组进行一个简单的解释.希望大家都能看得懂 ...

  5. ssh架构简单解释和vo po解释

      Struts.spring.Hibernate在各层的作用 1)struts 负责 web层. ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理,再Forwa ...

  6. TCP/IP模型的简单解释

    TCP/IP模型是互联网的基础.想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然大 ...

  7. 关于TCP的握手与挥手-----简单解释

    所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.在socket编程中,这一过程由客户端执行conn ...

  8. python sys.argv[]简单解释

    上一篇UDP编程中简单使用了一些sys模块的argv参数,也是我第一次看见这个参数,这里做个记录: sys.argv是一个从程序外部获取参数的桥梁,这个“外部”很关键, 因为我们从外部取得的参数可以是 ...

  9. python 元类的简单解释

    本文转自博客:http://www.cnblogs.com/piperck/p/5840443.html 作者:piperck python 类和元类(metaclass)的理解和简单运用 (一) p ...

随机推荐

  1. 数据库实现多站点共享Session

    数据库实现多站点共享Session 多站点共享Session有很多方法,多站点共享Session常见的做法有: 使用.net自动的状态服务(Asp.net State Service); 使用.net ...

  2. PetaPoco 使用总结(一)

    PetaPoco 使用总结(一) 前段时间,公司的一个项目希望用一个ORM 的框架,通过对比 Dapper 和 PetaPoco ,虽然Dapper 功能很强大,速度更快. 但是最终还是选择了比较简单 ...

  3. CLR

    [精]步步为营 C# 技术漫谈 三.公共语言运行库(CLR) http://www.cnblogs.com/springyangwc/archive/2011/06/12/2079250.html [ ...

  4. MYSQL 免安装版(windows 7/64)

    本文介绍在本地安装MYSQL数据库,免安装版相关配置 一.下载 mysql下载地址1:http://dev.mysql.com/downloads/mysql/ 二.解压MySQL压缩包 将已下载的M ...

  5. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  6. array_fill 用给定的值填充数组

    转自:http://www.phpstudy.net/php/165.html PHP array_fill 用给定的值填充数组 array_fill (PHP 4 >= 4.2.0, PHP ...

  7. R-处理数据对象的实用函数

  8. codevs5164 逆波兰表达式

    题目描述 Description 逆波兰表达式是一种把运算符前置的算术表达式(又叫前缀表达式),例如普通的表达式2 + 3的逆波兰表示法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也 ...

  9. oracle 使用ID关键字作列名导致索引失效

    oracle表空间变更导致主键索引失效,重建索引即可

  10. PHP get_class_methods函数用法

    get_class_methods — 返回由类的方法名组成的数组 说明 array get_class_methods ( mixed $class_name ) 返回由 class_name 指定 ...