1. 最大期望EM

       最大期望(Expectation Maximum)算法是一种迭代优化算法,如果概率模型的变量都是观测变量,那么给定数据,可以直接用最大似然估计法或者贝叶斯估计法去估计模型的参数。但是,当模型含有隐变量时,就不能简单的使用这些估计方法。EM算法就是含有隐变量的概率模型参数估计的最大似然估计法。 

       最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内,从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在 E 步上找到的最大似然的期望值从而计算参数的最大似然估计。M 步上找到的参数然后用于另外一个 E 步计算,这个过程不断交替进行。

       期望最大算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。
       EM算法的流程:

       输入:观察数据

embedding模型多大_最大似然估计

,联合分布 

embedding模型多大_迭代_02

 , 条件分布 

embedding模型多大_最大似然估计_03

 , 最大迭代次数 embedding模型多大_最大似然估计_04 。

               1) 随机初始化模型参数 embedding模型多大_embedding模型多大_05 的初值 embedding模型多大_迭代_06 。

               2) for j from 1 to J开始EM算法迭代:

              a) E步:计算联合分布的条件概率期望:

                                    

embedding模型多大_迭代_07

                                  

embedding模型多大_高斯混合模型_08

               b) M步:极大化 

embedding模型多大_embedding模型多大_09

 ,得到 

embedding模型多大_最大似然估计_10

               c) 如果 

embedding模型多大_最大似然估计_11

 已收敛,则算法结束。否则继续回到步骤a)进行E步迭代。

                              输出:模型参数 embedding模型多大_embedding模型多大_12 。

2. 高斯混合模型

       

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

       举个不是特别稳妥的例子,比如我们现在有一组狗的样本数据,不同种类的狗,体型、颜色、长相各不相同,但都属于狗这个种类,此时单高斯模型可能不能很好的来描述这个分布,因为样本数据分布并不是一个单一的椭圆,所以用混合高斯分布可以更好的描述这个问题,如下图所示:

                                                

embedding模型多大_embedding模型多大_13

首先定义如下信息:

               1.  embedding模型多大_embedding模型多大_14 表示第 j个观测数据,

embedding模型多大_embedding模型多大_15

               2.  K是混合模型中子高斯模型的数量, 

embedding模型多大_最大似然估计_16

               3. embedding模型多大_embedding模型多大_17 是观测数据属于第  个子模型的概率, 

embedding模型多大_高斯混合模型_18

               4. 

embedding模型多大_迭代_19

 是第 k 个子模型的高斯分布密度函数, 

embedding模型多大_高斯混合模型_20

 。其展开形式与上面介绍的单高斯模型相同

               5. embedding模型多大_embedding模型多大_21 表示第 j 个观测数据属于第 k 个子模型的概率

                     高斯混合模型的概率分布为:

                                                                    

embedding模型多大_高斯混合模型_22

                   对这个模型而言,参数 

embedding模型多大_embedding模型多大_23

 ,就是每个子模型的期望、方差(或协方差)、在混合模型中发生的概率。