MATLAB GMM by fitgmdist gives different values even after initializing using kmeans

8 views (last 30 days)
So I am trying to compare two Gaussian Mixture Models with two distributions every time I run the program i get different values even after initializing using k-means. Am I missing something??
X = mat_cell;
[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
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);
  5 Comments
SAFAA ALQAYSI
SAFAA ALQAYSI on 13 Sep 2017
Adem would you please let me know the way you did with GMM and the hierarchical clustering ????
Thanks
Catherine Davey
Catherine Davey on 7 May 2023
K-means is not deterministic. Given that K-means will give a different result each time it is run, you cannot use it to ensure identical runs for the GMM algorithm.

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 23 Jun 2017
Set the seed for the pseudorandom number generation in your code. For example, put the line
rng 'default'
as the first line.
This will give you a pseudorandom sequence, but it will be reproducible.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!