MM(Majorize-Minimization, Minorize-Maximization)优化方法

学习笔记
转载自:https://www.cnblogs.com/qiuhlee/p/9298877.html


MM算法思想

MM算法是一种迭代优化方法,它利用函数的凸性来找到原函数的最大值或最小值。当原目标函数 f ( θ ) f(θ) f(θ)较难优化时,算法不直接对原目标函数求最优解,而去求解逼近于原目标函数的一个易于优化的目标函数 g ( θ ) g(θ) g(θ),通过对这个替代函数求解,使得 g ( θ ) g(θ) g(θ)的最优解逼近于 f ( θ ) f(θ) f(θ)的最优解。每迭代一次,根据所求解构造用于下一次迭代的新的替代函数,然后对新的替代函数最优化求解得到下一次迭代的求解。通过多次迭代,可以得到越来越接近目标函数最优解的解。

MM代表“Majorize-Minimization”或“Minorize-Maximization”,取决于所需的优化是最大化还是最小化。

  • Majorize-Minimization:每次迭代找到原非凸目标函数的一个上界函数,求上界函数的最小值。
  • Minorize-Maximization:每次迭代找到原非凸目标函数的一个下界函数,求下界函数的最大值。

以Minorize-Maximization为例, 使目标函数 f ( θ ) f(θ) f(θ)最大化。

在算法的第 m ( m = 0 , 1... ) m(m=0,1...) m(m=0,1...)步,若满足以下条件,则目标函数 f ( θ m ) f(θ_m) f(θm)可用构造函数 g m ( θ m ) g_m(θ_m) gm(θm)代替:
c o n d i t i o n    1 :    g m ( θ ) ≤ f ( θ m )    ∀ θ c o n d i t i o n    2 : g m ( θ m ) = f ( θ m ) condition \; 1: \; g_m(\theta) \le f(\theta_m) \; \forall \theta \\ condition \; 2: g_m(\theta_m) = f(\theta_m) condition1:gm(θ)f(θm)θcondition2:gm(θm)=f(θm)


MM算法步骤
  • 使 m = 1 m=1 m=1,并初始化 θ 0 {\theta}_0 θ0
  • 构造 g m ( θ ) g_m(θ) gm(θ)满足条件(1)和(2)。
  • θ m + 1 = a r g min ⁡ θ g m ( θ ) θ_{m+1} = arg \min_θ g_m(θ) θm+1=argminθgm(θ)
  • 使 m = m + 1 m=m+1 m=m+1,返回步骤2。


θ m \theta_m θm和目标函数的替代函数的迭代步骤如下图所示:

在这里插入图片描述

EM算法

期望最大化(EM)算法可以被视为MM算法的特殊情况,在机器学习中经常用到。MM算法与EM算法有联系但是又有区别,在EM算法中通常涉及条件期望,而在MM算法中,凸性和不等式是主要焦点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值