em算法与混合高斯模型
1. 急求如何用MATLab实现EM算法
最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计。
实现代码如下:
02 Jul 2015 hui cheng
06 May 2015 Mei Dong
very good job!
12 Nov 2014 Jobaer
please, sir , send me a source code on image segmentation. I want to segement weeds from soil.My email address is [email protected] .
18 Jan 2014 HuangJunFeng HuangJunFeng
16 Dec 2013 widdy
19 Feb 2013 Tong Chu
01 Jan 2013 manas nag
sir
after executing this it is declaring that k is undefined
04 Dec 2012 Jason Rebello
Some people want to know how to view the segmented image. For example suppose you have two classes ie k=2; us the following code to view it
[row col] = size(ima);
final_img = zeros(row,col);
for i=1:row
for j=1:col
if mask(i,j)==1
final_img(i,j)=1;
else
final_img(i,j)=255;
end
end
end
imshow(final_img/255);
This is a naive way of viewing it .. you may have to change somethings if k>2. Anywayz hope it helps. The mask basically stores the segmented image.
16 Nov 2011 surya
great job.i am using the same algorithm in my project for x-ray images.can u please tell how to view the segmented image
Comment only
18 Feb 2010 prashanth
Sir, I am starting my project on the same subject. i was unable to find the algorithm psuedocode for em algorithm. kindly send me one at [email protected]. Also can u just tell me the explanation for the source code..
Comment only
21 Dec 2009 maria
Hi, could you please explain how I can use "mask" to see result of segmentation??
Comment only
17 Mar 2009 Patrick
Greetings Prof., Very nice .. could you please let me know what exactly does the mask variable store ? As what i see it classifies each pixel that falls within each class . Am i correct in that assumption?
Thanks
24 May 2008 darko brajicic
great job!
27 Apr 2008 Bilo Bilo
Thanks
15 Aug 2007 smiled fisher
06 Nov 2006 Karthik Raja T
HI, Greetings,can it for my color image segmentation ?
04 Sep 2006 Mikel Rodriguez
12 Jul 2006 carlos mas
03 May 2006 Mohamed Sami
look when u make a code u must show us the output to see it then u read ur code .. try to explain that with output we can see bye
2. 基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大
应该是“过拟合”了吧。虽然在EM中没有真正的“过拟合”一说,但是类别增多,每个数据点会以更高的概率分配到这些类别上。
3. EM算法求混合高斯分布的参数时,图中的T是什么意思
这里的T是表示一个函数的表达式,也就是是说T(U,S,X,Y,Z......) 实际上是t的函数,其中,t是函数(也就是因变量),U,S,X,Y,Z......都是函数t的自变量。T是函数关系。 y=f(x) =kx+b y就是x的函数,f表示的一种函数关系,只是这里的函数关系比较抽象,并不是具体的,而若是给出具体的函数关系就是kx+b这样的表达式了。 只是一个是抽象的关系, 一个是具体的关系而已 而楼主给的函数是个多元函数,也就是说,U,S,X,Y,Z......等共同作用影响函数t的变化。 这个函数关系的描述就是U-宇宙;S空间,XYZ,......事件,顺序等多个因素共同一种方式T来影响时间t的变化。估计这个是相对论或者霍金的时间理论那的东西。
4. 基于em算法的高斯混合模型参数估计有哪些参考文献
基于em算法的高斯混合模型参数估计这是需求,越简单越好,
5. 机器学习“判定模型”和“生成模型‘有什么区别
最基本的区别就是建模对象不同, 但目的都是求出P(Y|X)
判别模型Discriminative Model:
直接对P(Y|X)进行建模, 判别模型不考虑如何生成 X 和 Y 的联合事件, 比如 SVM 只考虑把点分开而已, 鲁棒性比较强, 但需要更多的训练数据.
生成模型 Generative Model:
利用贝叶斯公式, 先对P(X|Y)进行建模, 然后利用训练集中的 P(Y) 求出联合**概率分布 P(X,Y)**, 最后除以X的概率分布P(X)得出我们的目标(P(Y|X)). 最常见的例子朴素贝叶斯. 生成模型需要做出更多的假设, 因此适用于数据较少的情况下, 但鲁棒性不强, 因为假设错了就效果很差了.
给一个栗子, 外星人来地球拿了一个数据集包含了地球人的身体特征, 标签有2类:男和女. 如果训练数据集只有1%是数据是男性, 而99%是女性. 那么外星人科学家就有可能认为给定随机一个人类, 该人类是女性的P(y=female)概率是99%, 按照这个假设去做生成模型就会很不给力, 但判别模型就没有这个问题.
——Matthew_zeng
我们从几句话进入这两个概念:
1、机器学习分为有监督的机器学习和无监督的机器学习;
2、有监督的机器学习就是已知训练集数据的类别情况来训练分类器,无监督的机器学习就是不知道训练集的类别情况来训练分类器;
3、所以说,有监督的机器学习可以抽象为一个分类task,而无监督的基本完成的是聚类;
4、有监督的机器学习中,我们可以概述为通过很多有标记的数据,训练出一个模型,然后利用这个,对输入的X进行预测输出的Y。这个模型一般有两种:
决策函数:Y=f(X)
条件概率分布:P(Y|X)
5、根据通过学习数据来获取这两种模型的方法,我们可以分为判别方法和生成方法;
6、概念正式介绍
判别方法:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。
数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)得到的预测模型,就是判别模型;
生成方法:由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系
P(Y|X)作为的预测的模型就是生成模型;
两个模型的范例
生成模型:朴素贝叶斯、隐马尔可夫(em算法)
判别模型:k近邻法、感知机、决策树、逻辑回归、线性回归、最大熵模型、支持向量机(SVM)、提升方法、条件随机场(CRF)
对比
1、生成模型可以还原出联合概率分布(还原数据本身相似度),而判别方法不能;
2、生成方法的学习收敛速度更快,当样本容量增加的时候,学到的模型可以更快的收敛于真实模型;
3、当存在隐变量时,仍可以利用生成方法学习,此时判别方法不能用;
4、判别学习不能反映训练数据本身的特性,但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异,直接面对预测,往往学习的准确率更高,由于直接学习P(Y|X)或Y=f(X),从而可以简化学习;
5、简单的说,生成模型是从大量的数据中找规律,属于统计学习;而判别模型只关心不同类型的数据的差别,利用差别来分类。
6. GMM模型是什么
就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。GMMs已经在数值逼近、语音识别、图像分类、图像去噪、图像重构、故障诊断、视频分析、邮件过滤、密度估计、目标识别与跟踪等领域取得了良好的效果。
对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以认为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状。
主要步骤
1、为图像的每个像素点指定一个初始的均值、标准差以及权重。
2、收集N(一般取200以上,否则很难得到像样的结果)帧图像利用在线EM算法得到每个像素点的均值、标准差以及权重)。
3、从N+1帧开始检测,检测的方法:
对每个像素点:
1)将所有的高斯核按照ω/σ降序排序
2)选择满足公式的前M个高斯核:M= arg min(ω/σ>T)
3)如果当前像素点的像素值在中有一个满足:就可以认为其为背景点。
7. 采用 em 算法求解的模型有哪些
1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算 法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法) 2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要 处理,而处理数。
8. 基于EM算法的高斯混合密度估计与k均值算法之间的关系。
建议看一下 机器学习中的贝叶斯学习部分中的EM算法。EM算法可应用于k均值问题,目的是搜索一个极大似然的假设不断地再估计隐藏层变量的期望值,然后用这些隐藏层变量的期望值重新计算极大似然假设。EM算法可用来推到k均值算法
9. em算法是什么
最大期望算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin算法,是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法 ,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量(latent variable)或缺失数据(incomplete-data)的概率模型进行参数估计。
EM算法的标准计算框架由E步(Expectation-step)和M步(Maximization step)交替组成,算法的收敛性可以确保迭代至少逼近局部极大值 。EM算法是MM算法(Minorize-Maximization algorithm)的特例之一,有多个改进版本,包括使用了贝叶斯推断的EM算法、EM梯度算法、广义EM算法等 。
由于迭代规则容易实现并可以灵活考虑隐变量,EM算法被广泛应用于处理数据的缺测值 ,以及很多机器学习(machine learning)算法,包括高斯混合模型(Gaussian Mixture Model, GMM) 和隐马尔可夫模型(Hidden Markov Model, HMM) 的参数估计。
10. 什么样的高斯混合模型数据更适合em算法
应该是“过拟合”了吧。虽然在em中没有真正的“过拟合”一说,但是类别增多,每个数据点会以更高的概率分配到这些类别上。