图片缩略图

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

version 1.16.0.1 (4.71 KB) by 莫陈
EM算法的高斯混合。

45.8 k下载

更新2018年12月05

查看许可协议

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

该算法得到了广泛的应用。详细内容可以在《模式识别与机器学习》或维基页面中找到
http://en.wikipedia.org/wiki/Expectation-maximization_algorithm

这个函数是健壮的和高效的,但是代码结构是很容易阅读的。请尝试下面的代码演示:
关闭所有;清晰;
d = 2;
k = 3;
n = 500;
[X,标签]= 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 = mixGaussPred (X2,模型);
图;
plotClass (X2, z2);

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

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

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

引用作为

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

MATLAB版本兼容性
创建R2009b
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!