从两个例子理解EM算法

本文通过EM算法介绍如何求解含有隐变量的概率模型,以高斯混合模型和PLSA模型为例,详细阐述了EM算法的推导过程,包括E-step和M-step,并给出参数估计的更新公式。
摘要由CSDN通过智能技术生成

从两个例子理解EM算法

本文是作者对EM算法学习的笔记,从EM算法出发介绍EM算法,为了更好理解,用两个应用EM算法求解的例子进一步解释EM的应用。


EM算法

EM算法引入

EM算法,指的是最大期望算法(Expectation Maximization Algorithm,期望最大化算法),是一种迭代算法,在统计学中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。基本思想是首先随机取一个值去初始化待估计的参数值,然后不断迭代寻找更优的参数使得其似然函数比原来的似然函数大。

  • EM算法当做最大似然估计的拓展,解决难以给出解析解(模型中存在隐变量)的最大似然估计(MLE)问题
  • 在算法中加入隐变量的思想可以类比为几何题中加入一条辅助线的做法。

假定有训练集{ x(1),x(2),...x(m) x ( 1 ) , x ( 2 ) , . . . x ( m ) },包含 m m 个独立样本,希望从中找到该组数据的模型 p ( x , z ) 的参数。
对数似然函数表达如下:
这里写图片描述

在表达式中因为存在隐变量,直接找到参数估计比较困难,所以我们通过EM算法迭代求解下界的最大值,直到收敛。

我们通过以下的图片来解释这一过程:
这里写图片描述

图片上的紫色部分是我们的目标模型 p(x|θ) p ( x | θ ) 曲线,该模型比较复杂,难以直接求解其解析解,为了消除隐变量 z z 带来的影响,我们可以得到一个不包含的 z 的模型 r(x|θ) r ( x | θ ) (该函数是我们自己选定的,因此最大值可求解), 同时满足条件 r(x|θ)p(x|θ) r ( x | θ ) ≤ p ( x | θ )

  • 我们先取一个 θ1 θ 1 ,使得 r(x|θ1)=p(x|θ1) r ( x | θ 1 ) = p ( x | θ 1 ) (如绿线所示),然后再对此时的 r r 求其最大值,得到极值点 θ 2 ,实现参数的更新。
  • 不断重复以上过程,在更新过程中始终满足 rp r ≤ p 直到收敛。

从以上过程来看,EM算法的核心就是如何找到这个 r r ,即 p 的下界函数。

这个下界函数有多种方法理解,我们从Jensen不等式的角度来理解。

这里写图片描述

上述等号成立的条件是
p(x(i),z(i);θ)Qi(z(i))=c p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c , zQi(z(i))=1 ∑ z Q i ( z ( i ) ) = 1 ,所以:
这里写图片描述

最终框架如下:
这里写图片描述

EM推导高斯混合模型

高斯混合模型GMM

设有随机变量 X X , 则高斯混合模型可以用 p ( x ) = K π k N ( x | μ k , Σ k ) ,其中 (x|μk,Σk) N ( x | μ k , Σ k ) 表示混合模型中的第 k k 个分量 π k 表示混合系数,满足
kπk=10πk1 ∑ k π k = 1 , 0 ≤ π k ≤ 1

我们知道高斯函数的概率分布为 f(x)=1(2π)σexp((x

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值