matlab - Matlab 中缺失数据的期望最大化

标签 matlab machine-learning data-mining gaussian expectation-maximization

我必须使用EM来估计两个类中每个类的高斯分布的均值和协方差。他们也有一些缺失的属性。

每个对象的类都是已知的。因此,问题基本上简化为拟合缺失元素的高斯模型。

哪个是最好使用的库?

ECM算法与EM算法有何不同?

最佳答案

如果您有权访问统计工具箱,则可以使用 GMDISTRIBUTION使用 EM 算法拟合高斯混合模型的类。

这是一个例子:

%# sample dataset
load fisheriris
data = meas(:,1:2);
label = species;

%# fit GMM using EM
K = 2;
obj = gmdistribution.fit(data, K);

%# assign points to mixtures: argmax_k P(M(k)|data)
P = posterior(obj, data);
[~,mIDX] = max(P,[],2);

%# GMM components
obj.mu             %# means
obj.Sigma          %# covariances
obj.PComponents    %# mixture weights

%# visualize original data clusters
figure
gscatter(data(:,1), data(:,2), label)

%# visualize mixtures found
figure
gscatter(data(:,1), data(:,2), mIDX), hold on
ezcontour(@(x,y)pdf(obj,[x y]), xlim(), ylim())

enter image description here

如果没有,请查看优秀的 Netlab Toolbox ,因为它有 GMM 实现。

关于matlab - Matlab 中缺失数据的期望最大化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7317836/

相关文章:

python - keras访问预训练模型的层参数以卡住

machine-learning - WSD 任务的细粒度和粗粒度分数之间的差异?

用于数据挖掘的 JSON 到 R

matlab - 根据唯一值频率对向量进行排序

Matlab:使用颜色图将一维数组转换为 RGB 三元组

matlab - 如何最好地解决此 MATLAB 名称冲突?

matlab - 3D 空间中的旋转

machine-learning - 一种轻便且准确的分类器,可在资源有限的设备上使用

data-mining - OLAP 和数据挖掘。如何 ?

python - 聚类余弦相似度矩阵