【统计学习方法】EM算法原理

1 基本概念准备

1.1 最大似然估计(MLE)

最大似然估计是统计学中的概念,维基百科中给出的定义是:最大似然估计(英语:maximum likelihood estimation,缩写为MLE),也称最大概似估计,是用来估计一个概率模型的参数的一种方法。具体来讲,就是利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果的模型参数值(模型已定,参数未知)。

比较简单的例子1:从一个箱子中放了黑球和白球,抽100次,每次都放回,结果抽到黑球的次数是10次,白球的次数是90次,所以我们估计箱子中90%的球是白球,10%的球是黑球。

复杂一点的例子2:有三个硬币A,B,C,抛出去落地后,出现正面的概率分别是Pa,Pb,Pc,先抛A,,如果是正面,则抛B;如果是背面则抛C;然后根据B,C的结果记录,如果是正面则记录1,如果是背面则记录0.如果重复10次,结果为:

{1,1,1,1,0,0,1,0,1,0},那么Pa,Pb,Pc分别是多少呢?这个似乎就不能一下子得知,需要一定的计算。

求极大似然估计的具体步骤:

(1)写出似然函数;

(2)对似然函数取对数,并整理;

(3)求导数,令导数为 0,得到似然方程;

(4)解似然方程,得到的参数。

1.2 高斯分布

高斯分布(Gaussian distribution)有时也被称为正态分布(normal distribution),是一种在自然界大量的存在的、最为常见的分布形式。高斯分布的概率密度函数公式如下:

\large f(x | \mu,\sigma ^2) = \frac{1}{\sqrt{2 \sigma^2 \pi }}e^-\frac{(x-\mu)^2}{2\sigma^2}

1.3 混合模型(Mixture Model)

混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。混合模型不要求观测数据提供关于子分布的信息,来计算观测数据在总体分布中的概率。

1.4 高斯混合模型(GMM)

高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

1.5 Jensen不等式

Jensen不等式就是就是凸函数的定义。直观上看就是a到b的弦(线段)在函数f(x)上方。

凸函数定义:\large \theta f(x{_1}) + (1- \theta)f(x{_2}) \geqslant f(\theta x{_1} + (1- \theta)x{_2}) (0 < \theta < 1)

推广到多个点:

\large \theta{_1} f(x{_1}) + \theta{_2} f(x{_2}) + \theta{_3} f(x{_3}) + ...\theta{_n} f(x{_n}) \geqslant f(\theta{_1}x{_1} + \theta{_2}x{_2} + \theta{_3}x{_3}+ ....+\theta{_n}x{_n}) (\theta{_1} + \theta{_2}+ \theta{_3}+...+\theta{_n} = 1)

仔细观察上式,如果\large \theta{_n}看做概率,\large f({x{_n}})看做分布函数,那么左边就是分布函数的期望,右边是变量期望的函数值,即

\large E[f(x{_n})] \geqslant f(E[x{_n}])

特别的,当等号成立时,f(x)是常数,即为一条直线。

1.6 联合概率和边缘概率

假设有随机变量X于Y,此时,P(X=a, Y=b)用于表示X=a且Y=b的概率。这类包含多个条件且所有条件同时成立的概率称为联合概率。请大家特别注意,联合概率并不是其中某个条件成立的概率,而是所有条件同时成立的概率。与之对应地,P(X=a)或P(Y=b)这类仅于单个随机变量有关的概率称为边缘概率。

边缘概率:\large P(x^{(i)}| \theta) = \sum_{z^{(i)}}P(x^{(i)},z^{(i)}|\theta)

条件概率:\large P(z^{(i)} | x^{(i)},\theta) = \frac{P(x^{(i)},z^{(i)}| \theta)}{P(x^{(i)}|\theta)}
 

2 EM算法

2.1 EM算法概述(目的都是使概率最大Maximization)

EM是一种解决存在隐含变量优化问题的有效方法。EM的意思是“Expectation Maximization”,EM是解决(不完全数据的)MLE问题的迭代算法 iterative algorithm。

2.2 EM算法数学原理

根据前面提到的求极大似然估计的步骤,我们先写出对数似然函数(x为观测变量,z为隐含变量,\theta为模型参数)

\large L(\theta) = \sum_{i} logP(x^{(i)};\theta) = \sum_{i}log \sum_{z^{(i)}}P(x^{(i)},z^{(i)};\theta)

我们假设\large Q_i(z^{(i)})是隐含变量z的概率分布函数(具体取啥我们现在并不知道)

\large \\L(\theta) =\sum_{i} logP(x^{(i)};\theta) \\= \sum_{i}log \sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta) \quad\quad\quad\quad (1) \\= \sum_{i}log \sum_{z^{(i)}} Q_i(z^{(i)}) \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (2)

 

我们令:

\large \\ p(z^{(i)}) = Q(z^{(i)}) \\f(z^{(i)}) = \frac{p(x^{(i)},z^{(i)};\theta)}{ Q(z^{(i)})},则式子(2)是\large \frac{p(x^{(i)},z^{(i)};\theta)}{ Q(z^{(i)})}的数学期望的对数。

根据Jensen不等式(log是凹函数)\large f(E[x{_n}]) \geqslant E[f(x{_n})],有

\large \large \\ \sum_{i}log \sum_{z^{(i)}} Q_i(z^{(i)}) \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \geq \sum_{i} \sum_{z{(i)}} Q_i(z^{(i)})log \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (3)

 

所以对数极大似然:

\large \\L(\theta) \geq \sum_{i} \sum_{z{(i)}} Q_i(z^{(i)})log \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (4)

即式子(4)是\large \\L(\theta)的下界。说明当\large \theta给定时,\large \\L(\theta)取决于\large Q_i(z^{(i)})\large p(x^{(i)},z^{(i)};\theta)

 

特别的,等号成立时,这时式子(4)取到最大值,为\large \\L(\theta)的真实值,\large f(z^{(i)})为常数,即:

\large f(z^{(i)}) = \frac{p(x^{(i)},z^{(i)};\theta)}{ Q(z^{(i)})} = C \quad \quad \quad (5)

 

又因为\large Q_i(z^{(i)})是z的概率分布函数,则

\large \sum_{z^{(i)}}Q_i(z^{(i)}) = 1 \quad \quad \quad \quad (6)

联合式子(5)和(6)得:

\large \sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta) =C\sum_{z^{(i)}}Q_i(z^{(i)}) = C \quad \quad\quad (7)

联合式子(5)和(7)得:

\large \\\frac{p(x^{(i)},z^{(i)};\theta)}{ Q(z^{(i)})} = \sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta) \quad \\\Rightarrow \quad Q(z^{(i)}) = \frac{p(x^{(i)},z^{(i)};\theta)}{ \sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta) } = \frac{p(x^{(i)},z^{(i)};\theta)}{p(x^{(i)};\theta)} = p(z^{(i)}|x^{(i)};\theta)

综上,当z的概率分布函数是在选定模型参数\large \theta的情况下的后验概率时,\large \frac{p(x^{(i)},z^{(i)};\theta)}{ Q(z^{(i)})}取得最大值,逼近\large L(\theta)

 

2.2 EM算法步骤

首先随机初始化样本中心点,即均值\large \theta,然后迭代,每次迭代包含两个步骤:

E步骤 根据参数初始值或上一次迭代的模型参数来计算出隐性变量\large z{\color{Red} }的后验概率,其实就是隐性变量的期望。作为隐藏变量的现估计值:

\large Q(z^{(i)}) = P(z^{(i)}|x^{(i)};\theta)

M步骤 将似然函数最大化以获得新的参数值\large \theta:

\large \theta = arg\ \underset{\theta}{max} \sum_{i=1}^{m}\sum_{z^{i}}logP(x^{(i)},z^{(i)} ;\theta) \quad \quad \quad (8)

重复步骤E,M直到\large \theta收敛。

 

2.3 EM算法收敛证明

EM算法的收敛性只要我们能够证明对数似然函数的值在迭代的过程中是增加的即可。前面我们知:

\large \\L(\theta) =\sum_{i} logP(x^{(i)};\theta) \\= \sum_{i}log \sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta) \quad\quad\quad\quad (1) \\= \sum_{i}log \sum_{z^{(i)}} Q_i(z^{(i)}) \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (2)

根据Jensen不等式

\large \\L(\theta) \geq \sum_{i} \sum_{z{(i)}} Q_i(z^{(i)})log \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (4)

我在E步骤中,令

\large Q(z^{(i)}) = P(z^{(i)}|x^{(i)};\theta),

从而使等式成立

\large \\L(\theta) = \sum_{i} \sum_{z{(i)}} Q_i(z^{(i)})log \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \quad\quad\quad\quad (9)

接着我们进行M步,调整\large \theta极大化似然估计\large L(\theta)得到新的\large L(\theta^*),

\large \theta = arg\ \underset{\theta}{max} \sum_{i=1}^{m}\sum_{z^{i}}logP(x^{(i)},z^{(i)} ;\theta) \quad \quad \quad (8)

如此每次迭代都有:

\large L(\theta^{i+1}) \geq L(\theta^{i})

 

参考:

超详细的EM算法理解

高斯混合模型(GMM)

EM算法原理总结

人人都懂EM算法

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值