怎么用matlab画gmm混合模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用matlab画gmm混合模型相关的知识,希望对你有一定的参考价值。

coef = (2*pi)^(-D/2) * sqrt(det(inv_pSigma)); Px(:, k) = coef * exp(-0.5*tmp); end end end 复制代码 MATLAB代码如上,第96行在执行时会出现 警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND = 1.718855e-21。 参考技术A close;
clear;
clc;
mu1 = [1 2];
Sigma1 = [2 0;0 0.5];
mu2 = [-3 -5];
Sigma2 = [1 0;0 1];
rng(1); %For reproducibility
x = [mvnrnd(mu1,Sigma1,1000);mvnrnd(mu2,Sigma2,1000)]; %2000x2
GMModel = fitgmdist(x,2); %fit GMM distribution
figure;
y = [zeros(1000,1);ones(1000,1)];
hold on;
ezsurf (@(x1,x2)pdf(GMModel,[x1 x2]),get(gca,'XLim','YLim'));
title('\bf 3-D Fitted Gausian Mixture');
hold off;
figure;
y = [zeros(1000,1);ones(1000,1)];
h = gscatter(x(:,1),x(:,2),y);
hold on;
ezcontour (@(x1,x2)pdf(GMModel,[x1 x2]),get(gca,'XLim','YLim'));
title('\bf Fitted Gaussian Mixture Contours');
legend(h,'Model 0','Model 1');
hold off;

高斯混合模型GMM核心参数高斯混合模型GMM的数学形式

高斯混合模型GMM、核心参数、高斯混合模型GMM的数学形式

 

高斯混合模型GMM

 

混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。混合模型不要求观测数据提供关于子分布的信息,来计算观测数据在总体分布中的概率。

高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

 

GMM是一种概率式的聚类方法,属于生成式模型,它假定所有的数据样本都是由某一给定参数的多元高斯分布生成的

每一个分布被称作GMM中的一个成分(component),或者聚类的簇,每一个成分都有自己的权重。

以上是关于怎么用matlab画gmm混合模型的主要内容,如果未能解决你的问题,请参考以下文章

使用 GMM 和 MATLAB 进行分类

GMM_example

Matlab中的无环高斯混合模型

matlab高斯拟合的初始值问题

机器学习3_EM算法与混合高斯模型

从 sklearn 中的高斯混合模型中获取 PDF