EM算法详解

EM算法是一种迭代优化策略,用于处理数据缺失情况下的参数估计问题,常见于机器学习和数据挖掘。本文深入介绍了EM算法的原理、预备知识、详细步骤及若干思考,包括极大似然估计和Jensen不等式,以及在GMM、HMM和LDA等模型中的应用。通过实例和思考,展示了EM算法的迭代过程和局限性。

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

                                                           "微信公众号"

                              

目录

1. 摘要

2. EM算法简介

3. 预备知识

3.1 极大似然估计

(1)问题描述

(2)用数学知识解决现实问题

(3)最大似然函数估计值的求解步骤

3.2 Jensen不等式

(1)定义

(2)举例

4. EM算法详解

4.1 问题描述

4.2 EM算法推导流程

4.3 EM算法流程

5. EM算法若干思考

5.1 对EM算法的初始化研究

5.2 EM算法是否一定收敛?

5.3 如果EM算法收敛,能否保证收敛到全局最大值?

6. EM算法实例

7. 对EM算法总结

Reference:


1. 摘要

EM(Expectation-Maximum)算法也称期望最大化算法,曾入选“数据挖掘十大算法”中,可见EM算法在机器学习、数据挖掘中的影响力。EM算法是最常见的隐变量估计方法,在机器学习中有极为广泛的用途,例如常被用来学习高斯混合模型(Gaussian mixture model,简称GMM)的参数;隐式马尔科夫算法(HMM)、LDA主题模型的变分推断等等。本文就对EM算法的原理做一个详细的总结。

【扩展阅读】数据挖掘中十大算法论文:

Wu X, Kumar V, Quinlan J R, et al. Top 10 algorithms in data mining[J]. Knowledge and information systems, 2008, 14(1): 1-37.

论文下载地址:http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf

2. EM算法简介

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation-Maximization Algorithm)。EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题,其算法基础和收敛有效性等问题在Dempster、Laird和Rubin三人于1977年所做的文章《Maximum likelihood from incomplete data via the EM algorithm》中给出了详细的阐述。其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。

【扩展阅读】提出EM算法的论文

Dempster A P, Laird N M, Rubin D B. Maximum likelihood from incomplete data via the EM algorithm[J]. Journal of the royal statistical society. Series B (methodological), 1977: 1-38.

论文下载地址:http://web.mit.edu/6.435/www/Dempster77.pdf

3. 预备知识

想清晰的了解EM算法推导过程和其原理,我们需要知道两个基础知识:“极大似然估计”和“Jensen不等式”。

3.1 极大似然估计

(1)问题描述

假如我们需要调查学校的男生和女生的身高分布 ,我们抽取100个男生和100个女生,将他们按照性别划分为两组。然后,统计抽样得到100个男生的身高数据和100个女生的身高数据。如果我们知道他们的身高服从正态分布,但是这个分布的均值\mu和方差\sigma^2 是不知道,这两个参数就是我们需要估计的。

问题:我们知道样本所服从的概率分布模型和一些样本,我们需要求解该模型的参数。如图1所示。

                                  

                                                                                     图1:问题求解过程

我们已知的条件有两个:样本服从的分布模型、随机抽取的样本。我们需要求解模型的参数。根据已知条件,通过极大似然估计,求出未知参数。总的来说:极大似然估计就是用来估计模型参数的统计学方法。

(2)用数学知识解决现实问题

问题数学化:样本集X=\left\{ x_{1},x_{2},...,x_{N} \right\},N=100。概率密度是:p\left ( x_{i}|\theta \right )p\left ( x_{i}|\theta \right )p(x_{i}|\theta)抽到第i个男生身高的概率。由于100个样本之间独立同分布,所以同时抽到这100个男生的概率是它们各自概率的乘积,就是从分布是p(X|θ)的总体样本中抽取到这100个样本的概率,也就是样本集X中各个样本的联合概率,用下式表示:

L(\theta)=L(x_{1},x_{2},...,x_{n};\theta)=\prod_{i=1}^{n}p(x_{i};\theta),\theta\in\Theta

这个概率反映了在概率密度函数的参数是θ时,得到X这组样本的概率。 我们需要找到一个参数θ,使得抽到X这组样本的概率最大,也就是说需要其对应的似然函数L(θ)最大。满足条件的θ叫做θ的最大似然估计值,记为:

\hat{\theta}=argmaxL(\theta)

(3)最大似然函数估计值的求解步骤

  • 首先,写出似然函数:

L(\theta)=L(x_{1},x_{2},...,x_{n};\theta)=\prod_{i=1}^{n}p(x_{i};\theta),\theta\in\Theta

  • 其次,对似然函数取对数:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值