对于高斯混合模型是干什么的呢?它解决什么样的问题呢?它常用在非监督学习中,意思就是我们的训练样本集合只有数据,没有标签。

它用来解决这样的问题:我们有一堆的训练样本,这些样本可以一共分为K类,用z(i)表示。,但是具体样本属于哪类我们并不知道,现在我们需要建立一个模型来描述这个训练样本的分布。这时, 我们就可以用高斯混合模型来进行描述。

怎么入手呢?

高斯混合模型:

我们这么想,因为样本集合潜在地是可以分为K类的,用z(i)表示第 i 样本所属的类别,所以z(i) 的范围为从1至 K。对于我们可以用z(i)多项式分布模型来描述它的分布。然后呢,对于属于潜同一个类别内的样本,假设它们服从高斯分布(这和高斯判别模型有点类似的)。然后呢,假设我们创建了一个模型哈(其实它就是我们要讲的高斯混合模型),然后,我们呢,我们表示一个样本x(i) 的分布在这个模型下可以用概率表示为:

(注意:对于上式中的多元正态分布与多项式分布如果不太了解,可以看一个我 之前写的高斯判别分析模型Logistic 分类器与 softmax分类器,里面有写到)

然后,我们写出它的拟然函数,如下所示:

虽然通过上面的分析,我们可以写出相应的公式来,但是呢,很难去求解啊。那怎么办??

注意下面我们先假设哈:如果我们假设我们已经知道了我们所求的样本x(i) 所属于的类别为的 z(i) 话,那么问题就会变得很简单了,此时,拟然函数可以变为了这样:

此时,通过类似高斯判别分析模型中的方法,我们最大化拟然函数,我们可以得到相关参数和值可以表示为:

(上面的式子很容易理解的吧,其实就是用频率来估计它们的期望。)

利用EM算法求解。

下面我们要做的就是利用EM算法,按照我们假设的思路来求。具体为:

重复下面的过程,直到收敛:{

E-step:

M-setp:

}

什么意思呢?其实第一个步骤E-step中,我们要做的就是估计训练集合中每一个样本属于每一个类别的概率的大小.怎么求呢,我们可以用下面公式:

第二个步骤中,会想为什么要这么更新参数值呢?

其实想想很简单:如果把它和 K-means的聚类算法作比较,我们做发现是这样的,在K-means的聚类算法我们已经明确指定了一个样本所属于的类别,而这里呢,我们没有明确去指定,而是都过概率的形式来指明的。所以,在更新参数时,我们通过概率对所以样本进行加权了,概率表示了该样本属于第 j 类别的可能性的大小,加权目的就是在计算该类别的高斯分布的参数时,指定不同的样本占有的比重不一样,属于该类别概率越大的样本占的权值越大。

最后说明的是,这样EM算法是收敛的,另外,它也存在局部极值的问题,所以呢, 我们可以通过多次不同的初始化值来解决哦。

高斯混合模型与EM算法的更多相关文章

  1. 高斯混合模型的EM算法

    高斯混合模型的EM算法 混合高斯模型 高斯混合模型的概率分布可以写成多个高斯分布的线形叠加,即 \[ p(\mathbf x) = \sum_{k=1}^{K}\pi_k\mathcal N(\mat ...

  2. SIGAI机器学习第二十三集 高斯混合模型与EM算法

    讲授高斯混合模型的基本概念,训练算法面临的问题,EM算法的核心思想,算法的实现,实际应用. 大纲: 高斯混合模型简介实际例子训练算法面临的困难EM算法应用-视频背景建模总结 高斯混合模型简写GMM,期 ...

  3. 机器学习基础知识笔记(一)-- 极大似然估计、高斯混合模型与EM算法

    似然函数 常说的概率是指给定参数后,预测即将发生的事件的可能性.拿硬币这个例子来说,我们已知一枚均匀硬币的正反面概率分别是0.5,要预测抛两次硬币,硬币都朝上的概率: H代表Head,表示头朝上 p( ...

  4. 机器学习 : 高斯混合模型及EM算法

    Mixtures of Gaussian 这一讲,我们讨论利用EM (Expectation-Maximization)做概率密度的估计.假设我们有一组训练样本x(1),x(2),...x(m),因为 ...

  5. 聚类之高斯混合模型与EM算法

    一.高斯混合模型概述 1.公式 高斯混合模型是指具有如下形式的概率分布模型: 其中,αk≥0,且∑αk=1,是每一个高斯分布的权重.Ø(y|θk)是第k个高斯分布的概率密度,被称为第k个分模型,参数为 ...

  6. 机器学习之高斯混合模型及EM算法

    第一部分: 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类 ...

  7. 高斯混合和EM算法

    首先介绍高斯混合模型: 高斯混合模型是指具有以下形式的概率分布模型: 一般其他分布的混合模型用相应的概率密度代替(1)式中的高斯分布密度即可. 给定训练集,我们希望构建该数据联合分布 这里,其中是概率 ...

  8. 混合高斯模型和EM算法

    这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示 ...

  9. 统计学习方法c++实现之八 EM算法与高斯混合模型

    EM算法与高斯混合模型 前言 EM算法是一种用于含有隐变量的概率模型参数的极大似然估计的迭代算法.如果给定的概率模型的变量都是可观测变量,那么给定观测数据后,就可以根据极大似然估计来求出模型的参数,比 ...

随机推荐

  1. css公共样式

    /* ==================================================================== @ set browser style ======== ...

  2. 利用insert,update和delete注入获取数据

    0x00 简介 利用SQL注入获取数据库数据,利用的方法可以大致分为联合查询.报错.布尔盲注以及延时注入,通常这些方法都是基于select查询语句中的SQL注射点来实现的.那么,当我们发现了一个基于i ...

  3. 移动表格行 解决低版本IE fadeIn fadeOut 失效问题

    在维护一个内部使用的web工具的时候,需要在表格里配置参数,并且支持参数列的上下移动,有jQuery-UI工具支持对表格列的拖动,但是此处不追求效果,而且旧系统页面兼容性很差,无奈只能做上下移动的按钮 ...

  4. js展开一颗树

    Tree View 指令不支持 树结构数据源, 只支持单层数组.(也许是我没发现,人家可以设置) .我只能把树展开,变成单层数组.然后还要记录已经递归到第一层了.比如这样. <!doctype ...

  5. 一个编程小白,如何入门APP软件开发领域?

    近些年,互联网创业火得不得了!一时间,满世界都在招做App软件开发的专业人员.从大众角度来看,学编程,写代码,是一件非常困难的事情.但是,App开发人员的工资那么诱人,让很多小白也跃跃欲试想学一下.那 ...

  6. iOS开发UI篇—Modal简单介绍

    iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...

  7. Audio Session Interruption

    近期处理了一个挂断电话后,莫名手机开始播放音乐的Bug. 所以顺便在这总结一下,对于IOS的AudioSession中断的几种处理情况. 一.通过C语言的init方法配置interruptionl回调 ...

  8. Java 多线程submit和execute

    submit方法: public abstract class AbstractExecutorService implements ExecutorService { protected <T ...

  9. ios -- 教你如何轻松学习Swift语法(二)

    前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦.      一.可选类型(重点内容)   1.什么是可选类型?        1.1在OC开 ...

  10. javascript面向对象详解

    认识面向对象 1.面向对象中的概念 一切事物皆对象 对象具有封装和继承特性 信息隐藏 2.基本面向对象 3.函数构造器构造对象 深入了解面向对象 第一种书写格式 第二种书写格式