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?)可用構造函數gm(θm)g_m(θ_m)gm?(θm?)代替:
condition1:gm(θ)≤f(θm)?θcondition2:gm(θ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=1m=1m=1,并初始化θ0{\theta}_0θ0?。
- 構造gm(θ)g_m(θ)gm?(θ)滿足條件(1)和(2)。
- 令θm+1=argmin?θgm(θ)θ_{m+1} = arg \min_θ g_m(θ)θm+1?=argminθ?gm?(θ)。
- 使m=m+1m=m+1m=m+1,返回步驟2。
?
θm\theta_mθm?和目標函數的替代函數的迭代步驟如下圖所示:
EM算法
期望最大化(EM)算法可以被視為MM算法的特殊情況,在機器學習中經常用到。MM算法與EM算法有聯系但是又有區別,在EM算法中通常涉及條件期望,而在MM算法中,凸性和不等式是主要焦點。
總結
以上是生活随笔為你收集整理的MM(Majorize-Minimization, Minorize-Maximization)优化方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朝朝盈限额是多少?招行银行朝朝盈限额介绍
- 下一篇: 小班教案《剥毛豆》反思