EM算法介绍

EM算法是一种迭代优化策略,用于估计模型参数。首先基于观测数据估计参数,再估计缺失数据,然后更新参数,反复迭代直至收敛。极大似然估计是EM算法的基础,用于在已知数据分布模型和观测样本的情况下估计未知参数。文中通过硬币投掷问题介绍了EM算法的简单应用和考虑隐变量的进阶版本,并提到了GMM模型。
摘要由CSDN通过智能技术生成

EM算法

什么是EM算法?

EM算法也称期望最⼤化(Expectation-Maximum,简称EM)算法。它是⼀个基础算法,是很多机器学习领域算法的基础,⽐如隐式⻢尔科夫算法(HMM)等等。EM算法是⼀种迭代优化策略,由于它的计算⽅法中每⼀次迭代都分两步,其中⼀个为期望步(E步),另⼀个为极⼤步(M步),所以算法被称为EM算法(Expectation-Maximization Algorithm)。
其基本思想是:
⾸先根据⼰经给出的观测数据,估计出模型参数的值;
然后再依据上⼀步估计出的参数值估计缺失数据的值;’
再根据估计出的缺失数据加上之前⼰经观测到的数据重新再对参数值进⾏估计;然后反复迭代,直⾄最后收敛,迭代结束。
在这里插入图片描述

极大似然估计

假如我们需要调查学校的男⽣和⼥⽣的身⾼分布 ,我们抽取100个男⽣和100个⼥⽣,将他们按照性别划分为两组。然后,统计抽样得到100个男⽣的身⾼数据和100个⼥⽣的身⾼数据。如果我们知道他们的身⾼服从正态分布,但是这个分布的均值μ 和⽅差δ 是不知道,这两个参数就是我们需要估计的。
在这里插入图片描述
我们已知的条件有两个:样本服从的分布模型随机抽取的样本。
我们需要求解模型的参数。根据已知条件,通过极⼤似然估计,求出未知参数。
总的来说:极⼤似然估计就是⽤来估计模型参数的统计学⽅法。

EM算法实例1

1.一个超级简单的案例
假设现在有两枚硬币1和2,,随机抛掷后正⾯朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取⼀枚硬币,连掷5下,记录下结果,如下:硬币结果统计1正正反正反3正-2反2反反正正反2正-3反1正反反反反1正-4反2正反反正正3正-2反1反正正反反2正-3反可以很容易地估计出P1和P2,如下:
在这里插入图片描述
P1 = (3+1+2)/ 15 = 0.4 P2=(2+3)/10 = 0.5
2. 加⼊隐变量z后的求解
还是上⾯的问题,现在我们抹去每轮投掷时使⽤的硬币标记,如下:
在这里插入图片描述
现在我们的⽬标没变,还是估计P1和P2,要怎么做呢?
显然,此时我们多了⼀个隐变量z,可以把它认为是⼀个5维的向量(z1,z2,z3,z4,z5),代表每次投掷时所使⽤的硬币,⽐如z1,就代表第⼀轮投掷时使⽤的硬币是1还是2。但是,这个变量z不知道,就⽆法去估计P1和P2,所以,我们必须先估计出z,然后才能进⼀步估计P1和P2。但要估计z,我们⼜得知道P1和P2,这样我们才能⽤最⼤似然概率法则去估计z
答案就是先随机初始化⼀个P1和P2,⽤它来估计z,然后基于z,还是按照最⼤似然概率法则去估计新的P1和P2,如果新的P1和P2和我们初始化的P1和P2⼀样,请问这说明了什么?这说明我们初始化的P1和P2是⼀个相当靠谱的估计!就是说,我们初始化的P1和P2,按照最⼤似然概率就可以估计出z,然后基于z,按照最⼤似然概率可以反过来估计出P1和P2,当与我们初始化的P1和P2⼀样时,说明是P1和P2很有可能就是真实的值。这⾥⾯包含了两个交互的最⼤似然估计。如果新估计出来的P1和P2和我们初始化的值差别很⼤,怎么办呢?就是继续⽤新的P1和P2迭代,直⾄收敛。

3.EM初级版
我们不妨这样,先随便给P1和P2赋⼀个值,⽐如:P1 = 0.2P2 = 0.7然后,我们看看第⼀轮抛掷最可能是哪个硬币。如果是硬币1,得出3正2反的概率为 0.2∗0.2∗0.2∗0.8∗0.8=0.00512如果是硬币2,得出3正2反的概率为0.7∗0.7∗0.7∗0.3∗0.3=0.03087然后依次求出其他4轮中的相应概率。做成表格如下:
在这里插入图片描述
按照最⼤似然法则:
第1轮中最有可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值