Questions revolving GMM & EM I am currently reading about the guassian mixture model and the expectation–maximization algorithm. From what I am reading the two differences between the two here is what I've come up with so far, are they correct?


*

*GMM is a model, it's a way to represent the data (subpopulations of the entire population)

*EM is an algorithm, it is a process to represent a specific model (GMM in this case)


My final question is, let's say you have a population, I've been reading that you must define k (amount of clusters) before using an algorithm (EM in this case). Is this related to supervised vs. unsupervised algorithms? In other words, in supervised algorithms you define how many clusters there are in advance and train the cluster, while unsupervised would calculate the amount of clusters it's own. Is this the reason why you must define k?
 A: First, you're right that GMM is a model. EM is not a model. EM helps to find values of variables within a model.
That you have to define $k$ before using EM is not itself to do with supervised/unsupervisedness. AFAIK it is to do with the fact that the standard EM algorithm supposes you know the structure of the model / what parameters are involved. 
The finite-GMM is a model for the structure of a dataset. EM helps to fit the finite-GMM to a particular dataset. Once you have the structure you can use that as a springboard for doing a classification/regression task. 
By way of contrast, you can have non-parametric clustering algorithms for regression. I.e. where you do not specify $k$, and both the number of clusters and cluster assignments are learnt from the data. Other algorithms are used for inference in such models e.g. MCMC.
Supervised/unsupervised is about whether you're trying to minimize some kind of loss function by the settings in a model, or whether you're just learn about the structure of the data itself.
