logo资料库

GMM模型以及基于EM算法的参数估计.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
高斯混合模型 高斯混合模型(Gaussian Mixture Model,简称 GMM)是一种半参数的密度估计 方法,它融合了参数估计法和非参数估计法的优点,不局限于特定的概率密度函 数的形式。模型的复杂度仅与所研究问题的复杂度有关,与样本集合的大小无关。 高斯混合模型(GMM)可以看作一种状态数为 1 的 HMM,由 M 个高斯概率密度函 数线形加权求和构成。高斯混合模型的一个重要特性是,当 GMM 的混合度 M 足够高时,它能够以任意精度逼近任意的连续分布。 混合度为 M 的 GMM 概率密度函数表示如下: p x ( | Θ = ) M ∑ i 1 = p x i ( , | Θ = ) M ∑ φ i i 1 = p x i | , ( ) Θ 其中 x 是 d 维的特征矢量,Θ 为 GMM 模型的参数集,i 为隐状态号,也就是高斯 成分的序号,混合度为 M 的 GMM 模型的有 M 个隐状态, iφ为第 i 个高斯成分 的权重,其值对应为隐状态 i 的先验概率,满足限定关系式 M =∑ φ i i 1 = 1 。 ( p x i Θ 为 | , ) 高斯混合分量,对应隐状态 i 的观察概率密度函数,一般采用 d 维单高斯分布函 数,其中: p x i ( | , Θ = ) 1 /2 (2 ) p d | ∑ i 1/2 | exp  −  ( x − T ) µ i 1 − i ( x − ) µ i Σ 2    d 为特征参数矢量的维数, iµ为第 i 个高斯分布的 d 维均值矢量, i∑ 为第 i 个高 斯分布的协方差矩阵,是一个 d d× 的矩阵, 1,2,..., = i M 。因此一个 GMM 模型 可以由下列参数描述: (1) 模型中的高斯成分的数目 M。 (2) 每个高斯成分的权重 iφ。 (3) 描述每个高斯成分的参数:均值矢量 iµ和协方差矩阵 i∑ 。 因此,GMM 模型的参数为 { Θ = M ,{ },{ },{ };( φ µ i i ∑ i i = 1,2,..., M } ) 。通常 GMM 的混合度 M 是事先选定的。因此模型参数中需要估计的为: Θ = { { },{ },{ };( φ µ i i 1,2,..., 。协方差矩阵 i∑ 可以取普通矩阵,也可以取对 } ) M ∑ = i i 角阵,由于取对角阵的计算比较简单,并且性能也很好,所以常取对角阵。即 ijσ 为 GMM 的第 i 个分量所对应的特征矢量的 2 diag σ σ σ − i d ( 1) ,其中 2 ∑ = ,..., 2 i 0 2 i 1 { } , i 第 j 维分量的方差。
模型参数估计 GMM 模型的建立,实际上就是通过训练,估计 GMM 模型的参数,常用的是 方法是最大似然估计方法。最大似然估计的目的是在给定训练矢量集的情况下, 寻找合适的模型参数,使 GMM 模型的似然函数值最大。 假设可以使用的训练矢量集为 { = ,则高斯混合模型的似然函数 } x x ,..., m x x , 1 2 可表示为 p x ( | Θ = ) m ∏ i 1 = p x ( i | ) Θ ,由于似然函数 ( p x Θ 和参数集 Θ 是很复杂的非 ) | 线性函数关系,不易用通常方法找到其极大值点,必须引入隐状态来参与计算, 因此这是一个对“不完全数据”进行最大似然估计的问题。针对这一问题,目前 的解决方法是使用 EM 算法来估计高斯混合模型的参数 Θ 。 在 E 步中按照一般 EM 公式,设 i ( ) p z ( iQ z ( i ( ) ω j = = = i ( ) ) j = i ( ) j x | ; ) Θ= p z ( i ( ) = i ( ) j x | , ; ) , Σ φµ 简单解释就是每个样本 i 的隐含类别 ( )iz 为 j 的概率可以通过后验概率计算得 到。 )i 在 M 步中,需要固定 ( ) iQ z 后最大化似然估计,也就是: ( 固定 jφ 和 jΣ ,对 jµ 求导:
另其等于 0,得到: µ l i ( ) = ∑ : ∑ m i ( ) xω l i 1 = m i ( ) ω l i 1 = ,这就是我们之前模型中µ的更新公式。 然后固定 jµ 和 jΣ ,对 jφ 求导,由于似然函数 在确定了µ和 Σ 后,分子上面的一串都是常数了,实际上只需要优化下列公式: m k ∑∑ i 1 = j 1 = ω φ j log i ( ) j ,这里 jφ 还满足一定的约束条件就是 k =∑ j φ= 1 j 束条件直接构造拉格朗日函数: 1 。为了处理这个约 其中β是拉格朗日乘子。这里不需要考虑 0 jφ ≥ ,由于这一点在得到的公式里自 动满足。 求导得到: 另其等于 0,得到: φ j = − = β ∑ k j ) φ β 1 = − ( j = 。由于 k =∑ j φ= 1 j 1 , ∑ k j ω= i ( ) j 1 = 1 ,则: m i ( ) ω j i 1 = = ∑ ∑ m i 1 = k j i ( ) ω j 1 = = ∑ m i 1 = 1 = m ∑ m i ( ) ω j i 1 = β − ∑ ∑ k j 1 = 那么就顺势得到 M 步中 jφ 的更新公式: φ j m 1: = ∑ 。 im i ( ) ω j 1 = Σ 的推导也类似,不过稍微复杂一些,这里直接给出结果: Σ = ∑ : j m i ( ) ω j i 1 = ( i ( ) x ∑ )( µ − j m i ( ) ω j i 1 = i ( ) x − T µ j )
则应用 EM 算法的步骤如下: 循环下面步骤,直到收敛:{ (E 步)对于每一个 i 和 j,计算: , ; , φµ j x | p z ( = = i ( ) i ( ) i ( ) ω j ) Σ (M 步)更新参数 , ,φµΣ : m 1 = φ j 1: = ∑ i ( ) ω j im = ∑ : ∑ Σ = ∑ m i ( ) xω l i 1 = m i ( ) ω l i 1 = m i ( ) ω j i 1 = µ j ( : j } i ( ) i ( ) x ∑ i ( ) x − T µ j ) )( µ − j m i ( ) ω j i 1 = 在 E 步中,将其他参数 , ,φµΣ 看作常量,计算 ( )iz 的后验概率,也就是估计隐 含类别变量。在 M 步中,利用上面的公式重新计算其他参数,计算好后发现最 大化似然估计时, ( )i jω 的值又不对了,需要重新计算,反复循环,直到收敛。 ( )i jω 的具体计算公式如下: i ( ) ω j = i ( ) p z ( = i ( ) j x | ; , , φµ ) Σ = p x ( k l 1 = i ( ) | p x ( ∑ i ( ) z i ( ) | i ( ) = i ( ) z j ; , µ l ; = ) Σ , µ p z ( ) Σ p z ( = i ( ) j ; ) φ l ; ) = φ
分享到:
收藏