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. CentOS安装oracle12C

    安装虚拟系统CentOS6.5,分配给至少1G的内存,其他条件适当高些,具体参考官方文档 一.安装数据库: 1.安装依赖软件包 yum install binutils -y yum install ...

  2. MongoVUE

    MongoVUE运行界面如下:

  3. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  4. Thinkphp 整理备忘 杂记

    1:输出变量函数  (手册目录:控制器-输出变量) I('变量类型.变量名',['默认值'],['过滤方法'],['额外数据源']) 例:$title = I('post.title','','str ...

  5. Ajax 局部刷新

    方式一:function hits1(troops) {    var troops = troops;    var ajax=Ajax();    var url = 'xxx.php';    ...

  6. 7个Linux和Ubuntu下的免费CSS编辑器

    一个好的编辑器是世界上所有程序员和web开发人员梦寐以求的东西.代码编辑器和集成开发环境是程序员工作时的左膀右臂.还在纠结使用什么编辑器么?下面我们将推荐7个主要用于Linux操作系统的免费CSS代码 ...

  7. 详解CSS中clear属性both、left、right值的含义

    前几天一朋友在群里问clear:left的意思,我以为是简单的清除浮动问题,就让他百度"清除浮动",导致中间有点小误会.后来我按照他写的DEMO,发现我自己也没完全理解clear: ...

  8. spring 缓存(spring自带Cache)(入门)

    spring的缓存机制,是方法纬度的缓存机制, 这就意味着我们并不用关注 底层是否使用了数据库以及通过什么方式访问的数据库: 因此,此缓存方法既适用于dao层,也适用于service层. spring ...

  9. Android与Dalvik

    自学android的同事说:Android 这个妈蛋!! 当初就应该选择c++/c 来开发.现在为了效率又搞ART.简直是折腾,art在android5.0 的时候就是默认了.前段时间还在学习andr ...

  10. 如何一次把所有wordpress插件都禁用了

    wordpress网站出现了问题,或者在更新一些数据的时候,需要先把插件全部都禁用了进行检查.那么如何一次把所有wordpress插件都禁用呢?试试下面的sql语句吧 UPDATE wp_option ...