高斯混合模型与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算法是一种用于含有隐变量的概率模型参数的极大似然估计的迭代算法.如果给定的概率模型的变量都是可观测变量,那么给定观测数据后,就可以根据极大似然估计来求出模型的参数,比 ...
随机推荐
- vmware centos6.5 net 配置
使用NAT模式 虚拟机网络连接使用NAT模式,物理机网络连接使用Vmnet8. 虚拟机设置里面——网络适配器,网络连接选择NAT模式. 虚拟机菜单栏—编辑—虚拟网络编辑器,选择Vmnet8 NAT模式 ...
- openfire及xmpp简单介绍
一.oprenfire 1.openfire是采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.可以使用它轻易的构建高效率的即时通信服务器. 2.Openfire安装和 ...
- jq验证码换一换
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-e ...
- iOS UITableView 移除单元格选中时的高亮状态
在处理UITableView表格时,我们希望用户能够和触摸单元格式进行交互,但是希望用户在完成交互之后,这些单元格的选中状态能够消失,.Cocoa Touch 提供了两种方法来防止单元格背持久选中. ...
- cut用法
cut命令用来剪下文本文件里的数据,文本文件可以是字段类型或是字符类型. cut - remove sections from each line of files 语法 cut OPTION... ...
- kafka java代码实现消费者
public class KafkaConsumer { public static void main(String[] args) { Properties props = new Propert ...
- DuiLib学习笔记5——标题栏不能正常隐藏问题
我之前代码都是照着官方那个Duilib入门文档.doc来学习的.但是遇到一个问题,虽然他隐藏了windows的自带标题栏,可以自己绘画一个标题栏了,但是在这个标题栏下方,用力乱戳,就可能把系统自带的, ...
- Leetcode: Longest Repeating Character Replacement && G 面经
Given a string that consists of only uppercase English letters, you can replace any letter in the st ...
- POJ 3683 Priest John's Busiest Day(2-SAT 并输出解)
Description John is the only priest in his town. September 1st is the John's busiest day in a year b ...
- (九)串行口方式0 拓展并行输入端口 74LS165 芯片
74LS165芯片讲解: 外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0——S7 的状态 通过 串行口方式 0 读到 单 ...