# MM algorithm

The MM algorithm is an iterative optimization method which exploits the convexity of a function in order to find their maxima or minima. The MM stands for “Majorize-Minimization” or “Minorize-Maximization”, depending on whether the desired optimization is a maximization or a minimization. MM itself is not an algorithm, but a description of how to construct an optimization algorithm.

The EM algorithm can be treated as a special case of the MM algorithm.[1][2] However, in the EM algorithm conditional expectations are usually involved, while in the MM algorithm convexity and inequalities are the main focus, and it is easier to understand and apply in most cases.

## History

The historical basis for the MM algorithm can be dated back to at least 1970, when Ortega and Rheinboldt were performing studies related to line search methods.[3] The same concept continued to reappear in different areas in different forms. In 2000, Hunter and Lange put forth "MM" as a general framework.[4] Recent studies have applied the method in a wide range of subject areas, such as mathematics, statistics, machine learning and engineering.

## Algorithm

The MM algorithm works by finding a surrogate function that minorizes or majorizes the objective function. Optimizing the surrogate function will drive the objective function upward or downward until a local optimum is reached.

Taking the minorize-maximization version, let ${\displaystyle f(\theta )}$ be the objective concave function to be maximized. At the m step of the algorithm, ${\displaystyle m=0,1...}$, the constructed function ${\displaystyle g(\theta |\theta _{m})}$ will be called the minorized version of the objective function (the surrogate function) at ${\displaystyle \theta _{m}}$ if

${\displaystyle g(\theta |\theta _{m})\leq f(\theta ){\text{ for all }}\theta }$
${\displaystyle g(\theta _{m}|\theta _{m})=f(\theta _{m})}$

Then, maximize ${\displaystyle g(\theta |\theta _{m})}$ instead of ${\displaystyle f(\theta )}$, and let

${\displaystyle \theta _{m+1}=\arg \max _{\theta }g(\theta |\theta _{m})}$

The above iterative method will guarantee that ${\displaystyle f(\theta _{m})}$ will converge to a local optimum or a saddle point as m goes to infinity.[5] By the above construction

${\displaystyle f(\theta _{m+1})\geq g(\theta _{m+1}|\theta _{m})\geq g(\theta _{m}|\theta _{m})=f(\theta _{m})}$

The marching of ${\displaystyle \theta _{m}}$ and the surrogate functions relative to the objective function is shown in the figure.

MM algorithm

Majorize-Minimization is the same procedure but with a convex objective to be minimised.

## Constructing the surrogate function

One can use any inequality to construct the desired majorized/minorized version of the objective function. Typical choices include

## References

1. ^ Lange, Kenneth. "The MM Algorithm" (PDF).
2. ^ Kenneth Lange: "MM Optimization Algorithms", SIAM, ISBN 978-1-611974-39-3 (2016).
3. ^ Ortega, J.M.; Rheinboldt, W.C. (1970). "Iterative Solutions of Nonlinear Equations in Several Variables". New York: Academic: 253–255.
4. ^ Hunter, D.R.; Lange, K. (2000). "Quantile Regression via an MM Algorithm". Journal of Computational and Graphical Statistics. 9: 60–77. doi:10.2307/1390613.
5. ^ Wu, C. F. Jeff (Mar 1983). "On the Convergence Properties of the EM Algorithm"
6. ^ Naghsh, Mohammad Mahdi; Soltanalian, Mojtaba; Stoica, Petre; Masjedi, Maryam; Ottersten, Bjorn (2016). "Efficient Sum-Rate Maximization for Medium-Scale MIMO AF-Relay Networks". IEEE Transactions on Wireless Communications. 15 (9): 6400–6411.