MM Algorithm
· 4 min read
info
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. Despite the name, MM itself is not an algorithm, but a description of how to construct an optimization algorithm.
MM 算法原理
MM 主要的思想是 非凸函数 太难优化了,我们就构造一个 “ 代理模型 ” ,通过迭代优化该函数达到优化的目的。
以最小化为例:
关于
这样的写法可能会很奇怪,其中第一个 是函数自变量,第二个 是指示第 个代理函数,下面的写法可能会更清晰:
假设 在 点,函数 很难最小化,我们就构造一个在此时好优化并且在它上面的函数 ,我们找到 的最小值点 ,然后下一步 移动到和 横坐标一样的点 ,用表达式表达为:
tip
而在上面更加形式化的表述为
这样,通过构造
这样的过程将会保证 会收敛到局部最优或者鞍点
而 MM 算法的名字也很有意思
info
最大化:
最小化:
导出算法
MM 原理很简单,但是如何构造 是一大问题,这里介绍两种构造 函数的方法——泰勒展开和凸不等式