How to create a multivariate gaussian mixture model??
6 views (last 30 days)
Show older comments
[counts,binLocations] = imhist(X);
stem(binLocations, counts, 'MarkerSize', 1 );
xlim([-1 1]);
% inital kmeans step used to initialize EM
K = 2; % number of mixtures/clusters
rng('default');
cInd = kmeans(X(:), K,'MaxIter', 75536);
% fit a GMM model
options = statset('MaxIter', 75536);
gmm = fitgmdist(X(:), K,'Start',cInd,'CovarianceType','diagonal','Regularize',1e-5,'Options',options);
The piece of code shows how to fit a GMM to a univariate Gaussian distribution. X is and image. But how this can be extended to create a a 2 component 2 dimensional multivariate GMM?
1 Comment
Sergio Cypress
on 17 Sep 2017
http://web.eecs.umich.edu/~cscott/pubs/tcem_tr.pdf this paper present EM algorithm to handle Multi GMM.
Answers (1)
Prashant Arora
on 19 Jul 2017
Hi Akshara,
The gmdistribution function supports multivariate gaussian distributions. Check the required dimensions of mu and sigma to create a multivariate 2 dimensional 2 component distribution.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!