【机器学习基础】EM算法

最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。

          最大期望算法经过两个步骤交替进行计算:

           第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;

           第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。

下面通过高斯混合模型和k-均值聚类方法来举例。

需要数学知识如下:

  1. 协方差
  2. 多维高斯模型
  3. 混合高斯模型

首先我们看下最简单的高斯模型:

【机器学习基础】EM算法_第1张图片

推导过程如下:

【机器学习基础】EM算法_第2张图片

【机器学习基础】EM算法_第3张图片

 

下面来看看多维高斯分布、【机器学习基础】EM算法_第4张图片

问题转化为:

【机器学习基础】EM算法_第5张图片

求解为:

 

【机器学习基础】EM算法_第6张图片

 

下面介绍高斯混合模型

【机器学习基础】EM算法_第7张图片

目标函数即极大似然函数为:

【机器学习基础】EM算法_第8张图片

问题来了,这个很难求极值。这个是非凸问题,无法求全局极值,只能求局部极值。

一般只能用下面三种方法

  1. 梯度下降
  2. 启发式方法
  3. EM算法(只对某一类局部极值问题有解)

这里对高斯模型就是采用我们的EM算法。为什么采用EM算法,理由如下:理论优美,不需要调任何参数。

下面是求解高斯混合模型参数的EM算法

1. 随机化参数 也就是假设有k个高斯分布

【机器学习基础】EM算法_第9张图片

2. E-step

【机器学习基础】EM算法_第10张图片

2. M-step

【机器学习基础】EM算法_第11张图片

4. 回到2E-step 循环 直到收敛。

证明略。

再看EM算法在k-means clustering的应用。【机器学习基础】EM算法_第12张图片

假定k是已知的。

【机器学习基础】EM算法_第13张图片

你可能感兴趣的:(算法)