Expectation Maximization (often abbreviated EM) is an iterative algorithm that can be used for maximum likelihood estimation in the presence of missing data or hidden variables.