EM算法详细推导(最详细版本!)

编程入门 行业动态 更新时间:2024-10-09 16:29:40

EM算法<a href=https://www.elefans.com/category/jswz/34/1770261.html style=详细推导(最详细版本!)"/>

EM算法详细推导(最详细版本!)

原文链接:

1.前置知识

极大似然函数和极大似然估计

假设总体的概率函数为 p(x ; θ), 其中 θ 是一个未知参数或几个未知参数组成的参数向量,属于取值的参数空间。 x1, x2 ... xn是来自该总体的样本,将样本的联合概率函数表示为 θ 的函数:

设 ​,表示我们从总体样本(参数为 θ )中,连续抽取到x1,...xn样本的概率,即为单个样本的乘积,所以L(θ) 是一个连乘函数,称为样本的似然函数

L(θ)是参数 θ 的函数,随着 θ 在参数变化,L函数也在变化。而极大似然估计目的就是在样本{x1,...,xn}固定的情况下,寻找最优的 θ 来极大化似然函数

上式在数学领域,可以看作是对 θ* 求解,求L(θ) 函数的极值点,导数为0处,即为 θ* 的点。

又因为L(θ) 和 ln(θ) 在同一个 θ 处取得极值,我们可以对 L(θ) 取对数,将连乘转化为连加(方便求导),得到对数化似然函数:

Jensen不等式

设 f 是定义域为实数的函数,如果对所有实数X,f的二阶导数恒大于等于0,那么f为凸函数。Jensen不等式表达如下:如果 f 为凸函数,X为随机变量,那么

凹函数则相反。

Jensen不等式的等号成立的条件是当X为常量,即:函数f 的值为一条直线。

若随机变量X的分布用分布列 p(xi)或用密度函数 p(x)表示,则X的某一函数的数学期望为:

我们这里的数据为样本点,是离散型,所以用上面的形式。

边际分布列

在二维离散随机变量(X, Y)的联合分布列{P(X=xi, Y=yj)}中,对j求和所得的分布列

称为X的分布列。对Y求和同理。

2.EM算法推导

数据集

观测数据:观测到的随机变量X的样本:X = (x1,..., xn)

隐含变量:未观测到的随机变量Z的值:

Z = (z1,..., zn)

完整数据:包含观测到的随机变量X和隐含变量Z的数据:

Y = (X, Z) = ((x1, z1),..., (xn, zn))

EM算法的推导

Em算法是从含有隐含变量的数据(完整数据)中计算极大似然估计。Z为隐含变量,则从可观测数据入手,对参数进行极大似然估计。

首先改写L(θ) :

式1将​用边缘分布列反向拆分为联合分布。

接下来,定义隐含变量Z的分布Qi:

我们在(1)式的 ln 里,分子分母同乘一个值,得到(2)式:

接下来需要利用到Jensen不等式和数学期望,在期望方程中,我们用到了

如上公式。套用在(2)式中,我们定义为:

套用到Jensen不等式中,式(2)即变为式(3):

根据Jensen不等式,其中ln x为凹函数,公式如下:

接下来我们将(4)式展开,得到如下:

那么,我们可以得到L(θ) 和 (5) 的关系:

我们可以将(5)式看作是 θ 的函数,θ 又是概率模型中的参数,那么上式求得的左式,即为L(θ)的下界

我们求θ的过程,可以看作图中右移的过程, 在给定θ之后,求Qi的过程,即为上移的过程。

3.等式成立的条件

将上图推导的(5)式复制下来:

我们首先固定住 θ,选择Q的可能分布,当等号成立的时候,即为达到L(θ)的下界。

根据Jensen不等式等号成立的条件:

Jensen不等式的等号成立的条件是当X为常量,即:函数f的值为一条直线。

即等号成立的条件为:

即Jensen不等式中,上图为我们定义的X。我们可以通过如下方法对C进行变换:

可以得到C的代值。我们用C的代值来代替等号成立条件时的右边C,那么可以进一步推理:

则可以得到Qi(zi)的代值,即p(zi | xi ; θ)​。从概率的角度而言,表示为在θ参数的模型中,在xi的条件下,取到zi的概率。

至此,EM算法的推导结束了,接下来系统的讲一下EM算法的逻辑步骤:

E步骤:固定θ,求隐含变量zi的概率分布,Qi(zi)​。

M步骤:给定​,用极大似然估计来计算θ,并更新。

 

更多推荐

EM算法详细推导(最详细版本!)

本文发布于:2024-03-12 18:04:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732101.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详细   算法   版本   EM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!