EXPECTATION MAXIMIZATION
The Expectation-Maximization (EM) algorithm is a way to find maximum-likelihood estimates for model parameters when your data is incomplete, has missing data points, or has unobserved (hidden) latent variables.
The basic steps for the EM algorithm are:
1. An initial guess is made for the models parameters and a probability distribution is created. This is sometimes called the E-Step for the Expected distribution.
2. Newly observed data is fed into the model.
3. The probability distribution from the E-step is tweaked to include the new data. This is sometimes called the M-step.
4. Steps 2 through 4 are repeated until stability (i.e. a distribution that doesnt change from the E-step to the M-step) is reached.
The EM Algorithm always improves a parameters estimation through this above given process. However, it sometimes needs a few random starts to find the best model. The EM algorithm can be very slow, even on the fastest computer. It works best when dataset have a small percentage of missing data and the dimensionality of the data isnt too big.