高斯混合模型与EM算法
对于高斯混合模型是干什么的呢?它解决什么样的问题呢?它常用在非监督学习中,意思就是我们的训练样本集合只有数据,没有标签。
它用来解决这样的问题:我们有一堆的训练样本,这些样本可以一共分为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算法的更多相关文章
- 高斯混合模型的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算法
Mixtures of Gaussian 这一讲,我们讨论利用EM (Expectation-Maximization)做概率密度的估计.假设我们有一组训练样本x(1),x(2),...x(m),因为 ...
- 聚类之高斯混合模型与EM算法
一.高斯混合模型概述 1.公式 高斯混合模型是指具有如下形式的概率分布模型: 其中,αk≥0,且∑αk=1,是每一个高斯分布的权重.Ø(y|θk)是第k个高斯分布的概率密度,被称为第k个分模型,参数为 ...
- 机器学习之高斯混合模型及EM算法
第一部分: 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类 ...
- 高斯混合和EM算法
首先介绍高斯混合模型: 高斯混合模型是指具有以下形式的概率分布模型: 一般其他分布的混合模型用相应的概率密度代替(1)式中的高斯分布密度即可. 给定训练集,我们希望构建该数据联合分布 这里,其中是概率 ...
- 混合高斯模型和EM算法
这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示 ...
- 统计学习方法c++实现之八 EM算法与高斯混合模型
EM算法与高斯混合模型 前言 EM算法是一种用于含有隐变量的概率模型参数的极大似然估计的迭代算法.如果给定的概率模型的变量都是可观测变量,那么给定观测数据后,就可以根据极大似然估计来求出模型的参数,比 ...
随机推荐
- 小吐槽Toolbar
最近弄界面 要吧全部图标改成PNG格式 虽说从2010以后Delphi默认支持PNG格式图片, 但是想应用到按钮上, 似乎除了TButton意外, 也只能ToolBar可以正常显示了, 其他的, 比如 ...
- 8 ways rich people view the world differently than the average person
Self-made millionaire Steve Siebold spent 26 years interviewing some of the wealthiest people in the ...
- HttpURLConnection请求
方法调用: //测试 public static void main(String[] args) { Map map = new HashMap(); map.put("type" ...
- LeetCode Burst Balloons
原题链接在这里:https://leetcode.com/problems/burst-balloons/ 题目: Given n balloons, indexed from 0 to n-1. E ...
- jqzoom图片放大镜
jqzoom是一个图片放大器插件.它功能强大,使用简便! 引入js与css: <script type="text/javascript" src="js/jque ...
- db2常用命令大全
#显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...
- 跨域解决方案一:使用CORS实现跨域
跨站HTTP请求(Cross-site HTTP request)是指发起请求的资源所在域不同于请求指向的资源所在域的HTTP请求. 比如说,我在Web网站A(www.a.com)中通过<img ...
- Redis缓存之Set使用
在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复杂度为O(1), ...
- 处理 httprequest post 编码问题
site :http://www.cnblogs.com/artwl/archive/2012/03/07/2382848.html 在JavaScript中推荐的做法是用encodeURI对URI的 ...
- System.arraycopy
ref : http://blog.csdn.net/jaycee110905/article/details/45228249