GMM:高斯混合模型
高斯混合模型(Gaussian mixture model,簡稱 GMM)是單一高斯機率密度函數的
延伸,由於 GMM 能夠平滑地近似任意形狀的密度分佈,因此近年來常被用在語音
與語者辨識,得到不錯的效果。
1. 高斯混合密度函數的參數估測法
在 d 維空間中的分佈不是橢球狀,那麼就不適合以一
如果我們的資料
個單一的高斯密度函數來描述這些資料點的機率密度函數。此時的變通方案,就是
採用數個高斯函數的加權平均(Weighted Average)來表示。若以三個高斯函數來
表示,則可表示成:
此機率密度函數的參數為
列條件:
,而且
要滿足下
以此種方式表示的機率密度函數,稱為「高斯混合密度函數」或是「高斯混合模
型」(Gaussian Mixture Model),簡稱 GMM。
為簡化討論,我們通常假設各個高斯密度函數的共變異矩陣可以表示為:
此時單一的高斯密度函數可表示如下:
在上述方程式中,我們暫時省略了下標 ,以簡化方程式。若將上式對各個參數進
行微分,可以得到下列等式:
1
nxxX,1333222111,;,;,;xgxgxgxp321321321,,,,,,,321,,13213,2,1,1000000122jIjjj22/22exp2,;xxxgTddj22222,;21,;,;xxgxxxgxgTdxxxgxxeedxgTTxxddxxddTT32322/212/2,;22,;22
上述這兩個等式,會在我們後面推導微分公式時,反覆被用到。
當共變異矩陣可以表示成一個常數和一個單位方陣的乘積時,前述的
可
以簡化成:
此
的參數為
,參數個數為
。
欲求得最佳的 值,我們可依循最佳可能性估測法(MLE)原則,求出下列的
最大值:
為簡化討論,我們引進另一個數學符號:
稱為事後機率(Post Probability),若用條件機率常用的表示方式,
可寫
成:
因此
可以看成是下列事件的機率:在觀測到亂數向量的值是 時,此向量是
由第 個高斯密度函數所產生的。欲求
的最大值,我們可以直接對 及 微
分:
2
xp233322222111,,,;,;xgxgxgxpxp232221321321,,,,,,,,dddd36111111233322222111111,;,;,;lnlnln)(iiiniininiixgxgxgxpxpJ2333222221112,;,;,;,;xgxgxgxgxjjjjxj2333222221112,;,;,;,;332211xgxgxgxgxppxppxppjxpjpxpjxpjpxpxjpxjpxjjjjxjxj)(Jjj21212333222221112,;,;,;,;)(jjiniijjjiniiiijjjxxxxgxgxgxgJj
令上兩式為零,即可得到:
(1)
(2)
此外,我們人必須求
對 的微分,但因 仍必須滿足總和為 1 的條件,
因此我們引進 Lagrange Multiplier ,並定義新的目標函數為:
將上三式相加:
(3)
3
jjjiTjiniijjjjiTjiniiiijjjdxxxdxxxgxgxgxgJj31312333222221112,;,;,;,;)(niijniiijjxxx11niijnijiTjiijjxxxxd1121)(Jjj3211JJnew32123332222211111,,,,,,lniiinixgxgxg0,,,,,,,,12333222221112niiiijjijnewxgxgxgxgJ3,2,1,011jxniijjniiniiniixxx133122111niiiixxx1321321nni113,2,1,11jxnijnij
因此經由計算
方程式事實上代表了
是:
仍是
的導式並令其為零,我們得到方程式
個純量方程式,共含
及 ,這三個
個未知數,但須特別注意的
, 是一組
的函數,因此方程式
個未知數的非線性聯立方程式,很難用一般的方法去解,通常我們是以方
, 為基礎來進行疊代法,流程如下:
含
程式
1. 設定一個起始參數值
。(我們可令
,並使用 K-means 的方式來計算群聚的中心點,以作為 、
和 的起始參數值。)
2. 使用 來計算
3. 計算新的 值 :
、
及
,
4. 計算新的 值:
5. 計算新的 值:
6. 令
若
小於某一個極小的容忍值,則停
並跳回步驟 2。
止。否則令
上述疊代方法一定會讓
Maximum),但我們無法證明此局部最大值是否就是全域最大值(Global
Maximum)。有關這些方程式的另一種推導方法,以及這些方程式能夠讓
遞增的證明,詳見下節說明。
逐步遞增,並收斂至一個局部最大值(Local
逐步
2. 求取 GMM 參數的另一種方法
4
)(J2,13d36d36xj232221321321,,,,,,,,2,13d362,13232221321321,,,,,,,,31321123ix1ix2ix3ni~1jniijniiijjxxx11~jniijjiTjiniijjxxxxd1~~121~jniijjxn11~232221221321~,~,~,~,~,~,~,~,~~~~)(J)(J
在本節中,我們使用另一種來導出求取 GMM 參數的疊代公式。此方法所得到的疊代
公式與前一節的公式完全相同,但本節之方法可證明此疊代公式可以逐次提高
的值。
首先我們說明一個重要的不等式。由於對數函數
(Concave Function),滿足下列不等式:
是一個凹函數
推廣上式可得「簡森不等式」(Jensen’s Inequality):
其中 必須滿足
。
假設我們現有的參數是 ,我們希望找出新的 值,使得
。以
為例,
可以表示成:
因此
在前面的推導中,
的計算是根據 ,而且
因為
,因此我們可套用簡森不等式而得到
。換句話
就會大於
,但通常我們希望
是越大越好,因
,那麼
說,只要
此最直覺的方法是直接求得使
1。由於
是 的函數,我們可以把和 不相關的部分併入常數項,如下:
為最大的 值,那麼
就會跟著變大,見圖
5
)(Jxxfln2121ln1ln1lnxxxxniiiniiixx11lnlninii11ˆˆJJ3mJ2333222221111,,,,,,lniiinixgxgxgJ)(ˆ,lnˆ,lnˆ,lnˆ,ˆ,ˆ,lnˆ,ˆ,ˆˆ,ˆ,ˆˆ,ˆ,ˆ,,,lnˆ1323,333222,222121,1113323,332222,221121,11123332222211123,3322,2221,111QxDxgxxDxgxxDxgxxxDxgxxDxgxxDxgxgxgxgxgxgxgJJniiiiiiiiiiiiiiiiiiiniiiiiiiniijxˆ233322222111ˆ,ˆ,ˆˆ,ˆ,ˆˆ,ˆ,ˆˆiiixgxgxgD131jijxQJJˆ0QJˆJJQJQ
欲求最佳之 值,需引入 Lagrange multiplier:
分別對 微分,可得
將上三式相加,可得:
因此
因此我們最後的結果可整理如下:
6
nijjiTjijjjijnijjjTjjdjjjijnijjijjijniiiiiiicxxdxcxxxcxgxcxgxxgxxgxQ122311122/2311123111233332222221,1112lnln2exp21lnln,,lnln,,ln,,ln,lnniijnijiTjiijjniijniiijjxxxxdQxxxQjj11211100jnijjiTjijjjijnewxxdxQQ132123132112lnln1jniinewniinewniinewxQxQxQ133122111000321niniiiinxxx113213211niijjjxn13,2,1,1
其中
的計算,是根據 。因此由上述方法得到的結果,和前一節的結果是完
全一致的。有關於
圖一.
這部分的圖解,可見下圖。
J(θ)
Q(θ)
J(θ)
J(
)
θ
7
inijjinijjiTjiinijjinijiinijjxnxxxxdxxx11121111ijxˆQJJˆˆˆ