期望极大算法-ExpectationMaximization算法

介绍

Expectation Maximization (EM) 是一种以迭代的方式来解决一类特殊最大似然 (Maximum Likelihood) 问题的方法,这类问题通常是无法直接求得最优解,但是如果引入隐含变量,在已知隐含变量的值的情况下,就可以转化为简单的情况,直接求得最大似然解。

EM是一种解决存在隐含变量优化问题的有效方法。竟然不能直接最大化,我们可以不断地建立的下界(E步),然后优化下界(M步)。

EM中每次迭代分两步: 1. E步,期望,通过观测数据和现有模型参数,估计missing data; 2. M步,极大化,加上missing data已知的情况下,最大化似然函数,更新模型参数

Kmeans就是应用EM思想的例子,E步,对所有数据点进行聚类(初始聚类中心可以随机);M步,更新聚类中心

问题描述

推导过程

我们的目标是极大化观测数据Y关于参数的对数似然函数,即:

上式中含有未知变量和的对数,很难得到解析解,EM通过迭代的方法,逐步逼近最优解

目标是极大化,所以第i+1次迭代,要求,考虑二者之差:

其中不等号是根据Jensen不等式得到的,简单说就是,如果f(x)是凸函数,X是随机变量,则有:

倒数第二步是根据 $$ \sum_Z P(Z Y,\theta^i)=1 $$ 得到的

显然有:,因此,的下限,极大化前者也可使后者增大,因此:

其中是常数,化简得:

所以,EM的迭代过程相当于求Q函数并最大化的过程

计算过程:

参考

  1. 统计机器学习,李航博士
  2. (EM算法)The EM Algorithm
  3. 漫谈 Clustering (番外篇): Expectation Maximization
TOP