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

MM算法思想

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

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

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

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

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

在算法的第m(m=0,1...)步,若满足以下条件,则目标函数f(θm)可用构造函数gm(θm)代替。

gm(θ)f(θm)  θ

gm(θm)=f(θm)

MM算法步骤

  1. 使m=1,并初始化θ0
  2. 构造gm(θ)满足条件(1)(2)
  3. θm+1=argminθ gm(θ)
  4. 使m=m+1,返回步骤2。

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

由以上条件可得如下不等式:

f(θm+1)gm(θm+1)g(θm|θm)=f(θm)

posted @   qiuhlee  阅读(7081)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示