1、MM 算法:
MM算法是一種迭代優化方法,利用函數的凸性來尋找它們的最大值或最小值。 MM表示 “majorize-minimize MM 算法” 或“minorize maximize MM 算法”,取決於需要的優化是最大化還是最小化。 MM本身不是算法,而是一種如何構造優化算法的描述。
MM算法的思想是不直接對目標函數求最優化解,轉而找到一個目標函數的替代函數,對這個替代函數求解。每迭代一次,根據所求解構造用於下一次迭代的新的替代函數,然后對新的替代函數最優化求解得到下一次迭代的求解。通過多次迭代,可以得到越來越接近目標函數最優解的解。
(1)目標函數最小化問題:
此時,MM算法具體為 majorize-minimize MM 算法。思想是,每次迭代找到一個目標函數的上界函數,求上界函數的最小值。
(2)目標函數最大化問題:
此時,MM算法具體為 minorize maximize MM 算法。思想是,每次迭代找到一個目標函數的下界函數,求下界函數的最大值。
2、EM 算法:
EM算法是機器學習中常用到的優化算法。EM算法可以被看作是MM算法的一個特例。
然而,在EM算法中通常涉及到條件期望值,而在MM算法中,凸性和不等式是主要的焦點,並且在大多數情況下更容易理解和應用。
EM 算法的目標是:找到具有潛在變量(隱含變量)的模型的最大似然解。
【Reference】
1. A Tutorial on MM Algorithms. David R Hunter &Kenneth Lange
2. MM algorithms for generalized Bradley-Terry models. David R. Hunter (A Psychological Model for Consumption Prediction cites it)
3. Wiki :MM algorithm