[关闭]
@galaxy-0 2019-07-22T19:37:44.000000Z 字数 6203 阅读 904

EM算法应用:高斯混合模型

learning


高斯混合模型概要

假设我们有若干个高斯分布模型,每个模型会以一定的概率被选择,然后根据被选择的模型的概率分布产生一个结果。我们希望可以在只有输出序列的情况下,对模型的参数进行估计。

形式化

我们把观察序列记为,将模型总数记为,第个高斯分布模型会以的概率被选择,


其中,是第个模型的参数。在这个问题中,每次生成观察结果时使用了哪一个模型是隐变量,用表示,定义如下:

构建模型

根据上面的定义,我们可以得到完全数据的似然函数(联合概率):


其中,代表第个模型被选择的次数

接着,我们可以写出对数似然函数:

根据EM算法的框架,我们先来求解Q函数

我们可以直接对对数似然函数求期望得到Q函数(第一行),也可以使用第二行的表达式,利用概率分布来直接求得Q函数。下面两种方法都会列出。

求解Q函数(E步)

通过期望求解

我们直接求解对数似然函数的期望,注意此时我们的随机变量是

在这个式子中,是直接根据当前参数计算的,是第个模型待更新的参数。我们来计算,记为:


其中,第二行到第三行使用了全概率公式,第三行到第四行是条件概率公式。我们由此可以得到Q函数:

通过概率分布求解

我们由


得到我们需要求解的Q函数为

其中代表选择的模型编号。
我们先来求解根据当前参数估算的条件概率部分

代入上面的概率分布定义得到


可见即为
再次代入联合分布概率到中,我们可以得到和上面直接求期望一样的Q函数:

极大化Q函数(M步)

我们分别求Q函数对参数的偏导并使偏导数为0可以得到新的参数的表达式。
对于,求导求极值过程无特别难点,结果如下:

对于参数,我们需要利用额外的约束来求解。
构造拉格朗日函数


分别对每一个求偏导,得到

令上述式子等于0,并求解方程组可以得到

至此,高斯混合模型推导完毕。

模型算法总结

输入:观测数据,高斯混合模型
输出:高斯混合模型参数
(1)初始化参数开始迭代
(2)E步:根据当前模型参数计算分模型对观测变量的响应度:


(3) M步:更新参数

(4) 重复(2)(3)直到收敛

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注