MM 算法与 EM算法概述

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

上一篇:Linux操作系统设置SSH及SFTP通过密钥登录


下一篇:(转)修改及查看mysql数据库的字符集