書名: 智能語音處理作者名: 張雄偉 孫蒙 楊吉斌本章字數: 961字更新時間: 2020-11-05 10:07:11
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算法的結果有影響。因此,通常需要設置幾次不同的初始化參數,分別進行迭代,然后取結果最好的估計值作為最后的模型參數。