1.Jensen不等式

image.png
EM算法 - 图2

  • 一般的,若 EM算法 - 图3

则有EM算法 - 图4

2.高斯分布(正态分布)

2.1高斯分布

估计分布的均值和标准差

假设有一组样本EM算法 - 图5,来自于高斯分布 EM算法 - 图6,估计 EM算法 - 图7

  • EM算法 - 图8全部发生的概率为(相互独立、随机):

EM算法 - 图9

  • 根据最大似然估计(MLE),当EM算法 - 图10取最大值时的 EM算法 - 图11就是我们估计出的最合理的参数。

对以上似然公式取对数似然,EM算法 - 图12
EM算法 - 图13求偏导,令导数为0,可得:
EM算法 - 图14

  • 求得了均值和标准差,根据概率密度函数,就能计算出某个随机变量发生的概率。

    2.2混合高斯分布

    例如:男女身高各自符合高斯分布,但这两个分布的均值和方差都不同,是两个不同的分布
    EM算法 - 图15
    (可以设想观测数据这样产生:首先依据概率选择第k个高斯分布模型,然后依据第k个模型的概率分布生成观测数据,反映观测数据i来自第k个模型的数据是未知的,以隐变量γ表示。)
    高斯混合分布中,“混合”并不是指有的随机变量属于分布1,有的随机变量属于分布2,而是某个随机变量是由K个高斯分布混合而来的(即分布之间是有叠加重合的)。
    假设有一组样本EM算法 - 图16,样本数量为N,分布的总数为K,取到各个分布的概率(先验概率)分别为:EM算法 - 图17,第k个高斯分布EM算法 - 图18的均值为EM算法 - 图19,标准差为EM算法 - 图20,概率密度为EM算法 - 图21

    对数似然

    参考高斯分布的似然函数,结合全概率公式,GMM模型的似然函数取对数之后,得到对数似然:
    EM算法 - 图22
    这种形式不方便求导,使用EM算法,拆解为两步,总体目标是估计参数EM算法 - 图23

    估计分布来源:E-step

    第i个数据由第k个分布形成的概率为(即第k个类别在生成这个数据时的贡献占比):
    EM算法 - 图24
    所有N个样本可以估计出EM算法 - 图25个分布来源的概率。
    (参数的区分:EM算法 - 图26

    估计各个分布的参数:M-step

    在分布k的贡献下,可以生成的样本点为 EM算法 - 图27。在GMM中,每个分布都是高斯分布,对于每个分布,有:
    EM算法 - 图28
    GMM是EM算法的一个特例,可以计算出:
    image.png 最终使用EM算法 - 图30来判别数据在各个分布上的概率。

    GMM算法步骤

  • 随机估计出参数值π,μ,σ,一共K组(对应K个分布,每个分布有三个参数值);

  • 根据参数值π,μ,σ计算出γ(i,k),如果有N个样本,则一共要计算NK次*γ(i,k)
  • 根据γ(i,k)的值,计算N*K个分量值(特征的分量值);
  • 根据分量值,计算并更新参数值μ,σ,根据每组γ的比例更新π
  • 迭代,回到第2步。

    3.EM算法

    EM算法(Expectatioin Maximization)即期望极大算法,是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。1977年由Dempster等人提出。
    观测数据称为不完全数据(incomplete-data),观测数据和隐变量连在一起称为完全数据(complete-data)。

  • 如果概率模型中不含隐变量,所有都是观测变量,就可以直接用MLE(或贝叶斯估计法)估计模型参数;

  • 如果概率模型中含有隐变量,就使用EM算法来估计参数。

EM算法每次迭代分为两步:E-step,求期望;M-step,求极大。

3.1EM两步走

对数似然

假设样本数量为N,某个维度服从的分布为z(隐变量,很难直接找到参数估计)EM算法 - 图31表示第i个样本所服从的某个分布,EM算法 - 图32为分布上的参数。则通过极大似然估计,得到对数似然为:
EM算法 - 图33
image.png

Jensen不等式

EM算法 - 图35看做EM算法 - 图36,将EM算法 - 图37看做参数,将EM算法 - 图38看做自变量,根据Jensen不等式,可得:

EM算法 - 图39,且当自变量全部相等时,这个Jensen不等式取等号,所以可以将自变量看成一个常数构成的同一个点,即 EM算法 - 图40

E-step

根据Jensen不等式条件,有 EM算法 - 图41EM算法 - 图42
EM算法 - 图43
EM算法 - 图44是样本由某个分布形成的概率,在混合高斯分布中,EM算法 - 图45

M-step

迭代,估计一组参数 EM算法 - 图46,使得似然下界取最大。
EM算法 - 图47

3.2EM在GMM上的运用

一般混合模型中,可以由任意概率分布密度替代高斯分布密度。
在GMM中,参数EM算法 - 图48EM算法 - 图49,令EM算法 - 图50

EM算法 - 图51
对均值和标准差求偏导可得:
EM算法 - 图52
对属于某个分布的概率EM算法 - 图53求导,去掉常数项之后可得:EM算法 - 图54
根据条件 EM算法 - 图55,构造拉格朗日函数:EM算法 - 图56
求偏导:
EM算法 - 图57
EM算法 - 图58

EM算法推导GMM参数的对比

image.png

3.3EM算法的应用

  • EM与K-Means

K-Means可以将未标记的样本标记为K类,但无法给出某样本属于某一类的后验概率,生成的类别标记相当于是一个稀疏向量;EM算法可以给出每个样本属于某个聚类的概率,生成的类别标记相当于是一个稠密向量。

  • 图片前背景分离

前背景分离的实现是通过对像素进行分布的聚类。

  • 声音性别检测