期望最大化(Expectation Maximization)算法介绍

期望最大化(EM)算法是一种在数据集存在缺失值或隐变量时用于最大似然估计的迭代方法。算法包括E步(期望)和M步(最大化)两个阶段,通过不断迭代寻找模型参数的局部最优解。EM算法虽然不保证找到全局最优,但在许多概率模型如HMM和LDA中起到关键作用。其收敛性得到保证,但初值选择对结果影响较大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 前言

期望最大化(Expectation Maximization)算法(EM算法)在实际的应用中受到的关注不是特别的重,但是在学术中EM算法是其它很多算法的基础,如隐马尔科夫算法(HMM),LDA主题模型的变分推断等等。所以,理解EM算法对其它算法的学习还是很重要的。本文是对期望最大化算法(EM算法)做一个总结。

概率模型有时既含有观测变量,又含有隐变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法或贝叶斯估计法估计参数模型。但是,当模型含有隐变量或者含有缺失值的时候,就不能简单地使用这些方法估计了。EM算法就是一个在数据集中有缺失值或者含有隐变量的时候能有效的计算最大似然估计的迭代过程。

EM算法包含两个步骤,E步和M步。E步也就是我们求期望的步骤,M步将E步所求的期望最大化,重复E步和M步直到收敛,也就是我们估计的模型参数不再发生变化或者变化幅度很小。这就是EM算法的基本概括,下面我们来详细的介绍EM算法。

二. EM算法描述

输入:观测数据x=\left \{ x^{(1)},x^{(2)},...,x^{(n)} \right \},联合分布P(x,y|\theta ),条件分布P(y|x,\theta),其中y是隐变量;

输出:模型参数\theta

(1)随机初始化参数的初值\theta^{(0)}

(2)重复(a)和(b)直到模型参数\theta收敛:

(a)E步:记\theta^{(i)}为第i次迭代参数\theta的估计值,在第i+1次迭代的E步,计算: 

                              \gamma _{iy}=p(y|x{_{i}},\theta^{(t)})

                      期望:Q(\theta,\theta^{(t)})=\sum_{i=1}^{n}\sum_{y=1}^{K}p(y|x{_{i}},\theta^{(t)})log\frac{p(x{_{i}},y|\theta)}{p(y|x{_{i}},\theta^{(t)})}

(b)M步:最大化期望Q(\theta,\theta^{(t)}),得到\theta^{(t+1)}

                               \theta^{(t+1)}=\arg\underset{\theta}{\max} Q(\theta,\theta^{(t)})

以上就是EM算法的算法流程,接下来我们详细的推到EM算法。

三. EM算法分析

首先要明确我们的目标是给定观测数据x=\left \{ x^{(1)},x^{(2)},...,x^{(n)} \right \},我们求观测概率最大的时的模型参数\theta,所以我们可以用最大似然估计法,极大化模型分布的对数似然函数,如下:

                            \theta=\arg\underset{\theta}{\max}\sum_{i=1}^{n}\log{p(x{_{i}}|\theta)}

我们取l(\theta)如下,并引入隐变量y:

                          l(\theta)=\sum_{i=1}^{n}\log{p(x{_{i}}|\theta)}

                                 =\sum_{i=1}^{n}\log{\sum_{y=1}^{K}p(x{_{i}},y|\theta)}

由于上式并没有一个很好的闭合解,所以上式根本就不好优化,没有办法求出我们的目标\theta,所以我们使用了一些技巧,在介绍技巧之前我们向介绍一下Jensen不等式。

Jensen不等式:如果f是定义在区间I= [a,b]上的凸函数,如果x{_{1}},x{_{2}},...,x{_{n}}\in I\lambda {_{1}},\lambda {_{2}},...,\lambda {_{n}}\geq 0

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值