Definition

The MM algorithm is an iterative optimization method which exploits the convexity of a function in order to find its maxima or minima. The MM stands for Majorize-Minimization or Minorize-Maximization, depending on whether the desired optimization is a minimization or a maximization.

The MM algorithm works by finding a surrogate function that minorizes or majorizes the objective function. Optimizing the surrogate function will monotonically improve the value of the objective function.

Algorithm

Consider Minorize-Maximization algorithm for a maximization problem of a function .

  1. Find a surrogate function (minorized ) satisfying:
  2. Find a point maximizes the surrogate function Then,
  3. Use the maximum point as the next point.
  4. Re-evaluate the surrogate function at the new point and repeat Iteration until convergence to a (local) maximum.