图像缩略图

高斯混合模型的EM算法(EM-GMM)

版本1.16.0.1(4.71 KB)由 莫晨
高斯混合的EM算法。

45.8K下载

更新2018年12月5日

查看许可证

该软件包采用期望最大化(EM)算法拟合高斯混合模型(GMM),适用于任意维数据集。
为了提高数值稳定性,采用了对数域概率计算等技术,以避免在计算高维数据概率时经常出现的浮点数下溢现象。
通过使用顶点分解和矩阵分解,代码也被仔细调整为高效的。

这种算法被广泛使用。详细信息可以在伟大的教科书“模式识别和机器学习”或wiki页面上找到
http://en.wikipedia.org/wiki/Expectation-maximization_algorithm

此函数功能强大且高效,但代码结构组织有序,易于阅读。请尝试以下代码进行演示:
全部关闭;清除;
d=2;
k=3;
n=500;
[X,label]=mixGaussRnd(d,k,n);
plotClass(X,标签);

m=楼层(n/2);
X1=X(:,1:m);
X2=X(:,(m+1):结束);
%训练
[z1,模型,llh]=mixGaussEm(X1,k);
图形
地块(llh);
图形
plotClass(X1,z1);
%预测
z2=混合高斯分布(X2,模型);
图形
plotClass(X2,z2);

除了使用EM来拟合GMM,我强烈建议您尝试我的另一个提交:高斯混合模型的变分贝叶斯推理
(//www.tianjin-qmedu.com/matlabcentral/fileexchange/35362-variational-bayesian-inference-for-gaussian-mixture-model)它对GMM进行贝叶斯推理。该算法的优点是能够自动识别混合组分的个数。

根据要求,我还为样本外推断提供了一个预测函数。

此函数现在是PRML工具箱的一部分(//www.tianjin-qmedu.com/matlabcentral/fileexchange/55826-pattern-recognition-and-machine-learning-toolbox)
对于任何想知道如何完成作业的人,不要给我发电子邮件。

引用为

莫晨(2021)。高斯混合模型的EM算法(EM-GMM)(//www.tianjin-qmedu.com/matlabcentral/fileexchange/26184-em-algorithm-for-gaussian-mixture-model-em-gmm),MATLAB中心文件交换.

MATLAB版本兼容性
使用R2009b创建
与任何版本兼容
平台兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!