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. Unity multi_compile

    http://docs.unity3d.com/Manual/SL-MultipleProgramVariants.html http://forum.unity3d.com/threads/tuto ...

  2. jquery特效收藏

    js网址收藏: 懒人图库:www.lanrentuku.com 懒人之家:http://www.lanrenzhijia.com/jquery/list_5_2.html 1.UI下载:http:// ...

  3. zencart分类页产品页去掉url中的id号

    最近公司新上的网站被seo指出要修改url,去掉url中产品id.由于我们用的是zencart框架,装了 Ultimate SEO URLs 插件,所以在网上应该有这方面的资料,本文主要参考资料: 原 ...

  4. 为什么要做url encode

    因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 url 中不能包含 @ 字符.

  5. Linux消息队列应用

    #include"sys/types.h" #include "sys/msg.h" #include "unistd.h" #includ ...

  6. FIFO学习心得

    1,名字.FIFO=First in first out. 2,特点.顺序读入,顺序读出,先入先出. 3,用途.数据缓冲.使两个数据传输速率不一样的设备相匹配. 4,参数. ①,THE WIDTH和T ...

  7. Junit使用

    eclipse Junit的简单使用: eclipse自带了Junit插件. 安装Junit,如下图所示,右键项目-->Properties-->Add Library 选择Junit 选 ...

  8. php-fpm服务启动脚本

    在php-fpm还是打补丁的时候,php-fpm重启只需要执行php-fpm restart或者reload, 自从php5.3之后,php-fpm的启动和停止显得比较麻烦,特意改写了一份nginx的 ...

  9. Myeclipse中的web项目审查(jquery-2.1.1.min.js)出现错误

    前言,本来在把web项目搞得好看一些,从网上下载了一个很炫酷的模板导入web中,无奈出现了错误,如下:

  10. mybatis 基础1(动态代理)

    我目前使用的是mybatis 3.3.0版本. 可使用 1.xml文本, 2.dao类, 3.sqlSession.getMapper(Class<T> type), 生成sql类, 原理 ...