EM算法

来源:互联网 发布:tns数据帧结构 编辑:程序博客网 时间:2024/06/06 07:43

  最大期望算法(Expectation-maximization algorithm,又译期望最大化算法)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。
  在讲EM算法之前,先复习下概率论里的最大似然估计。

最大似然估计
  两个基本概念:总体和样本
  总体:研究对象的所有可能的观察结果称为总体。
  样本:从总体中抽取一部分样品,称为总体的一个样本。
  要了解总体的统计规律,就应该对研究对象的所有观察结果进行研究,一一加以测定,这在实际中常常是不可能的或者不必要的。例如,某个灯泡厂需要了解灯泡的平均寿命,要实际测定它所生产的每一个灯泡的寿命是不可能的,而往往是从所有灯泡中随即选取一些灯泡进行测定。数理统计方法就是要通过研究样本来了解和判断总体的统计特性的科学方法。

  求极大似然函数估计值的一般步骤:
  (1) 写出似然函数;
  (2) 对似然函数取对数,并整理;
  (3) 求导数 ;
  (4) 解似然方程 。

来看一个例子:
离散分布,连续参数空间
  现在假设盒子中有无数个硬币,抛出正面概率为p,硬币正面跟反面轻重不同。我们把这个硬币抛80次,我们获取一个采样,正面记为H,反面记为T。假设我们抛出了49个正面,31个反面,即49次H,31次T。
我们来求其似然函数的最大值:

  我们可以使用微分法来求最值。方程两边同时对 取微分,并使其为零。

  P=49/80,即为最大似然估计值。

连续分布,连续参数空间
  最常见的连续概率分布是正态分布,其概率密度函数如下:
  
  现在有 个正态随机变量的采样点,要求的是一个这样的正态分布,这些采样点分布到这个正态分布可能性最大(也就是概率密度积最大,每个点更靠近中心点),其n个正态随机变量的采样的对应密度函数(假设其独立并服从同一分布)为:
  
  或:
  
  这个分布有两个参数,上边的例子都只是在一个参数上对可能性进行最大化。实际上,在两个参数上的求最大值的方法也差不多:只需要在两个参数上最大化即可。
  
  同理,我们对 求导,并使其为零。
  
  可以得到,其最大似然估计为:
  

EM算法
  在统计计算中,最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
  
  如果统计了百度的一组工资数据,让你计算其高斯分布参数,很显然你可以用极大似然估计轻松解决,但是如果统计了BAT三家公司的数据,并且你不知道每项数据来自哪家公司(所谓的隐变量),那怎么办呢?
  首先我们建立模型,假设样本为Xi(对应上面的工资数据),相互间独立,我们想找到每个样例隐含的类别Zi(对应上面的哪家公司),能使得似然估计最大:

  (1)式是对极大似然取对数,(2)式是对每个样例的可能类别z求联合分布概率和。
  但是上面的Zi未知,怎么求解呢?
  对于每一个样例i,假设Qi表示该样例隐变量z的某种分布,Qi满足的条件是∑Qi(z)=1,Qi(z)>0。
  
  上面的(5)式用到了Jensen不等式,什么是Jensen不等式,看下面这张图你就明白了。
  
  简单点说也就是,如果f(x)是一个凹函数的话,f(E(x))<=E(f(x)),当随机变量为常数值取等号。对于凸函数,刚好相反。
  好了,让我来看(5)式中取等号的情况,此时有
  
  c为常数,不依赖于zi。
   又有∑Qi(z)=1,则:
  
  得到:
  
  那么我们在固定θ后,就可以求得Qi(z),这也就是所谓的E步骤。
  在给定Qi(z)后,我们调整参数θ,极大化ℓ(θ)的下界,逼近ℓ(θ),这就是所谓的M步骤.
  
  因为p(z|x,θt)logp(z|x,θt)中的θt都是定值,所以对θ求偏导时,会消掉,因此M步最大化的只有第一项sumzp(z|x,θt)logp(x,z|θ),即complete-data关于隐变量z的期望Ez|x,θt[logp(x,z|θ)]。

  整个过程如下:
  
  

总结:
  EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术。EM的算法流程如下:
  初始化分布参数
  重复直到收敛:
  E步骤:估计未知参数的期望值,给出当前的参数估计。
  M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。

参考:
https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1
https://www.zybuluo.com/Hederahelix/note/101970
https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E6%9C%9F%E6%9C%9B%E7%AE%97%E6%B3%95

0 0
原创粉丝点击