极大似然估计和EM算法初步

本文来自我的个人博客 https://www.zhangshenghai.com/posts/1422/

极大似然估计是在知道结果的情况下,寻求使该结果出现可能性极大的条件,以此作为估计值。在维基百科中,极大似然估计的定义是这样的:

给定一个概率分布,已知其概率密度函数(连续分布)或概率质量函数(离散分布)为,以及一个分布参数,我们可以从这个分布中抽出一个具有n个值的采样,计算出其似然函数:

若是离散分布,即是在参数为时观测到这一采样的概率。若其是连续分布,则为联合分布的概率密度函数在观测值处的取值。一旦我们获得,我们就能求得一个关于的估计。最大似然估计会寻找关于的最可能的值。从数学上说,我们可以在的所有可能取值中寻找一个值使得似然函数取到最大值。这个使可能性最大的值即称为的极大似然估计。由定义,极大似然估计是样本的函数。

极大似然估计

问题描述

首先从一个例子入手,假设我们需要调查某个地区的人群身高分布,那么先假设这个地区人群身高服从正态分布。注意,极大似然估计的前提是要假设数据总体的分布,不知道数据分布是无法使用极大似然估计的。假设的正态分布的均值和方差未知,这个问题中极大似然估计的目的就是要估计这两个参数。

根据概率统计的思想,可以依据样本估算总体,假设我们随机抽到了1000个人,根据这1000个人的身高来估计均值和方差。

将其翻译成数学语言:为了统计该地区的人群身高分布,我们独立地按照概率密度抽取了1000个样本组成样本集,我们想通过样本集来估计总体的未知参数。这里概率密度服从高斯分布,其中的未知参数是。

那么怎样估算呢?

估算参数

这里每个样本都是独立地从中抽取的,也就是说这1000个人之间是相互独立的。若抽到的概率是,抽到的概率是,那么同时抽到它们的概率就是。同理,同时抽到这1000个人的概率就是他们各自概率的乘积,即为他们的联合概率,这个联合概率就等于这个问题的似然函数:

对 L 取对数,将其变成连加的,称为对数似然函数,如下式:

为什么要取对数?

  • 取对数之后累积变为累和,求导更加方便
  • 概率累积会出现数值非常小的情况,比如1e-30,由于计算机的精度是有限的,无法识别这一类数据,取对数之后,更易于计算机的识别(1e-30以10为底取对数后便得到-30)。

对似然函数求所有参数的偏导数,然后让这些偏导数为0,假设有n个参数,就可以得到n个方程组成的方程组,方程组的解就是似然函数的极值点了,在似然函数极大的情况下得到的参数值即为我们所求的值:

极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率极大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

极大似然估计的步骤

  1. 写出似然函数;
  2. 对似然函数取对数,并整理;
  3. 求导数,令导数为 0,得到似然方程;
  4. 解似然方程,得到的参数。

EM算法初步

和极大似然估计一样,EM算法的前提也是要假设数据总体的分布,不知道数据分布是无法使用EM算法的

概率模型有时既含有观测变量,又含有隐变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就不能简单地使用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计法,或极大后验概率估计法。

函数:完全数据的对数似然函数关于在给定观测数据和当前参数下对未观测数据的条件概率分布的期望

含有隐变量的概率模型,目标是极大化观测变量关于参数的对数似然函数,即
\begin{align*} & \max L \left( \theta \right) = \log P \left( Y | \theta \right) \\ & = \log \sum_{Z} P \left( Y,Z | \theta \right) \\ & = \log \left( \sum_{Z} P \left( Y|Z,\theta \right) P \left( Z| \theta \right) \right)\end{align*}

EM算法的步骤

输入:观测随机变量数据,隐随机变量数据,联合分布,条件分布;
输出:模型参数

  1. 初值

  2. 步:
    \begin{align*} & Q\left(\theta,\theta^\left(i\right)\right)=E_{Z}\left[\log P\left(Y,Z|\theta\right)|Y,\theta^{\left(i\right)}\right] \\ & = \sum_{Z} \log P\left(Y,Z|\theta \right) \cdot P\left(Z|Y, \theta^\left(i\right)\right)\end{align*}

  3. 步:

  4. 重复2. 3.,直到收敛。

你可能感兴趣的:(极大似然估计和EM算法初步)