  The EM algorithm is a special case of a more general algorithm called the MM
algorithm. Specific MM algorithms often have nothing to do with missing data.
The first M step of an MM algorithm creates a surrogate function that is
optimized in the second M step. In minimization, MM stands for
majorize--minimize; in maximization, it stands for minorize--maximize. This
two-step process always drives the objective function in the right direction.
Construction of MM algorithms relies on recognizing and manipulating
inequalities rather than calculating conditional expectations. This survey
walks the reader through the construction of several specific MM algorithms.
The potential of the MM algorithm in solving high-dimensional optimization and
estimation problems is its most attractive feature. Our applications to random
graph models, discriminant analysis and image restoration showcase this
ability.
