极大似然估计与EM算法理解


什么是极大似然估计(MLE)?

​ 极大似然估计是建立在极大似然原理上的一种参数估计方法。其目的是利用已知的样本结果,反推最有可能导致这样结果的参数值。 通俗地说,就是通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率最大。

极大似然估计的一般步骤:

  1. 写出似然函数:估计参数θ的似然函数即各样本在θ条件下出现的联合概率分布概率密度函数
    L(θ)=P(x1,x2,...,xnθ)=i=1nP(xiθ) L(θ)=P(x_1,x_2,...,x_n|θ)=\prod_{i=1}^nP(x_i|θ)

  2. 对似然函数取对数并整理

  3. 对取对数后的似然函数求导,另导数为0,得到似然方程

  4. 求解似然方程,求得使似然函数最大的参数θ值

θ^=argmaxθln(L(θ)) \hat θ=\arg\max_{θ}ln(L(θ))

极大似然估计的特点:

  1. 比其他估计方法更简单
  2. 收敛性:当样本数目较多时,收敛性质会更好
  3. 如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。

参考:极大似然估计详解


最大期望算法(EM)的通俗理解

EM算法应用场景

​ 根据上文讲解,极大似然估计是一种应用很广泛的参数估计方法。例如现在有某学校所有男生身高的数据,且已知身高服从正态分布,那么利用MLE方法可以估计出全校男生身高分布的均值和方差。

​ 然而实际应用场景中问题常常比较复杂,例如需要对全校所有学生身高分布进行参数估计,其中男生身高和女生身高分别服从正态分布,但是男生平均身高明显要高于女生,而统计样本并没有标定出学生的性别,在这种情况下全校学生身高并不服从正态分布,而是呈现一种双峰的分布状态。大约是下图这样:
极大似然估计与EM算法

​ 这种情况下,在进行参数估计时,不能直接以身高总体数据的概率密度分布函数作为似然函数求解均值和方差的极大似然估计,因为总体数据并不服从正态分布,而是两个均值不同的正态分布的叠加。除了男生/女生身高分布各自的均值和方差外,还存在一个隐变量,即性别。在进行参数估计时必须要对样本的隐变量进行区分,才能对两种不同的分布进行参数估计。为了解决这种“更复杂”的参数估计问题,我们就需要用到最大期望(EM)算法了。


EM算法的基本思想

​ EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation-Maximization Algorithm)。EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题,其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。

​ 具体的,在男女身高这个案例中,EM算法流程可简单描述为:

  1. 初始化参数: 先随机假设男女两种正态分布的均值和方差
  2. 隐变量判断: 然后根据每个样本数值大小计算该样本更可能属于男生分布还是女生分布(E步)
  3. 极大似然求解参数: 根据分为男生/女生的样本,利用极大似然估计重新估计男生/女生分布参数(M步)
  4. 更新参数,循环: 若参数发生改变则更新参数,重复步骤2~3,直至参数不再发生变化为止

​ EM算法应用及其广泛,主要应用于含有隐含变量的概率模型的学习,如高斯混合模型、隐马尔可夫模型等等,另外比较常用的K-Means聚类算法也是采用EM算法的思路


EM算法步骤

输入: 样本数据x=(x1,x2,...,xn)x=(x_1,x_2,...,x_n),联合分布P(x,z;θ)P(x,z;\theta),条件分布P(zx,θ)P(z|x,\theta),最大迭代次数JJ

第一步: 随机初始化模型参数初始值θ0θ_0

第二步: 令迭代次数 j=1,2,..,Jj=1,2,..,J,开始EM算法迭代:

  1. E步:计算联合分布的条件概率期望
    Qi(zi)=P(zixi,θj) Q_i(z_i)=P(z_i|x_i,\theta_j)

    L(θ,θj)=i=1nziQi(zi)lnP(xi,zi;θ)Qi(zi) L(\theta,\theta_j)=\sum_{i=1}^n\sum_{z_i}Q_i(z_i)ln{P(x_i,z_i;\theta)\over Q_i(z_i)}

  2. M步:极大似然估计求分布参数θj+1\theta_{j+1}
    θj+1=argmaxθL(θ,θj) \theta_{j+1}=\arg \max_{\theta} L(\theta,\theta_j)

  3. 如果θj+1\theta_{j+1}已经收敛,则算法结束。否则继续进行E步和M步

在一般情况下,EM算法是收敛的,但不能保证收敛到全局最优

输出: 模型参数θ\theta


参考:
EM算法详解
如何通俗理解EM算法

相关文章:

  • 2022-12-23
  • 2021-04-16
  • 2021-07-12
  • 2021-07-25
  • 2021-10-05
猜你喜欢
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2021-09-02
  • 2021-04-07
相关资源
相似解决方案