Closed junhyeokahn closed 6 years ago
Hello,
Sorry for the late answer, I somehow missed your question.
GMM (as well as K-Means) is indeed quite sensitive to initial mean assignments. So, if the initial mean values don't cover all the clusters in the data, t's quite hard for the algorithm to properly reassign them. What people frequently do in practice to circumvent this is finding the initial mean assignment using cheaper K-Means, and then running an EM to train a GMM (see Bishop's "PRML", page 438).
The results shown in the "gmm-best.png" (as well as "kmeans-best.png") are the best results obtained from a series of tf_gmm.py (and tf_kmeans.py) runs (which is kind of manifested in the file names :)).
Hope this helps!
How do you actually get a result shown in gmm-best.png. I mean, among several algorithms, which one did you use to get the best result. By just running your codes (e.g. tf_gmm_diag.py, tf_gmm_full.py, tf_gmm_grad, tf_gmm.py), they mostly give incomplete result as below.
Is gmm sensitive to initial mean assignment?