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

8 ビュー (過去 30 日間)
A. P. B.
A. P. B. 2017 年 6 月 23 日
コメント済み: Catherine Davey 2023 年 5 月 7 日
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 件のコメント
SAFAA ALQAYSI
SAFAA ALQAYSI 2017 年 9 月 13 日
Adem would you please let me know the way you did with GMM and the hierarchical clustering ????
Thanks
Catherine Davey
Catherine Davey 2023 年 5 月 7 日
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.

サインインしてコメントする。

回答 (1 件)

the cyclist
the cyclist 2017 年 6 月 23 日
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!

Translated by