浅谈EM算法

        最近学习Grabcut,看了EM算法的博客,将我的理解整理了一下:

      首先看一下参数估计中点估计的一种方法:最大似然估计。

设总体X的分布函数的形式已知,但它的一个或多个参数未知,借助于总体X的样本来估计未知参数的值,该问题就是参数的点估计问题。我们收集到的样本都是独立同分布的,分布律P{X=x}=p(x|θ),我们按照一定的概率得到了一批样本,样本x1,x2....xn的联合分布律为p(x1|θ)*p(x2|θ)*.....*p(xn|θ).则观测值发生的概率为L(θ)=L(X1,X2.....Xn;θ)=p(x1|θ)*p(x2|θ)*.....*p(xn|θ),这个概率随着θ的取值变化而变化,它是θ的函数,L(θ)称为样本的似然函数。

        最大似然估计法:现在已经取到样本值【x1,x2......xn】,这表明取到这一样本值的概率L(θ)比较大,所以在θ可能的取值范围内挑选一个值使得似然函数L(θ)达到最大。这个参数值θ1就作为未知参数的估计值,即取θ1使得L(X1,X2.....Xn;θ1)=maxL(X1,X2.....Xn;θ),这样得到的θ1就称为参数θ最大似然估计值。

  为什么要引入EM算法呢??

       参数估计中的参数本身是依赖于数据的完整特征,但是如果只观察了部分特征X,因此需要引入隐藏特征Z才能建立起θ与X、Z之间的关系。

       问题:已知男、女身高分别符合两个参数不同的高斯分布。但只知道每个样本的身高,不知道样本标签(即是男还是女),此时,就无法对两个高斯分布的参数做出准确估计。

      目标:找到合适的θ和Z使得似然函数最大

         将每个样本看做二元组(Xi,Zi),其中,Xi是第i个样本的观测值,Zi是第i个样本的标签(隐藏值)【若Zi也已知,就可根据极大似然估计获得他们各自的高斯分布参数】,但若未知,就只能用EM算法了。

        解决方法:先假设男生的身高分布的参数,利用该假设将样本分类,经得到的样本重新计算高斯分布参数继续分类,迭代多次就可得到两类样本的大概分类。

EM算法

给定的训练样本是clip_image023,样例间独立,我们想找到每个样例隐含的类别z,能使得p(x,z)最大。p(x,z)的最大似然估计如下:

      clip_image024

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

      对于每一个样例i,让clip_image032表示该样例隐含变量z的某种分布,clip_image032[1]满足的条件是clip_image034。(如果z是连续性的,那么clip_image032[2]是概率密度函数,需要将求和符号换做积分符号)。比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。如果按照隐藏变量是男女,那么就是伯努利分布了。

可以由前面阐述的内容得到下面的公式:

      clip_image035

(2)到(3)利用了Jensen不等式, 根据Jensen不等式,要想让等式成立,需要让随机变量变成常数值,这里得到:

      clip_image063

      c为常数,不依赖于clip_image065。对此式子做进一步推导,我们知道clip_image067,那么也就有clip_image069,(多个等式分子分母相加不变,这个认为每个样例的两个概率比值都是c),那么有下式:

      clip_image070

至此,我们推出了在固定其他参数clip_image026[2]后,clip_image072的计算公式就是后验概率,解决了clip_image072[1]如何选择的问题。这一步就是E步,建立clip_image028[5]的下界。接下来的M步,就是在给定clip_image072[2]后,调整clip_image026[3],去极大化clip_image028[6]的下界(在固定clip_image072[3]后,下界还可以调整的更大)。那么一般的EM算法的步骤如下:

循环重复直到收敛 {

      (E步)对于每一个i,计算

                  clip_image074

      (M步)计算

                  clip_image075












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值