10.1 混合高斯 Mixtures of Gaussians

在本章讲义中,我们要讲的是使用期望最大化算法(EM,Expectation-Maximization)来进行密度估计(density estimation)。

一如既往,还是假设我们得到了某一个训练样本集10 混合高斯和期望最大化算法 - 图1%7D%2C…%2Cx%5E%7B(m)%7D%5C%7D#card=math&code=%5C%7Bx%5E%7B%281%29%7D%2C…%2Cx%5E%7B%28m%29%7D%5C%7D&height=19&width=90)。由于这次是非监督学习(unsupervised learning)环境,所以这些样本就没有什么分类标签了。

我们希望能够获得一个联合分布 10 混合高斯和期望最大化算法 - 图2%7D%2Cz%5E%7B(i)%7D)%20%3D%20p(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D)p(z%5E%7B(i)%7D)#card=math&code=p%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%29%20%3D%20p%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%29p%28z%5E%7B%28i%29%7D%29&height=19&width=175) 来对数据进行建模。其中的 10 混合高斯和期望最大化算法 - 图3%7D%20%5Csim%20Multinomial(%5Cphi)#card=math&code=z%5E%7B%28i%29%7D%20%5Csim%20Multinomial%28%5Cphi%29&height=19&width=133) (即10 混合高斯和期望最大化算法 - 图4%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是一个以 10 混合高斯和期望最大化算法 - 图5 为参数的多项式分布,其中 10 混合高斯和期望最大化算法 - 图6,而参数 10 混合高斯和期望最大化算法 - 图7 给出了 10 混合高斯和期望最大化算法 - 图8%7D%20%3D%20j)#card=math&code=p%28z%5E%7B%28i%29%7D%20%3D%20j%29&height=19&width=60)),另外 10 混合高斯和期望最大化算法 - 图9%7D%7Cz%5E%7B(i)%7D%20%3D%20j%20%5Csim%20N(%CE%BC_j%2C%5CSigma_j)#card=math&code=x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%20%3D%20j%20%5Csim%20N%28%CE%BC_j%2C%5CSigma_j%29&height=21&width=140) (译者注:10 混合高斯和期望最大化算法 - 图10%7D%7Cz%5E%7B(i)%7D%20%3D%20j#card=math&code=x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%20%3D%20j&height=19&width=65)是一个以 10 混合高斯和期望最大化算法 - 图1110 混合高斯和期望最大化算法 - 图12 为参数的正态分布)。我们设 10 混合高斯和期望最大化算法 - 图13 来表示 10 混合高斯和期望最大化算法 - 图14%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 能取的值的个数。因此,我们这个模型就是在假设每个10 混合高斯和期望最大化算法 - 图15%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20) 都是从10 混合高斯和期望最大化算法 - 图16中随机选取10 混合高斯和期望最大化算法 - 图17%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18)来生成的,然后 10 混合高斯和期望最大化算法 - 图18%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20) 就是服从10 混合高斯和期望最大化算法 - 图19个高斯分布中的一个,而这10 混合高斯和期望最大化算法 - 图20个高斯分布又取决于10 混合高斯和期望最大化算法 - 图21%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18)。这就叫做一个混合高斯模型(mixture of Gaussians model)。 此外还要注意的就是这里的 10 混合高斯和期望最大化算法 - 图22%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是潜在的随机变量(latent random variables),这就意味着其取值可能还是隐藏的或者未被观测到的。这就会增加这个估计问题(estimation problem)的难度。

我们这个模型的参数也就是 10 混合高斯和期望最大化算法 - 图2310 混合高斯和期望最大化算法 - 图24。要对这些值进行估计,我们可以写出数据的似然函数(likelihood):

10 混合高斯和期望最大化算法 - 图25%20%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20p(x%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20%5Csum%7Bz%5E%7B(i)%7D%3D1%7D%5Ek%20p(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D%3B%5Cmu%2C%5CSigma)p(z%5E%7B(i)%7D%3B%5Cphi)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0Al%28%5Cphi%2C%5Cmu%2C%5CSigma%29%20%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20p%28x%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20%5Csum%7Bz%5E%7B%28i%29%7D%3D1%7D%5Ek%20p%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%3B%5Cmu%2C%5CSigma%29p%28z%5E%7B%28i%29%7D%3B%5Cphi%29%0A%5Cend%7Baligned%7D%0A&height=86&width=284)

然而,如果我们用设上面方程的导数为零来尝试解各个参数,就会发现根本不可能以闭合形式(closed form)来找到这些参数的最大似然估计(maximum likelihood estimates)。(不信的话你自己试试咯。)

随机变量 10 混合高斯和期望最大化算法 - 图26%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18)表示着 10 混合高斯和期望最大化算法 - 图27%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20) 所属于的 10 混合高斯和期望最大化算法 - 图28 个高斯分布值。这里要注意,如果我们已知 10 混合高斯和期望最大化算法 - 图29%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18),这个最大似然估计问题就简单很多了。那么就可以把似然函数写成下面这种形式:

10 混合高斯和期望最大化算法 - 图30%3D%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20p(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D%3B%5Cmu%2C%5CSigma)%20%2B%20%5Clog%20p(z%5E%7B(i)%7D%3B%5Cphi)%0A#card=math&code=l%28%5Cphi%2C%5Cmu%2C%5CSigma%29%3D%5Csum%7Bi%3D1%7D%5Em%20%5Clog%20p%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%3B%5Cmu%2C%5CSigma%29%20%2B%20%5Clog%20p%28z%5E%7B%28i%29%7D%3B%5Cphi%29%0A&height=40&width=288)

对上面的函数进行最大化,就能得到对应的参数10 混合高斯和期望最大化算法 - 图3110 混合高斯和期望最大化算法 - 图32

10 混合高斯和期望最大化算法 - 图33%7D%3Dj%5C%7D%2C%20%5C%5C%0A%26%5Cmuj%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B(i)%7D%3Dj%5C%7Dx%5E%7B(i)%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B(i)%7D%3Dj%5C%7D%7D%2C%20%5C%5C%0A%26%5CSigma_j%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B(i)%7D%3Dj%5C%7D(x%5E%7B(i)%7D-%5Cmuj)(x%5E%7B(i)%7D-%5Cmu_j)%5ET%7D%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B(i)%7D%3Dj%5C%7D%7D.%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%26%5Cphij%3D%5Cfrac%201m%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B%28i%29%7D%3Dj%5C%7D%2C%20%5C%5C%0A%26%5Cmuj%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B%28i%29%7D%3Dj%5C%7Dx%5E%7B%28i%29%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B%28i%29%7D%3Dj%5C%7D%7D%2C%20%5C%5C%0A%26%5CSigma_j%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B%28i%29%7D%3Dj%5C%7D%28x%5E%7B%28i%29%7D-%5Cmuj%29%28x%5E%7B%28i%29%7D-%5Cmu_j%29%5ET%7D%7B%5Csum%7Bi%3D1%7D%5Em%201%5C%7Bz%5E%7B%28i%29%7D%3Dj%5C%7D%7D.%0A%5Cend%7Baligned%7D%0A&height=125&width=271)

事实上,我们已经看到了,如果 10 混合高斯和期望最大化算法 - 图34%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是已知的,那么这个最大似然估计就几乎等同于之前用高斯判别分析模型(Gaussian discriminant analysis model)中对参数进行的估计,唯一不同在于这里的 10 混合高斯和期望最大化算法 - 图35%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 扮演了高斯判别分析当中的分类标签10 混合高斯和期望最大化算法 - 图36的角色。

1 这里的式子和之前在 PS1 中高斯判别分析的方程还有一些小的区别,这首先是因为在此处我们把 10 混合高斯和期望最大化算法 - 图37%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 泛化为多项式分布(multinomial),而不是伯努利分布(Bernoulli),其次是由于这里针对高斯分布中的每一项使用了一个不同的 10 混合高斯和期望最大化算法 - 图38

然而,在密度估计问题里面,10 混合高斯和期望最大化算法 - 图39%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是不知道的。这要怎么办呢?
期望最大化算法(EM,Expectation-Maximization)是一个迭代算法,有两个主要的步骤。针对我们这个问题,在 10 混合高斯和期望最大化算法 - 图40 这一步中,程序是试图去“猜测(guess)” 10 混合高斯和期望最大化算法 - 图41%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 的值。然后在 10 混合高斯和期望最大化算法 - 图42 这一步,就根据上一步的猜测来对模型参数进行更新。由于在 10 混合高斯和期望最大化算法 - 图43 这一步当中我们假设(pretend)了上一步是对的,那么最大化的过程就简单了。下面是这个算法:

 重复下列过程直到收敛(convergence): {

  (10 混合高斯和期望最大化算法 - 图44-步骤)对每个 10 混合高斯和期望最大化算法 - 图45, 设

10 混合高斯和期望最大化算法 - 图46%7D%20%3A%3D%20p(z%5E%7B(i)%7D%3Dj%7Cx%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)%0A#card=math&code=w_j%5E%7B%28i%29%7D%20%3A%3D%20p%28z%5E%7B%28i%29%7D%3Dj%7Cx%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29%0A&height=23&width=171)

  (10 混合高斯和期望最大化算法 - 图47-步骤)更新参数:

10 混合高斯和期望最大化算法 - 图48%7D%2C%20%5C%5C%0A%26%5Cmuj%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B(i)%7Dx%5E%7B(i)%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B(i)%7D%7D%2C%20%5C%5C%0A%26%5CSigma_j%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B(i)%7D(x%5E%7B(i)%7D-%5Cmu_j)(x%5E%7B(i)%7D-%5Cmu_j)%5ET%7D%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B(i)%7D%7D.%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%26%5Cphi_j%3D%5Cfrac%201m%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B%28i%29%7D%2C%20%5C%5C%0A%26%5Cmu_j%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B%28i%29%7Dx%5E%7B%28i%29%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B%28i%29%7D%7D%2C%20%5C%5C%0A%26%5CSigma_j%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20wj%5E%7B%28i%29%7D%28x%5E%7B%28i%29%7D-%5Cmu_j%29%28x%5E%7B%28i%29%7D-%5Cmu_j%29%5ET%7D%7B%5Csum%7Bi%3D1%7D%5Em%20w_j%5E%7B%28i%29%7D%7D.%0A%5Cend%7Baligned%7D%0A&height=144&width=230)

}

10 混合高斯和期望最大化算法 - 图49 步骤中,在给定 10 混合高斯和期望最大化算法 - 图50%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20) 以及使用当前参数设置(current setting of our parameters)情况下,我们计算出了参数 10 混合高斯和期望最大化算法 - 图51%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 的后验概率(posterior probability)。使用贝叶斯规则(Bayes rule),就得到下面的式子:

10 混合高斯和期望最大化算法 - 图52%7D%3Dj%7Cx%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)%3D%0A%5Cfrac%7Bp(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D%3Dj%3B%5Cmu%2C%5CSigma)p(z%5E%7B(i)%7D%3Dj%3B%5Cphi)%7D%0A%7B%5Csum%7Bl%3D1%7D%5Ek%20p(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D%3Dl%3B%5Cmu%2C%5CSigma)p(z%5E%7B(i)%7D%3Dl%3B%5Cphi)%7D%0A#card=math&code=p%28z%5E%7B%28i%29%7D%3Dj%7Cx%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29%3D%0A%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%3Dj%3B%5Cmu%2C%5CSigma%29p%28z%5E%7B%28i%29%7D%3Dj%3B%5Cphi%29%7D%0A%7B%5Csum%7Bl%3D1%7D%5Ek%20p%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%3Dl%3B%5Cmu%2C%5CSigma%29p%28z%5E%7B%28i%29%7D%3Dl%3B%5Cphi%29%7D%0A&height=42&width=367)

上面的式子中,10 混合高斯和期望最大化算法 - 图53%7D%3Dj%7Cx%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)#card=math&code=p%28z%5E%7B%28i%29%7D%3Dj%7Cx%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29&height=19&width=127) 是通过评估一个高斯分布的密度得到的,这个高斯分布的均值为 10 混合高斯和期望最大化算法 - 图54,对10 混合高斯和期望最大化算法 - 图55%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20)的协方差为10 混合高斯和期望最大化算法 - 图5610 混合高斯和期望最大化算法 - 图57%7D%20%3D%20j%3B%5Cphi)#card=math&code=p%28z%5E%7B%28i%29%7D%20%3D%20j%3B%5Cphi%29&height=19&width=74) 是通过 10 混合高斯和期望最大化算法 - 图58 得到,以此类推。在 10 混合高斯和期望最大化算法 - 图59 步骤中计算出来的 10 混合高斯和期望最大化算法 - 图60%7D#card=math&code=w_j%5E%7B%28i%29%7D&height=23&width=21) 代表了我们对 10 混合高斯和期望最大化算法 - 图61%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 这个值的“弱估计(soft guesses)”10 混合高斯和期望最大化算法 - 图62

2 这里用的词汇“弱(soft)”是指我们对概率进行猜测,从 10 混合高斯和期望最大化算法 - 图63 这样一个闭区间进行取值;而与之对应的“强(hard)”值得是单次最佳猜测,例如从集合 10 混合高斯和期望最大化算法 - 图64 或者 10 混合高斯和期望最大化算法 - 图65 中取一个值。

另外在 10 混合高斯和期望最大化算法 - 图66 步骤中进行的更新还要与 10 混合高斯和期望最大化算法 - 图67%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 已知之后的方程式进行对比。它们是相同的,不同之处只在于之前使用的指示函数(indicator functions),指示每个数据点所属的高斯分布,而这里换成了 10 混合高斯和期望最大化算法 - 图68%7D#card=math&code=w_j%5E%7B%28i%29%7D&height=23&width=21)。

10 混合高斯和期望最大化算法 - 图69 算法也让人想起 10 混合高斯和期望最大化算法 - 图70 均值聚类算法,而在 10 混合高斯和期望最大化算法 - 图71 均值聚类算法中对聚类重心 10 混合高斯和期望最大化算法 - 图72#card=math&code=c%28i%29&height=16&width=20) 进行了“强(hard)”赋值,而在 10 混合高斯和期望最大化算法 - 图73 算法中,对10 混合高斯和期望最大化算法 - 图74%7D#card=math&code=w_j%5E%7B%28i%29%7D&height=23&width=21) 进行的是“弱(soft)”赋值。与 10 混合高斯和期望最大化算法 - 图75 均值算法类似,10 混合高斯和期望最大化算法 - 图76 算法也容易导致局部最优,所以使用不同的初始参数(initial parameters)进行重新初始化(reinitializing),可能是个好办法。

很明显,10 混合高斯和期望最大化算法 - 图77 算法对 10 混合高斯和期望最大化算法 - 图78%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 进行重复的猜测,这种思路很自然;但这个算法是怎么产生的,以及我们能否确保这个算法的某些特性,例如收敛性之类的?在下一章的讲义中,我们会讲解一种对 10 混合高斯和期望最大化算法 - 图79 算法更泛化的解读,这样我们就可以在其他的估计问题中轻松地使用 10 混合高斯和期望最大化算法 - 图80 算法了,只要这些问题也具有潜在变量(latent variables),并且还能够保证收敛。

10.2 期望最大化算法 EM algorithm

在前面的若干讲义中,我们已经讲过了期望最大化算法(EM algorithm),使用场景是对一个高斯混合模型进行拟合(fitting a mixture of Gaussians)。在本章里面,我们要给出期望最大化算法(EM algorithm)的更广泛应用,并且演示如何应用于一个大系列的具有潜在变量(latent variables)的估计问题(estimation problems)。我们的讨论从 Jensen 不等式(Jensen’s inequality) 开始,这是一个非常有用的结论。

10.2.1 Jensen 不等式(Jensen’s inequality)

10 混合高斯和期望最大化算法 - 图81 为一个函数,其定义域(domain)为整个实数域(set of real numbers)。这里要回忆一下,如果函数 10 混合高斯和期望最大化算法 - 图82 的二阶导数 10 混合高斯和期望最大化算法 - 图83%20%5Cge%200#card=math&code=f%27%27%28x%29%20%5Cge%200&height=17&width=57) (其中的 10 混合高斯和期望最大化算法 - 图84),则函数 10 混合高斯和期望最大化算法 - 图85 为一个凸函数(convex function)。如果输入的为向量变量,那么这个函数就泛化了,这时候该函数的海森矩阵(hessian) 10 混合高斯和期望最大化算法 - 图86 就是一个半正定矩阵(positive semi-definite 10 混合高斯和期望最大化算法 - 图87)。如果对于所有的 10 混合高斯和期望最大化算法 - 图88 ,都有二阶导数 10 混合高斯和期望最大化算法 - 图89%20%3E%200#card=math&code=f%27%27%28x%29%20%3E%200&height=17&width=57),那么我们称这个函数 10 混合高斯和期望最大化算法 - 图90 是严格凸函数(对应向量值作为变量的情况,对应的条件就是海森矩阵必须为正定,写作 10 混合高斯和期望最大化算法 - 图91)。这样就可以用如下方式来表述 Jensen 不等式:

定理(Theorem):10 混合高斯和期望最大化算法 - 图92 是一个凸函数,且设 10 混合高斯和期望最大化算法 - 图93 是一个随机变量(random variable)。然后则有:

10 混合高斯和期望最大化算法 - 图94%5D%20%5Cge%20f(EX).%0A#card=math&code=E%5Bf%28X%29%5D%20%5Cge%20f%28EX%29.%0A&height=16&width=109)

译者注:函数的期望大于等于期望的函数值

此外,如果函数 10 混合高斯和期望最大化算法 - 图95 是严格凸函数,那么 10 混合高斯和期望最大化算法 - 图96%5D%20%3D%20f(EX)#card=math&code=E%5Bf%28X%29%5D%20%3D%20f%28EX%29&height=16&width=105) 当且仅当 10 混合高斯和期望最大化算法 - 图97 的概率(probability)为 10 混合高斯和期望最大化算法 - 图98 的时候成立(例如 10 混合高斯和期望最大化算法 - 图99 是一个常数)。

还记得我们之前的约定(convention)吧,写期望(expectations)的时候可以偶尔去掉括号(parentheses),所以在上面的定理中, 10 混合高斯和期望最大化算法 - 图100%20%3D%20f(E%5BX%5D)#card=math&code=f%28EX%29%20%3D%20f%28E%5BX%5D%29&height=16&width=105)。

为了容易理解这个定理,可以参考下面的图:

10 混合高斯和期望最大化算法 - 图101

上图中,10 混合高斯和期望最大化算法 - 图102 是一个凸函数,在图中用实线表示。另外 10 混合高斯和期望最大化算法 - 图103 是一个随机变量,有 10 混合高斯和期望最大化算法 - 图104 的概率(chance)取值为 10 混合高斯和期望最大化算法 - 图105,另外有 10 混合高斯和期望最大化算法 - 图106 的概率取值为 10 混合高斯和期望最大化算法 - 图107(在图中 10 混合高斯和期望最大化算法 - 图108 轴上标出了)。这样,10 混合高斯和期望最大化算法 - 图109 的期望值就在图中所示的 10 混合高斯和期望最大化算法 - 图11010 混合高斯和期望最大化算法 - 图111 的中点位置。

图中在 10 混合高斯和期望最大化算法 - 图112 轴上也标出了 10 混合高斯和期望最大化算法 - 图113#card=math&code=f%28a%29&height=16&width=24), 10 混合高斯和期望最大化算法 - 图114#card=math&code=f%28b%29&height=16&width=24) 和 10 混合高斯和期望最大化算法 - 图115#card=math&code=f%28E%5BX%5D%29&height=16&width=47)。接下来函数的期望值 10 混合高斯和期望最大化算法 - 图116%5D#card=math&code=E%5Bf%28X%29%5D&height=16&width=47) 在 10 混合高斯和期望最大化算法 - 图117 轴上就处于 10 混合高斯和期望最大化算法 - 图118#card=math&code=f%28a%29&height=16&width=24) 和 10 混合高斯和期望最大化算法 - 图119#card=math&code=f%28b%29&height=16&width=24) 之间的中点的位置。如图中所示,在这个例子中由于 10 混合高斯和期望最大化算法 - 图120 是凸函数,很明显 10 混合高斯和期望最大化算法 - 图121%5D%20%E2%89%A5%20f(EX)#card=math&code=E%5Bf%28X%29%5D%20%E2%89%A5%20f%28EX%29&height=16&width=105)。

顺便说一下,很多人都记不住不等式的方向,所以就不妨用画图来记住,这是很好的方法,还可以通过图像很快来找到答案。

备注。 回想一下,当且仅当 10 混合高斯和期望最大化算法 - 图122 是严格凸函数([strictly] convex)的时候,10 混合高斯和期望最大化算法 - 图123 是严格凹函数([strictly] concave)(例如,二阶导数 10 混合高斯和期望最大化算法 - 图124%5Cle%200#card=math&code=f%27%27%28x%29%5Cle%200&height=17&width=57) 或者其海森矩阵 10 混合高斯和期望最大化算法 - 图125)。Jensen 不等式也适用于凹函数(concave)10 混合高斯和期望最大化算法 - 图126,但不等式的方向要反过来,也就是对于凹函数,10 混合高斯和期望最大化算法 - 图127%5D%20%5Cle%20f(EX)#card=math&code=E%5Bf%28X%29%5D%20%5Cle%20f%28EX%29&height=16&width=105)。

10.2.2 期望最大化算法(EM algorithm)

假如我们有一个估计问题(estimation problem),其中由训练样本集 10 混合高斯和期望最大化算法 - 图128%7D%2C%20…%2C%20x%5E%7B(m)%7D%5C%7D#card=math&code=%5C%7Bx%5E%7B%281%29%7D%2C%20…%2C%20x%5E%7B%28m%29%7D%5C%7D&height=19&width=90) 包含了 10 混合高斯和期望最大化算法 - 图129 个独立样本。我们用模型 10 混合高斯和期望最大化算法 - 图130#card=math&code=p%28x%2C%20z%29&height=16&width=37) 对数据进行建模,拟合其参数(parameters),其中的似然函数(likelihood)如下所示:

10 混合高斯和期望最大化算法 - 图131%20%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Clog%20p(x%3B%5Ctheta)%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Clog%5Csumz%20p(x%2Cz%3B%5Ctheta)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0Al%28%5Ctheta%29%20%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Clog%20p%28x%3B%5Ctheta%29%20%5C%5C%0A%26%3D%20%5Csum_%7Bi%3D1%7D%5Em%5Clog%5Csum_z%20p%28x%2Cz%3B%5Ctheta%29%0A%5Cend%7Baligned%7D%0A&height=82&width=156)

然而,确切地找到对参数 10 混合高斯和期望最大化算法 - 图132 的最大似然估计(maximum likelihood estimates)可能会很难。此处的 10 混合高斯和期望最大化算法 - 图133%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是一个潜在的随机变量(latent random variables);通常情况下,如果 10 混合高斯和期望最大化算法 - 图134%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 事先得到了,然后再进行最大似然估计,就容易多了。

这种环境下,使用期望最大化算法(EM algorithm)就能很有效地实现最大似然估计(maximum likelihood estimation)。明确地对似然函数10 混合高斯和期望最大化算法 - 图135#card=math&code=l%28%5Ctheta%29&height=16&width=20)进行最大化可能是很困难的,所以我们的策略就是使用一种替代,在 10 混合高斯和期望最大化算法 - 图136 步骤 构建一个 10 混合高斯和期望最大化算法 - 图137 的下限(lower-bound),然后在 10 混合高斯和期望最大化算法 - 图138 步骤 对这个下限进行优化。

对于每个 10 混合高斯和期望最大化算法 - 图139,设 10 混合高斯和期望最大化算法 - 图140 是某个对 10 混合高斯和期望最大化算法 - 图141 的分布(10 混合高斯和期望最大化算法 - 图142%20%3D%201%2C%20Q_i(z)%5Cge%200#card=math&code=%5Csum_z%20Q_i%28z%29%20%3D%201%2C%20Q_i%28z%29%5Cge%200&height=32&width=142))。则有下列各式10 混合高斯和期望最大化算法 - 图143

10 混合高斯和期望最大化算法 - 图144%7D%3B%5Ctheta)%20%26%3D%20%5Csumi%5Clog%5Csum%7Bz%5E%7B(i)%7D%7Dp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%26(1)%20%5C%5C%0A%26%3D%20%5Csumi%5Clog%5Csum%7Bz%5E%7B(i)%7D%7DQi(z%5E%7B(i)%7D)%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%20%26(2)%5C%5C%0A%26%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B(i)%7D%7DQi(z%5E%7B(i)%7D)%5Clog%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%26(3)%20%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%5Csum_i%5Clog%20p%28x%5E%7B%28i%29%7D%3B%5Ctheta%29%20%26%3D%20%5Csum_i%5Clog%5Csum%7Bz%5E%7B%28i%29%7D%7Dp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%26%281%29%20%5C%5C%0A%26%3D%20%5Csumi%5Clog%5Csum%7Bz%5E%7B%28i%29%7D%7DQi%28z%5E%7B%28i%29%7D%29%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%20%26%282%29%5C%5C%0A%26%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29%5Clog%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%26%283%29%20%0A%5Cend%7Baligned%7D%0A&height=127&width=346)

1 如果 10 混合高斯和期望最大化算法 - 图145 是连续的,那么 10 混合高斯和期望最大化算法 - 图146 就是一个密度函数(density),上面讨论中提到的对 10 混合高斯和期望最大化算法 - 图147 的求和(summations)就要用对 10 混合高斯和期望最大化算法 - 图148 的积分(integral)来替代。

上面推导(derivation)的最后一步使用了 Jensen 不等式(Jensen’s inequality)。其中的 10 混合高斯和期望最大化算法 - 图149%20%3D%20log%20x#card=math&code=f%28x%29%20%3D%20log%20x&height=16&width=68) 是一个凹函数(concave function),因为其二阶导数 10 混合高斯和期望最大化算法 - 图150%20%3D%20-1%2Fx%5E2%20%3C%200#card=math&code=f%27%27%28x%29%20%3D%20-1%2Fx%5E2%20%3C%200&height=18&width=113) 在整个定义域(domain) 10 混合高斯和期望最大化算法 - 图151 上都成立。

此外,上式的求和中的单项:

10 混合高斯和期望最大化算法 - 图152%7D%7DQi(z%5E%7B(i)%7D)%5B%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%5D%0A#card=math&code=%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29%5B%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%5D%0A&height=45&width=152)

是变量(quantity)10 混合高斯和期望最大化算法 - 图153%7D%2C%20z%5E%7B(i)%7D%3B%20%5Ctheta)%2FQ_i(z%5E%7B(i)%7D)%5D#card=math&code=%5Bp%28x%5E%7B%28i%29%7D%2C%20z%5E%7B%28i%29%7D%3B%20%5Ctheta%29%2FQ_i%28z%5E%7B%28i%29%7D%29%5D&height=19&width=132) 基于 10 混合高斯和期望最大化算法 - 图154%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 的期望,其中 10 混合高斯和期望最大化算法 - 图155%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 是根据 10 混合高斯和期望最大化算法 - 图156 给定的分布确定。然后利用 Jensen 不等式(Jensen’s inequality),就得到了:

10 混合高斯和期望最大化算法 - 图157%7D%5Csim%20Qi%7D%5B%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%5D)%5Cge%0AE%7Bz%5E%7B(i)%7D%5Csim%20Qi%7D%5Bf(%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D)%5D%0A#card=math&code=f%28E%7Bz%5E%7B%28i%29%7D%5Csim%20Qi%7D%5B%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%5D%29%5Cge%0AE%7Bz%5E%7B%28i%29%7D%5Csim%20Q_i%7D%5Bf%28%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%29%5D%0A&height=41&width=315)

其中上面的角标 10 混合高斯和期望最大化算法 - 图158%7D%5Csim%20Q_i%E2%80%9D#card=math&code=%E2%80%9Cz%5E%7B%28i%29%7D%5Csim%20Q_i%E2%80%9D&height=18&width=65) 就表明这个期望是对于依据分布 10 混合高斯和期望最大化算法 - 图159 来确定的 10 混合高斯和期望最大化算法 - 图160%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 的。这样就可以从等式 10 混合高斯和期望最大化算法 - 图161#card=math&code=%282%29&height=16&width=17) 推导出等式 10 混合高斯和期望最大化算法 - 图162#card=math&code=%283%29&height=16&width=17)。

接下来,对于任意的一个分布 10 混合高斯和期望最大化算法 - 图163,上面的等式 10 混合高斯和期望最大化算法 - 图164#card=math&code=%283%29&height=16&width=17) 就给出了似然函数 10 混合高斯和期望最大化算法 - 图165#card=math&code=l%28%5Ctheta%29&height=16&width=20) 的下限(lower-bound)。那么对于 10 混合高斯和期望最大化算法 - 图166 有很多种选择。咱们该选哪个呢?如果我们对参数 10 混合高斯和期望最大化算法 - 图167 有某种当前的估计,很自然就可以设置这个下限为 10 混合高斯和期望最大化算法 - 图168 这个值。也就是,针对当前的 10 混合高斯和期望最大化算法 - 图169 值,我们令上面的不等式中的符号为等号。(稍后我们能看到,这样就能证明,随着 10 混合高斯和期望最大化算法 - 图170迭代过程的进行,似然函数 10 混合高斯和期望最大化算法 - 图171#card=math&code=l%28%5Ctheta%29&height=16&width=20) 就会单调递增(increases monotonically)。)

为了让上面的限定值(bound)与 10 混合高斯和期望最大化算法 - 图172 特定值(particular value)联系紧密(tight),我们需要上面推导过程中的 Jensen 不等式这一步中等号成立。要让这个条件成立,我们只需确保是在对一个常数值随机变量(“constant”-valued random variable)求期望。也就是需要:

10 混合高斯和期望最大化算法 - 图173%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%3Dc%0A#card=math&code=%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%3Dc%0A&height=41&width=102)

其中常数 10 混合高斯和期望最大化算法 - 图174 不依赖 10 混合高斯和期望最大化算法 - 图175%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18)。要实现这一条件,只需满足:

10 混合高斯和期望最大化算法 - 图176%7D)%5Cpropto%20p(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%0A#card=math&code=Q_i%28z%5E%7B%28i%29%7D%29%5Cpropto%20p%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%0A&height=19&width=136)

实际上,由于我们已知 10 混合高斯和期望最大化算法 - 图177%7D)%20%3D%201#card=math&code=%5Csum_z%20Q_i%28z%5E%7B%28i%29%7D%29%20%3D%201&height=32&width=90)(因为这是一个分布),这就进一步表明:

10 混合高斯和期望最大化算法 - 图178%7D)%20%26%3D%20%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7B%5Csum_z%20p(x%5E%7B(i)%7D%2Cz%3B%5Ctheta)%7D%20%5C%5C%0A%26%3D%20%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7Bp(x%5E%7B(i)%7D%3B%5Ctheta)%7D%20%5C%5C%0A%26%3D%20p(z%5E%7B(i)%7D%7Cx%5E%7B(i)%7D%3B%5Ctheta)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0AQ_i%28z%5E%7B%28i%29%7D%29%20%26%3D%20%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7B%5Csum_z%20p%28x%5E%7B%28i%29%7D%2Cz%3B%5Ctheta%29%7D%20%5C%5C%0A%26%3D%20%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7Bp%28x%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%20%5C%5C%0A%26%3D%20p%28z%5E%7B%28i%29%7D%7Cx%5E%7B%28i%29%7D%3B%5Ctheta%29%0A%5Cend%7Baligned%7D%0A&height=102&width=156)

因此,在给定 10 混合高斯和期望最大化算法 - 图179%7D#card=math&code=x%5E%7B%28i%29%7D&height=16&width=20) 和参数 10 混合高斯和期望最大化算法 - 图180 的设置下,我们可以简单地把 10 混合高斯和期望最大化算法 - 图181 设置为 10 混合高斯和期望最大化算法 - 图182%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 的后验分布(posterior distribution)。

接下来,对 10 混合高斯和期望最大化算法 - 图183 的选择,等式 10 混合高斯和期望最大化算法 - 图184#card=math&code=%283%29&height=16&width=17) 就给出了似然函数对数(log likelihood)的一个下限,而似然函数(likelihood)正是我们要试图求最大值(maximize)的。这就是 10 混合高斯和期望最大化算法 - 图185 步骤。接下来在算法的 10 混合高斯和期望最大化算法 - 图186 步骤中,就最大化等式 10 混合高斯和期望最大化算法 - 图187#card=math&code=%283%29&height=16&width=17) 当中的方程,然后得到新的参数 10 混合高斯和期望最大化算法 - 图188。重复这两个步骤,就是完整的 10 混合高斯和期望最大化算法 - 图189 算法,如下所示:

 重复下列过程直到收敛(convergence): {

  (10 混合高斯和期望最大化算法 - 图190 步骤)对每个 10 混合高斯和期望最大化算法 - 图191,设

10 混合高斯和期望最大化算法 - 图192%7D)%3A%3Dp(z%5E%7B(i)%7D%7Cx%5E%7B(i)%7D%3B%5Ctheta)%0A#card=math&code=Q_i%28z%5E%7B%28i%29%7D%29%3A%3Dp%28z%5E%7B%28i%29%7D%7Cx%5E%7B%28i%29%7D%3B%5Ctheta%29%0A&height=19&width=138)

  (10 混合高斯和期望最大化算法 - 图193 步骤) 设

10 混合高斯和期望最大化算法 - 图194%7D%7DQi(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%0A#card=math&code=%5Ctheta%20%3A%3D%20arg%5Cmax%5Ctheta%5Csumi%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%0A&height=45&width=262)

}

怎么才能知道这个算法是否会收敛(converge)呢?设 10 混合高斯和期望最大化算法 - 图195%7D#card=math&code=%5Ctheta%5E%7B%28t%29%7D&height=16&width=18) 和 10 混合高斯和期望最大化算法 - 图196%7D#card=math&code=%5Ctheta%5E%7B%28t%2B1%29%7D&height=16&width=30) 是上面 10 混合高斯和期望最大化算法 - 图197 迭代过程中的某两个参数(parameters)。接下来我们就要证明一下 10 混合高斯和期望最大化算法 - 图198%7D)%5Cle%20l(%5Ctheta%5E%7B(t%2B1)%7D)#card=math&code=l%28%5Ctheta%5E%7B%28t%29%7D%29%5Cle%20l%28%5Ctheta%5E%7B%28t%2B1%29%7D%29&height=19&width=96),这就表明 10 混合高斯和期望最大化算法 - 图199 迭代过程总是让似然函数对数(log-likelihood)单调递增(monotonically improves)。证明这个结论的关键就在于对 10 混合高斯和期望最大化算法 - 图200 的选择中。在上面10 混合高斯和期望最大化算法 - 图201迭代中,参数的起点设为 10 混合高斯和期望最大化算法 - 图202%7D#card=math&code=%5Ctheta%5E%7B%28t%29%7D&height=16&width=18),我们就可以选择 10 混合高斯和期望最大化算法 - 图203%7D(z%5E%7B(i)%7D)%3A%20%3D%20p(z%5E%7B(i)%7D%7Cx%5E%7B(i)%7D%3B%5Ctheta%5E%7B(t)%7D)#card=math&code=Q_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29%3A%20%3D%20p%28z%5E%7B%28i%29%7D%7Cx%5E%7B%28i%29%7D%3B%5Ctheta%5E%7B%28t%29%7D%29&height=21&width=157)。之前我们已经看到了,正如等式 10 混合高斯和期望最大化算法 - 图204#card=math&code=%283%29&height=16&width=17) 的推导过程中所示,这样选择能保证 Jensen 不等式的等号成立,因此:

10 混合高斯和期望最大化算法 - 图205%7D)%3D%5Csumi%5Csum%7Bz%5E%7B(i)%7D%7DQi%5E%7B(t)%7D(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta%5E%7B(t)%7D)%7D%7BQ_i%5E%7B(t)%7D(z%5E%7B(i)%7D)%7D%0A#card=math&code=l%28%5Ctheta%5E%7B%28t%29%7D%29%3D%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%5E%7B%28t%29%7D%29%7D%7BQ_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29%7D%0A&height=45&width=255)

参数 10 混合高斯和期望最大化算法 - 图206%7D#card=math&code=%5Ctheta%5E%7B%28t%2B1%29%7D&height=16&width=30) 可以通过对上面等式中等号右侧进行最大化而得到。因此:

10 混合高斯和期望最大化算法 - 图207%7D)%20%26%5Cge%20%5Csumi%5Csum%7Bz%5E%7B(i)%7D%7DQi%5E%7B(t)%7D(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta%5E%7B(t%2B1)%7D)%7D%7BQ_i%5E%7B(t)%7D(z%5E%7B(i)%7D)%7D%20%26(4)%5C%5C%0A%26%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B(i)%7D%7DQi%5E%7B(t)%7D(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta%5E%7B(t)%7D)%7D%7BQ_i%5E%7B(t)%7D(z%5E%7B(i)%7D)%7D%20%26(5)%5C%5C%0A%26%3D%20l(%5Ctheta%5E%7B(t)%7D)%20%26(6)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0Al%28%5Ctheta%5E%7B%28t%2B1%29%7D%29%20%26%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQi%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%5E%7B%28t%2B1%29%7D%29%7D%7BQ_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29%7D%20%26%284%29%5C%5C%0A%26%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%5E%7B%28t%29%7D%29%7D%7BQ_i%5E%7B%28t%29%7D%28z%5E%7B%28i%29%7D%29%7D%20%26%285%29%5C%5C%0A%26%3D%20l%28%5Ctheta%5E%7B%28t%29%7D%29%20%26%286%29%0A%5Cend%7Baligned%7D%0A&height=110&width=329)

上面的第一个不等式推自:

10 混合高斯和期望最大化算法 - 图208%5Cge%20%5Csumi%5Csum%7Bz%5E%7B(i)%7D%7DQi(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%0A#card=math&code=l%28%5Ctheta%29%5Cge%20%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%0A&height=45&width=223)

上面这个不等式对于任意值的 10 混合高斯和期望最大化算法 - 图20910 混合高斯和期望最大化算法 - 图210 都成立,尤其当 10 混合高斯和期望最大化算法 - 图211%7D%2C%20%5Ctheta%20%3D%20%5Ctheta%5E%7B(t%2B1)%7D#card=math&code=Q_i%20%3D%20Q_i%5E%7B%28t%29%7D%2C%20%5Ctheta%20%3D%20%5Ctheta%5E%7B%28t%2B1%29%7D&height=21&width=117)。要得到等式 10 混合高斯和期望最大化算法 - 图212#card=math&code=%285%29&height=16&width=17),我们要利用 10 混合高斯和期望最大化算法 - 图213%7D#card=math&code=%5Ctheta%5E%7B%28t%2B1%29%7D&height=16&width=30) 的选择能够保证:

10 混合高斯和期望最大化算法 - 图214%7D%7DQi(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%0A#card=math&code=arg%5Cmax%5Ctheta%20%5Csumi%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%0A&height=45&width=234)

这个式子对 10 混合高斯和期望最大化算法 - 图215%7D#card=math&code=%5Ctheta%5E%7B%28t%2B1%29%7D&height=16&width=30) 得到的值必须大于等于 10 混合高斯和期望最大化算法 - 图216%7D#card=math&code=%5Ctheta%5E%7B%28t%29%7D&height=16&width=18) 得到的值。最后,推导等式10 混合高斯和期望最大化算法 - 图217#card=math&code=%286%29&height=16&width=17) 的这一步,正如之前所示,因为在选择的时候我们选的 10 混合高斯和期望最大化算法 - 图218%7D#card=math&code=Q_i%5E%7B%28t%29%7D&height=21&width=23) 就是要保证 Jensen 不等式对 10 混合高斯和期望最大化算法 - 图219%7D#card=math&code=%5Ctheta%5E%7B%28t%29%7D&height=16&width=18) 等号成立。

因此,10 混合高斯和期望最大化算法 - 图220 算法就能够导致似然函数(likelihood)的单调收敛。在我们推导 10 混合高斯和期望最大化算法 - 图221 算法的过程中,我们要一直运行该算法到收敛。得到了上面的结果之后,可以使用一个合理的收敛检测(reasonable convergence test)来检查在成功的迭代(successive iterations)之间的 10 混合高斯和期望最大化算法 - 图222#card=math&code=l%28%5Ctheta%29&height=16&width=20) 的增长是否小于某些容忍参数(tolerance parameter),如果 10 混合高斯和期望最大化算法 - 图223 算法对 10 混合高斯和期望最大化算法 - 图224#card=math&code=l%28%5Ctheta%29&height=16&width=20) 的增大速度很慢,就声明收敛(declare convergence)。

备注。 如果我们定义

10 混合高斯和期望最大化算法 - 图225%3D%5Csumi%5Csum%7Bz%5E%7B(i)%7D%7DQi(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Ctheta)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%0A#card=math&code=J%28Q%2C%20%5Ctheta%29%3D%5Csum_i%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Ctheta%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%0A&height=45&width=244)

通过我们之前的推导,就能知道 10 混合高斯和期望最大化算法 - 图226%20%E2%89%A5%20J(Q%2C%20%5Ctheta)#card=math&code=l%28%5Ctheta%29%20%E2%89%A5%20J%28Q%2C%20%5Ctheta%29&height=16&width=81)。这样 10 混合高斯和期望最大化算法 - 图227 算法也可看作是在 10 混合高斯和期望最大化算法 - 图228 上的坐标上升(coordinate ascent),其中 10 混合高斯和期望最大化算法 - 图229 步骤在 10 混合高斯和期望最大化算法 - 图230 上对 10 混合高斯和期望最大化算法 - 图231 进行了最大化(自己检查哈),然后 10 混合高斯和期望最大化算法 - 图232 步骤则在 10 混合高斯和期望最大化算法 - 图233 上对 10 混合高斯和期望最大化算法 - 图234 进行最大化。

10.2.3 高斯混合模型回顾(Mixture of Gaussians revisited )

有了对 10 混合高斯和期望最大化算法 - 图235 算法的广义定义(general definition)之后,我们就可以回顾一下之前的高斯混合模型问题,其中要拟合的参数有 10 混合高斯和期望最大化算法 - 图23610 混合高斯和期望最大化算法 - 图237。为了避免啰嗦,这里就只给出在 10 混合高斯和期望最大化算法 - 图238 步骤中对10 混合高斯和期望最大化算法 - 图23910 混合高斯和期望最大化算法 - 图240 进行更新的推导,关于 10 混合高斯和期望最大化算法 - 图241 的更新推导就由读者当作练习自己来吧。

10 混合高斯和期望最大化算法 - 图242 步骤很简单。还是按照上面的算法推导过程,只需要计算:

10 混合高斯和期望最大化算法 - 图243%7D%3DQ_i(z%5E%7B(i)%7D%3Dj)%3DP(z%5E%7B(i)%7D%3Dj%7Cx%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)%0A#card=math&code=w_j%5E%7B%28i%29%7D%3DQ_i%28z%5E%7B%28i%29%7D%3Dj%29%3DP%28z%5E%7B%28i%29%7D%3Dj%7Cx%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29%0A&height=23&width=256)

这里面的 10 混合高斯和期望最大化算法 - 图244%7D%20%3D%20j)%E2%80%9D#card=math&code=%E2%80%9CQ_i%28z%5E%7B%28i%29%7D%20%3D%20j%29%E2%80%9D&height=19&width=81) 表示的是在分布 10 混合高斯和期望最大化算法 - 图24510 混合高斯和期望最大化算法 - 图246%7D#card=math&code=z%5E%7B%28i%29%7D&height=16&width=18) 取值 10 混合高斯和期望最大化算法 - 图247 的概率。

接下来在 10 混合高斯和期望最大化算法 - 图248 步骤,就要最大化关于参数 10 混合高斯和期望最大化算法 - 图249的值:

10 混合高斯和期望最大化算法 - 图250%7D%7DQi(z%5E%7B(i)%7D)log%5Cfrac%7Bp(x%5E%7B(i)%7D%2Cz%5E%7B(i)%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma)%7D%7BQ_i(z%5E%7B(i)%7D)%7D%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5EkQ_i(z%5E%7B(i)%7D%3Dj)log%5Cfrac%7Bp(x%5E%7B(i)%7D%7Cz%5E%7B(i)%7D%3Dj%3B%5Cmu%2C%5CSigma)p(z%5E%7B(i)%7D%3Dj%3B%5Cphi)%7D%7BQ_i(z%5E%7B(i)%7D%3Dj)%7D%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B(i)%7Dlog%5Cfrac%7B%5Cfrac%7B1%7D%7B(2%5Cpi)%5E%7Bn%2F2%7D%7C%5CSigma_j%7C%5E%7B1%2F2%7D%7Dexp(-%5Cfrac%2012(x%5E%7B(i)%7D-%5Cmu_j)%5ET%5CSigma_j%5E%7B-1%7D(x%5E%7B(i)%7D-%5Cmu_j))%5Ccdot%5Cphi_j%7D%7Bw_j%5E%7B(i)%7D%7D%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%5Csum%7Bi%3D1%7D%5Em%26%5Csum%7Bz%5E%7B%28i%29%7D%7DQ_i%28z%5E%7B%28i%29%7D%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%2Cz%5E%7B%28i%29%7D%3B%5Cphi%2C%5Cmu%2C%5CSigma%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%29%7D%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5EkQ_i%28z%5E%7B%28i%29%7D%3Dj%29log%5Cfrac%7Bp%28x%5E%7B%28i%29%7D%7Cz%5E%7B%28i%29%7D%3Dj%3B%5Cmu%2C%5CSigma%29p%28z%5E%7B%28i%29%7D%3Dj%3B%5Cphi%29%7D%7BQ_i%28z%5E%7B%28i%29%7D%3Dj%29%7D%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum_%7Bj%3D1%7D%5Ekw_j%5E%7B%28i%29%7Dlog%5Cfrac%7B%5Cfrac%7B1%7D%7B%282%5Cpi%29%5E%7Bn%2F2%7D%7C%5CSigma_j%7C%5E%7B1%2F2%7D%7Dexp%28-%5Cfrac%2012%28x%5E%7B%28i%29%7D-%5Cmu_j%29%5ET%5CSigma_j%5E%7B-1%7D%28x%5E%7B%28i%29%7D-%5Cmu_j%29%29%5Ccdot%5Cphi_j%7D%7Bw_j%5E%7B%28i%29%7D%7D%0A%5Cend%7Baligned%7D%0A&height=147&width=421)

先关于 10 混合高斯和期望最大化算法 - 图251 来进行最大化。如果去关于 10 混合高斯和期望最大化算法 - 图252 的(偏)导数(derivative),得到:

10 混合高斯和期望最大化算法 - 图253%7Dlog%5Cfrac%7B%5Cfrac%7B1%7D%7B(2%5Cpi)%5E%7Bn%2F2%7D%7C%5CSigmaj%7C%5E%7B1%2F2%7D%7Dexp(-%5Cfrac%2012(x%5E%7B(i)%7D-%5Cmu_j)%5ET%5CSigma_j%5E%7B-1%7D(x%5E%7B(i)%7D-%5Cmu_j))%5Ccdot%5Cphi_j%7D%7Bw_j%5E%7B(i)%7D%7D%20%5C%5C%0A%26%3D%20-%5Cnabla%7B%5Cmul%7D%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B(i)%7D%5Cfrac%2012(x%5E%7B(i)%7D-%5Cmu_j)%5ET%5CSigma_j%5E%7B-1%7D(x%5E%7B(i)%7D-%5Cmu_j)%20%5C%5C%0A%26%3D%20%5Cfrac%2012%5Csum%7Bi%3D1%7D%5Em%20wl%5E%7B(i)%7D%5Cnabla%7B%5Cmul%7D2%5Cmu_l%5ET%5CSigma_l%5E%7B-1%7Dx%5E%7B(i)%7D-%5Cmu_l%5ET%5CSigma_l%5E%7B-1%7D%5Cmu_l%20%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20wl%5E%7B(i)%7D(%5CSigma_l%5E%7B-1%7Dx%5E%7B(i)%7D-%5CSigma_l%5E%7B-1%7D%5Cmu_l)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%5Cnabla%7B%5Cmul%7D%26%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B%28i%29%7Dlog%5Cfrac%7B%5Cfrac%7B1%7D%7B%282%5Cpi%29%5E%7Bn%2F2%7D%7C%5CSigma_j%7C%5E%7B1%2F2%7D%7Dexp%28-%5Cfrac%2012%28x%5E%7B%28i%29%7D-%5Cmu_j%29%5ET%5CSigma_j%5E%7B-1%7D%28x%5E%7B%28i%29%7D-%5Cmu_j%29%29%5Ccdot%5Cphi_j%7D%7Bw_j%5E%7B%28i%29%7D%7D%20%5C%5C%0A%26%3D%20-%5Cnabla%7B%5Cmul%7D%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B%28i%29%7D%5Cfrac%2012%28x%5E%7B%28i%29%7D-%5Cmu_j%29%5ET%5CSigma_j%5E%7B-1%7D%28x%5E%7B%28i%29%7D-%5Cmu_j%29%20%5C%5C%0A%26%3D%20%5Cfrac%2012%5Csum%7Bi%3D1%7D%5Em%20wl%5E%7B%28i%29%7D%5Cnabla%7B%5Cmul%7D2%5Cmu_l%5ET%5CSigma_l%5E%7B-1%7Dx%5E%7B%28i%29%7D-%5Cmu_l%5ET%5CSigma_l%5E%7B-1%7D%5Cmu_l%20%20%5C%5C%0A%26%3D%20%5Csum%7Bi%3D1%7D%5Em%20w_l%5E%7B%28i%29%7D%28%5CSigma_l%5E%7B-1%7Dx%5E%7B%28i%29%7D-%5CSigma_l%5E%7B-1%7D%5Cmu_l%29%0A%5Cend%7Baligned%7D%0A&height=183&width=407)

设上式为零,然后解出 10 混合高斯和期望最大化算法 - 图254 就产生了更新规则(update rule):

10 混合高斯和期望最大化算法 - 图255%7Dx%5E%7B(i)%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%20w_l%5E%7B(i)%7D%7D%0A#card=math&code=%5Cmu_l%20%3A%3D%20%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20wl%5E%7B%28i%29%7Dx%5E%7B%28i%29%7D%7D%7B%5Csum%7Bi%3D1%7D%5Em%20w_l%5E%7B%28i%29%7D%7D%0A&height=47&width=114)

这个结果咱们在之前的讲义中已经见到过了。

咱们再举一个例子,推导在 10 混合高斯和期望最大化算法 - 图256 步骤中参数 10 混合高斯和期望最大化算法 - 图257 的更新规则。把仅关于参数 10 混合高斯和期望最大化算法 - 图258 的表达式结合起来,就能发现只需要最大化下面的表达式:

10 混合高斯和期望最大化算法 - 图259%7Dlog%5Cphij%0A#card=math&code=%5Csum%7Bi%3D1%7D%5Em%5Csum_%7Bj%3D1%7D%5Ekw_j%5E%7B%28i%29%7Dlog%5Cphi_j%0A&height=45&width=95)

然而,还有一个附加的约束,即 10 混合高斯和期望最大化算法 - 图260 的和为10 混合高斯和期望最大化算法 - 图261,因为其表示的是概率 10 混合高斯和期望最大化算法 - 图262%7D%20%3D%20j%3B%5Cphi)#card=math&code=%5Cphij%20%3D%20p%28z%5E%7B%28i%29%7D%20%3D%20j%3B%5Cphi%29&height=20&width=105)。为了保证这个约束条件成立,即 ![](https://g.yuque.com/gr/latex?%5Csum%5Ek%7Bj%3D1%7D%5Cphij%20%3D%201#card=math&code=%5Csum%5Ek%7Bj%3D1%7D%5Cphi_j%20%3D%201&height=45&width=60),我们构建一个拉格朗日函数(Lagrangian):

10 混合高斯和期望最大化算法 - 图263%3D%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekwj%5E%7B(i)%7Dlog%5Cphi_j%2B%5Cbeta(%5Csum%5Ek%7Bj%3D1%7D%5Cphij%20-%201)%0A#card=math&code=%5Cmathcal%20L%28%5Cphi%29%3D%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B%28i%29%7Dlog%5Cphi_j%2B%5Cbeta%28%5Csum%5Ek%7Bj%3D1%7D%5Cphi_j%20-%201%29%0A&height=45&width=235)

其中的 10 混合高斯和期望最大化算法 - 图264 是 拉格朗日乘数(Lagrange multiplier)10 混合高斯和期望最大化算法 - 图265 。求导,然后得到:

10 混合高斯和期望最大化算法 - 图266%3D%5Csum%7Bi%3D1%7D%5Em%5Cfrac%7Bw_j%5E%7B(i)%7D%7D%7B%5Cphi_j%7D%2B1%0A#card=math&code=%5Cfrac%7B%5Cpartial%7D%7B%5Cpartial%7B%5Cphi_j%7D%7D%5Cmathcal%20L%28%5Cphi%29%3D%5Csum%7Bi%3D1%7D%5Em%5Cfrac%7Bw_j%5E%7B%28i%29%7D%7D%7B%5Cphi_j%7D%2B1%0A&height=46&width=144)

2 这里我们不用在意约束条件 10 混合高斯和期望最大化算法 - 图267,因为很快就能发现,这里推导得到的解会自然满足这个条件的。

设导数为零,然后解方程,就得到了:

10 混合高斯和期望最大化算法 - 图268%7D%7D%7B-%5Cbeta%7D%0A#card=math&code=%5Cphij%3D%5Cfrac%7B%5Csum%7Bi%3D1%7D%5Em%20w_j%5E%7B%28i%29%7D%7D%7B-%5Cbeta%7D%0A&height=42&width=91)

也就是说,$\phij\propto \sum{i=1}^m wj^{(i)} 10 混合高斯和期望最大化算法 - 图269\Sigma_j \phi_j = 1$,可以很容易地发现 ![](https://g.yuque.com/gr/latex?-%5Cbeta%20%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekw_j%5E%7B(i)%7D%20%3D%20%5Csum%7Bi%3D1%7D%5Em%201%20%3Dm#card=math&code=-%5Cbeta%20%3D%20%5Csum%7Bi%3D1%7D%5Em%5Csum%7Bj%3D1%7D%5Ekwj%5E%7B%28i%29%7D%20%3D%20%5Csum%7Bi%3D1%7D%5Em%201%20%3Dm&height=45&width=178). (这里用到了条件 10 混合高斯和期望最大化算法 - 图270%7D%20%3DQ_i(z%5E%7B(i)%7D%20%3D%20j)#card=math&code=w_j%5E%7B%28i%29%7D%20%3DQ_i%28z%5E%7B%28i%29%7D%20%3D%20j%29&height=23&width=107),而且因为所有概率之和等于10 混合高斯和期望最大化算法 - 图271,即10 混合高斯和期望最大化算法 - 图272%7D%3D1#card=math&code=%5Csum_j%20w_j%5E%7B%28i%29%7D%3D1&height=35&width=68))。这样我们就得到了在 10 混合高斯和期望最大化算法 - 图273 步骤中对参数 10 混合高斯和期望最大化算法 - 图274 进行更新的规则了:

10 混合高斯和期望最大化算法 - 图275%7D%0A#card=math&code=%5Cphij%20%3A%3D%20%5Cfrac%201m%20%5Csum%7Bi%3D1%7D%5Em%20w_j%5E%7B%28i%29%7D%0A&height=40&width=98)

接下来对 10 混合高斯和期望最大化算法 - 图276 步骤中对 10 混合高斯和期望最大化算法 - 图277 的更新规则的推导就很容易了。