- 智能语音处理
- 张雄伟 孙蒙 杨吉斌
- 961字
- 2021-04-01 02:36:03
3.2.2 GMM参数估计
GMM模型中包含有Q组高斯参数,每一组参数都可以用一个三元组表示(αi,μi,Σi),i=1,2,…,Q。当知道了这些参数θ={(αi,μi,Σi),i=1,2,…,Q}后,可以利用式(3-1)快速地计算出观测数据的概率密度。相反,给定一批观测数据,如何估计得到描述它的GMM模型参数却不是那么容易。因此,模型参数估计问题是GMM应用的一个关键问题。
由于缺少各混合分量的具体描述,GMM参数估计是一个典型的无监督学习问题。可以从单高斯模型中的参数估计问题开始确定GMM参数估计的求解思路。假设每个观测数据都是独立的,那么观测一批数据就相当于进行多次重复试验。每次试验中出现观测值xj的概率密度为p(xj|θ),j=1,2,…,N,N是观测值数量。这时可以采用最大似然法(Maximum Likelihood)来估计参数θ的值,似然函数由式(3-2)给出。
为便于计算,通常采用对数似然(Log Likelihood,LL)来替换似然函数,因此单高斯模型的参数估计就可以通过求解优化式(3-3)实现。
由于p(xj|θ)服从高斯分布,因此可以非常方便地推导出对数及求和结果,得到参数θ的最优估计。
从单高斯模型变化到GMM时,对数似然的表达式变为式(3-4),同时由于存在隐含的多个高斯分量,每个观测值属于各分量的概率并不明确,因此无法直接转化为最大对数似然进行计算。
为解决这个问题,Dempster等人于1977年提出了一个迭代算法——期望-最大化(Expectation-Maximization,EM)算法[5]。该算法通过迭代的方式,分步求解概率估计和似然最大化的求解问题,很好地解决了GMM的参数估计问题。
EM算法的核心迭代过程包含了求期望(E)和求极值(M)两个步骤,具体见算法3-1。
算法3-1 EM算法
输入:观测变量{xj},j=1,2,…,N,Q,误差ε,迭代次数M。
输出:θ={(αi,μi,Σi),i=1,2,…,Q}。
1)初始化参数,,令m=1;
2)迭代:
①E步骤——利用统计平均思想,计算观测值xj来自第i个模型的概率:
②M步骤——利用计算得到的概率估计,计算最大似然对应的模型参数:
③若m≥M,则跳至步骤3;否则计算参数迭代误差,若‖θm-θm-1‖≤ε,则跳至步骤3,否则m=m+1,返回步骤2中第1步继续迭代;
3)输出最后的,即为估计结果。
理论已证明,EM算法能够收敛到局部最大值,但并不保证找到全局最大值,而且初始值的设置对EM算法的结果有影响。因此,通常需要设置几次不同的初始化参数,分别进行迭代,然后取结果最好的估计值作为最后的模型参数。