如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
高斯混合模型与 EM 算法
接下来,我们将讨论高斯混合模型与 EM 算法。假设我们给定一个训练集
,由于是高斯混合模型(Mixtures of Gaussians ,GMM)属于无监
督算法,因此训练集中不会出现任何标签。
一 高斯混合模型
我们希望通过指定联合分布
来对数据进行建
模。在这里我们假定
,即 服从多项式分布,
,
, 并 且 参 数 能 够 推 导 出
, 同 时 我 们 假 设
,在上叙述中, 代表 的种类数。因此,我们的模型假
定每个 是通过从
中随机选择 而生成的,然后 也是来自依赖于
的 个高斯分布。那么上述模型被称为高斯混合模型。在这里, 是隐式随
机变量,这也将我们估计问题变得非常困难。
那么对于给定的数据集
,高斯混合模型的对数似然函数如下:
然而,如果我们令上述函数的偏导数为 0 的话,那么在封闭区域内,我们无法直
接解决这个问题。
随机变量 表示每个 属于 个高斯分布的概率大小。请注意,如果我们
知道 是多少,那么最大似然问题就很容易了。 具体来说,我们可以将对数似
然函数写成:
由于
,那么我们有:
1
1,,mxx,iiiiipxzpxzpzizMultinomializ0j11kjjjipzj= ,iijjxzjkizix1,,kizixizkiz1,,mxx11,,log;,,log;,;miiimiiiipxzpxzpzizixkiz1,,log;,+log;miiiipxzpzizMultinomial111;;ikkzjiijjjpzpzj
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
同理,因为
,那么我们有:
因此,对数似然函数可以写成:
那么,对 求偏导有:
由于 是矩阵,那么:
同理,对 求偏导有:
其中用到了如下矩阵求导公式:
因此,
2
= iijjxzj1111122;,;,11exp-22ikiiiijzjkTiijjnjjpxzpxzjxx11111,,log;,+log;111-log2log222=1logmiiiikTiiijjjjmjkiijjpxzpznzjxxzjj1110miijjijzjx1j1111miiijmiizjxzjj211111022mTiiijjjjijzjxx-1-1-2==
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
,那么我们必须利用拉格朗日乘数法来求解 。因此构造如下函
由于
数:
那么分别对
求偏导有:
那么我们可以得到:
带入上式有:
那么有:
实际上,我们可以从上得知,如果 是已知的,那么高斯混合模型的最大似
然估计变得几乎与我们在估计高斯判别分析模型的参数时所具有的相同,除了这
里 正在起到类标签的作用。
然而,在我们的密度估计问题中, 是未知的。我们可以做什么?
EM 算法是一种迭代算法,有两个主要步骤。 应用于我们的问题,在 E 步骤
3
1111mTiiijjijmiizjxuxuzj11kjjj111;,1log1mkkijjjijfzzj,j111010imijjkjjzjff11=1mijizj111111111=1=1=1=1kkmmkmiijjjiijimzjzj1=1=1mijimzjmiziziz
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
中,它试图“猜测 的值。在 M 步骤中,它根据我们的猜测更新模型的参数。
由于在 M 步骤中我们假设第一部分中的猜测是正确的,因此最大化变得容易。
下面是高斯混合模型的 EM 算法的伪代码:
在 E 步骤中,给定 并使用当前设置的参数最后结合贝叶斯准则,我们计
算得到参数 的后验概率:
在这里,
由样本 在均值为 ,协方差矩阵为 的高斯分
布上的概率给出;同时,
由 给出。在 E 步骤中计算的 的值表
示我们对 的“软”猜测。
此外,通过将 M 步骤中的参数更新与我们确切知道 时的公式进行对比,
你可以发现它们是相同的,除了没有表明每个数据点来自哪个高斯分布的指示函
数
,而我们现在将其改为 。
EM 算法也让人联想到 K-means 聚类算法,除了代替“硬”聚类分配 ,我
4
iz11111 : , , {:;,,1: = :iiijmijjimiijijmijimTiiijjjijmijiRepeatuntilconvergenceEstepForeachijsetMstepUpdatetheparametwpzjxwmwerxuwwxuxuws:ixiz1;,;,;,,;,;iiiiikiiilpxzjpzjpzjxpxzlpzl;,iipxzjixjj;ipzjjijwiziz1izjijwic
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
们改为使用“软”赋值 。与 K-means 算法类似,它也容易陷入局部最优解,
因此在几个不同的初始参数上重新初始化可能是一个好主意。
很明显,EM 算法具有非常自然的解释——反复尝试猜测未知的 ;但是它
是如何产生的,我们可以对它做出任何保证,例如它是如何收敛的?因此接下来,
我们将描述 EM 算法一般表示,这将使我们能够轻松地将其应用于其他还有隐含
变量的估计问题,也会提供给我们能够提供收敛的保证。
二 Jessen 不等式
为了更好地理解 EM 算法的原理,我们必须对子 EM 算法中运用广泛的 Jessen
不等式进行详细推导。
设 是一个定义域为实数集的函数。回想一下,如果
,那么
是一个凸函数。当对于 的向量输入,这是广义的条件,它的海森(hessian)
矩阵 是半正定,即
。如果
,那么我们说 是严格凸函数
(在向量值情况下,相应的表述为 必须是严格的半正定的,记为
。
那么 Jessen 不等式可以这样表述为: 是凸函数,即
,假定
是随机变量,那么有
。而且,如果 是严格凸函数时,那
么当且仅当
时,
(即当 是常数时),其中,
代表随机变量 的数学期望。其实这是 Jessen 不等式的一般形式,Jessen
不 等 式 的 加 权 形 式 为 :
, 那 么
恒成立。同理,如果当 是个凹函数时,Jessen 不等式的
一般形式为:
,假定 是随机变量,那么有
。
其 加 权 形 式 为 :
, 那 么
恒成立。下面对利用数学归纳法来证明 Jessen 不等式。
5
ijwizf,0xRfxffH0H,0xRfxfH0Hf,0xRfxXEfXfEXf1pXEX=EfXfEXXEXX11,0,,,,1nnnixRfxqqq11nniiiiiiqfxfqxf,0xRfxXEfXfEX11,0,,,,1nnnixRfxqqq11nniiiiiiqfxfqx
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
我们以 是凸函数为例来证明 Jessen 不等式的加权形式。证明过程如下:
1) 当
时,
,那么
恒成立。
2) 当
时,
,由于
,那么根据不等式性质我们有:
恒成立。
3) 当
时,假设当
时
恒成立,那么只需
证 明 , 当
时 ,
。 那 么
时,显然有:
综合 1)、2)、3)有,Jessen 不等式恒成立。同理可证 是凹函数时的 Jessen
不等式恒成立。
为了更好地理解 Jessen 不等式,我们来看上面的函数图。在图中, 是由实
线表示的凸函数。 是随机变量,各有 0.5 的概率取得变量 和变量 。因此,
6
f1n11q11111qfxfxfqx2n121qq0fx11221122+qfxqfxfqxqx3nnk11kniiiiiiqfxfqx1nk111kniiiiiiqfxfqx1111,0,,,,1kknixRfxqqq11+11+111111+1111+111=+=+zzzzzzkkkkiiikkiikkkikiiiiikkikkkiikkkikkkiiiiikqqfxqfxqfxqfxfxzqqqfxfxqfqxxfqxffXab
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
的期望值由 和 之间的中点给出。我们还可以看到
,
和
在 轴上的值。
现在是
和
之间的中点。从我们的例子中,我
们看到,因为 是凸函数,
恒成立。
因此,Jessen 不等式也可以这样理解,当指定函数是凸函数时,函数值的加
权平均大于等于自变量的加权平均后对应的函数值;当指定函数是凹函数时,函
数值的加权平均小于等于自变量的加权平均后对应的函数值。
三 EM 算法
假设我们有一个评估问题,其中有一个训练集
由 个独立的样
本组成。我们希望利用数据来你拟合模型
的参数,其中似然函数为:
但是,明显寻找参数 极大似然估计是困难的。这里 是隐式随机变量;通常情
况下,若果知道了 ,那么极大似然估计就会很容易。
在这种情况下,EM 算法给出了一种有效的估计最大值似然的方法。最大化
明显可能很困难,我们的策略是重复构造一个上确界(E-step),然后优化这
个上下限(M-step)。
对于每一个 ,令 是 的函数,且有
,
。那么根据 Jessen
不等式,我们有:
(1)
具体地说,
是凹函数,因为
。
现在,对于任何一组分布 ,公式(3)为
给出了一个下界。 有很多可
能的选择。我们应该用哪一种?如果我们有一些目前想猜测的参数 ,很自然地
让似然函数在 处的下界变小是我们的目标。即我们将使上面的不等式在 处等
号成立。
7
XabfafbfEXyEfXfafbfEfXfEX,,imxxm,pxz11log;log,;mmiipxpxziziziiQz1izQz0iQzlog;log,;,;log,;logiiiiiiiiiiiiziiiiiiizipxpxzpxzQzQzpxzQzQzloglnfxxx21,-0xfxxiQiQ
如需转载请注明 CSDN 博客网址:http://blog.csdn.net/qq_30091945
为了一个特殊 是的上界变小,我们的推动过程中需要涉及 Jessen 不等式去
等的条件。为了使等号成立,我们知道期望是常变量时将会带来高效率。即我们
要求:
对于不依赖于 的常数 ,只要满足
如下条件即可。实际
上,由于
,那么我们有:
因此,我们只是将 设置为 的后验分布, 是 的条件概率,且被 参数
化。
现在,对于 的选择,式(1)给出了我们试图最大化的对数似然的下界,这是
E 步骤。算法的 M 步骤中,最大化式(1)的参数 ,从而获得一个新参数 。反复
执行这两个步骤。上述就是 EM 算法的两个过程,具体流程如下所示:
我们怎么知道 EM 是否收敛?假设 和
连续两次迭代的参数。接下来
我们将证明
,这也将解释 EM 为什么总是单调提高对数似函数。
这个结果的关键在于我们对 的选择。具体来说,在 EM 算法的迭代过程中,参
数将从开始 ,那么我们令
。我们在前面看到,这个
选择确保了 Jensen 不等式能够去取等。因此,
8
,;=iiiipxzcQzizc,;iiiiQzpxz1iizQz,;,;=,;;=;iiiiiiiiziipxzpxzQzpxzpxpzxiQizizixiQ , {-;,;log : iiiiiiiiiiziiEStepQzpzRepeatuntilconverxpxzQzgenceForeachisetMstepSetarQzgmax}t+1t1ttiQt;tiiitiQzpzx