机器学习 : 高斯混合模型及EM算法
Mixtures of Gaussian
这一讲,我们讨论利用EM (Expectation-Maximization)做概率密度的估计。假设我们有一组训练样本x(1),x(2),...x(m),因为是unsupervised的学习问题,所以我们没有任何y的信息。
我们希望利用一个联合分布p(x(i),z(i))=p(x(i)|z(i))p(z(i))来拟合这些数据, 其中z(i)∼Multinomial(ϕ) (ϕj⩾0, ∑kj=1ϕj=1,参数ϕj给出了概率p(z(i)=j)),并且 x(i)|z(i)=j∼N(μj,Σj),我们让k表示z(i)可能值的个数,因此在这个模型中,每一个训练样本x(i)是由随机取某一个值的变量z(i)生成的,所以x(i)是从k个的高斯分布中的一个(由z(i)指示)提取出来的。这个称为高斯混合模型,我们也要注意到z(i)是隐含的随机变量,高斯混合模型涉及的参数是ϕ,μ,Σ,为了估计这些变量,我们可以建立如下的表达式:
我们发现,通过求偏导数求极值的方法,无法得到这些参数的解,从上面的表达式可以看出,随机变量z(i)告诉了我们x(i)是从k个高斯分布中的其中一个生成的,如果我们知道是哪一个高斯分布,或者说如果知道z(i)的值,那我们可以利用最大似然估计的方法估计参数
ϕ,μ,Σ,如果z(i)已知,那么上式可以写成:
利用最大似然估计,可以求得这些参数为:
从上面的表达式可以看出,如果z(i)的值已知,那么参数ϕ,μ,Σ的估计与之前介绍的Gaussian discriminant analysis 模型对参数的估计是一样的,这里的z(i)就像Gaussian discriminant analysis 模型中的输出y一样。
但是遗憾的是,我们不知道z(i)的值,所以这里我们要介绍另外一种unsupervised的学习方法,称为EM算法,EM算法主要分为两步,在E-step,我们主要对z(i)的值做猜测,在M-step,我们在E-step假设的基础上,利用最大似然估计求参数ϕ,μ,Σ,算法主要流程如下:
Repeat until convergence {
E-step: 对于每一个i,j,设置:
M-step: 跟新如下参数:
}
在E-step,我们可以通过给定的x(i)和当前估计的参数计算z(i)的后验概率,利用贝叶斯估计,我们可以得到:
这里,p(x(i)|z(i)=j;μ,Σ)通过计算一个均值为μj,协方差为Σj的高斯分布在x(i)处的概率密度得到,p(z(i)=j,ϕ)
是由ϕj给出,在E-step计算的w(i)j的值,表示我们对z(i)的一种弱估计。
同样,我们也可以将M-step的参数跟新与知道z(i)确切值的参数估计的表达式进行对比,可以看出两者是一致的,只不过前面的表达式1{z(i)=j}指出了我们利用哪个高斯分布,而现在换成了w(i)j。
EM 算法同样会让人联想起k均值算法,k均值是硬聚类,将样本聚到某一类里,而EM算法是弱聚类,样本所属的高斯分布由w(i)j估计。
参考来源:
Andrew Ng, “Machine Learning”, Stanford University.
机器学习 : 高斯混合模型及EM算法的更多相关文章
- 高斯混合模型的EM算法
高斯混合模型的EM算法 混合高斯模型 高斯混合模型的概率分布可以写成多个高斯分布的线形叠加,即 \[ p(\mathbf x) = \sum_{k=1}^{K}\pi_k\mathcal N(\mat ...
- SIGAI机器学习第二十三集 高斯混合模型与EM算法
讲授高斯混合模型的基本概念,训练算法面临的问题,EM算法的核心思想,算法的实现,实际应用. 大纲: 高斯混合模型简介实际例子训练算法面临的困难EM算法应用-视频背景建模总结 高斯混合模型简写GMM,期 ...
- 机器学习基础知识笔记(一)-- 极大似然估计、高斯混合模型与EM算法
似然函数 常说的概率是指给定参数后,预测即将发生的事件的可能性.拿硬币这个例子来说,我们已知一枚均匀硬币的正反面概率分别是0.5,要预测抛两次硬币,硬币都朝上的概率: H代表Head,表示头朝上 p( ...
- 机器学习之高斯混合模型及EM算法
第一部分: 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类 ...
- 高斯混合模型与EM算法
对于高斯混合模型是干什么的呢?它解决什么样的问题呢?它常用在非监督学习中,意思就是我们的训练样本集合只有数据,没有标签. 它用来解决这样的问题:我们有一堆的训练样本,这些样本可以一共分为K类,用z(i ...
- 聚类之高斯混合模型与EM算法
一.高斯混合模型概述 1.公式 高斯混合模型是指具有如下形式的概率分布模型: 其中,αk≥0,且∑αk=1,是每一个高斯分布的权重.Ø(y|θk)是第k个高斯分布的概率密度,被称为第k个分模型,参数为 ...
- 高斯混合和EM算法
首先介绍高斯混合模型: 高斯混合模型是指具有以下形式的概率分布模型: 一般其他分布的混合模型用相应的概率密度代替(1)式中的高斯分布密度即可. 给定训练集,我们希望构建该数据联合分布 这里,其中是概率 ...
- 机器学习笔记—混合高斯和 EM 算法
本文介绍密度估计的 EM(Expectation-Maximization,期望最大). 假设有 {x(1),...,x(m)},因为是无监督学习算法,所以没有 y(i). 我们通过指定联合分布 p( ...
- 【机器学习】GMM和EM算法
机器学习算法-GMM和EM算法 目录 机器学习算法-GMM和EM算法 1. GMM模型 2. GMM模型参数求解 2.1 参数的求解 2.2 参数和的求解 3. GMM算法的实现 3.1 gmm类的定 ...
随机推荐
- android权限大全转http://www.cnblogs.com/classic/archive/2011/06/20/2085055.html
android权限大全转http://www.cnblogs.com/classic/archive/2011/06/20/2085055.html 访问登记属性 android.permission ...
- iOS实现提现类似的密码输入框
最近一段时间,在网上不断看了一些技术人员写的代码demo,由于前段时间一直在写一个电商项目,记得有一个功能和看到的demo中类似,但是截然2种不同的处理方法,个人觉得我的这个方法更为简洁一些,所以我把 ...
- NYOJ 353 3D dungeon 【bfs】
题意:给你一个高L长R宽C的图形.每个坐标都能够视为一个方格.你一次能够向上.下.左,右,前,后任一方向移动一个方格, 可是不能向有#标记的方格移动. 问:从S出发能不能到达E,假设能请输出最少的移动 ...
- Nginx 第三方模块的安装以及一致性哈希算法的使用
Nginx 第三方模块的安装以及一致性哈希算法的使用 第三方模块安装方法总结: 以ngx_http_php_memcache_standard_balancer-master为例 1:解压 到 pat ...
- Python生成8位随机字符串的一些方法
#第一种方法 import random import string seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP ...
- 转:学习linux驱动经典书籍
Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为<linux_device_driver 3rd Edition>,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本 ...
- Android录屏命令、Android录Gif、Android录视频
NoHttp开源地址:https://github.com/yanzhenjie/NoHttp NoHttp具体使用文档已公布,你想知道的全都有,请点我移步! 版权声明:转载请注明本文转自严振杰的博客 ...
- Active Directory组织单位(Organizational Unit)操作汇总
前言 本章聊Active Directory的组织单位(OU)的新增.修改.移动等操作,使用.NET Framework 为我们提供的System.DirectoryServices程序集. 不积跬步 ...
- forEach for for in for of性能问题
var arr = new Array(1000); console.time('forEach'); arr.forEach(data => { }); console.timeEnd('fo ...
- oracle sql 当初始化数据时避免重复主键
一:当有主键序列自动增长时候(序列为:seq_cct_id) insert into cs_cost_type (CCT_ID, CCT_NAME, CCT_RATE, CCT_RATE_TYPE, ...