
高斯混合模型--GMM(Gaussian MixtureModel)
統(tǒng)計學習的模型有兩種,一種是概率模型,一種是非概率模型。
所謂概率模型,是指訓練模型的形式是P(Y|X)。輸入是X,輸出是Y,訓練后模型得到的輸出不是一個具體的值,而是一系列的概率值(對應(yīng)于分類問題來說,就是輸入X對應(yīng)于各個不同Y(類)的概率),然后我們選取概率最大的那個類作為判決對象(軟分類--softassignment)。所謂非概率模型,是指訓練模型是一個決策函數(shù)Y=f(X),輸入數(shù)據(jù)X是多少就可以投影得到唯一的Y,即判決結(jié)果(硬分類--hardassignment)。
所謂混合高斯模型(GMM)就是指對樣本的概率密度分布進行估計,而估計采用的模型(訓練模型)是幾個高斯模型的加權(quán)和(具體是幾個要在模型訓練前建立好)。每個高斯模型就代表了一個類(一個Cluster)。對樣本中的數(shù)據(jù)分別在幾個高斯模型上投影,就會分別得到在各個類上的概率。然后我們可以選取概率最大的類所為判決結(jié)果。
從中心極限定理的角度上看,把混合模型假設(shè)為高斯的是比較合理的,當然,也可以根據(jù)實際數(shù)據(jù)定義成任何分布的MixtureModel,不過定義為高斯的在計算上有一些方便之處,另外,理論上可以通過增加Model的個數(shù),用GMM近似任何概率分布。
混合高斯模型的定義為:
其中K為模型的個數(shù);πk為第k個高斯的權(quán)重;p(x /k) 則為第k個高斯概率密度,其均值為μk,方差為σk。對此概率密度的估計就是要求出πk、μk 和σk各個變量。當求出p(x)的表達式后,求和式的各項的結(jié)果就分別代表樣本x屬于各個類的概率。
在做參數(shù)估計的時候,常采用的是最大似然方法。最大似然法就是使樣本點在估計的概率密度函數(shù)上的概率值最大。由于概率值一般都很小,N很大的時候,連乘的結(jié)果非常小,容易造成浮點數(shù)下溢。所以我們通常取log,將目標改寫成:
也就是最大化對數(shù)似然函數(shù),完整 形式為:
一般用來做參數(shù)估計的時候,我們都是通過對待求變量進行求導來求極值,在上式中,log函數(shù)中又有求和,你想用求導的方法算的話方程組將會非常復雜,沒有閉合解??梢圆捎玫那蠼夥椒ㄊ荅M算法——將求解分為兩步:第一步,假設(shè)知道各個高斯模型的參數(shù)(可以初始化一個,或者基于上一步迭代結(jié)果),去估計每個高斯模型的權(quán)值;第二步,基于估計的權(quán)值,回過頭再去確定高斯模型的參數(shù)。重復這兩個步驟,直到波動很小,近似達到極值(注意這里是極值不是最值,EM算法會陷入局部最優(yōu))。具體表達如下:
1、(E step)
對于第i個樣本xi 來說,它由第k個model 生成的概率為:
在這一步,假設(shè)高斯模型的參數(shù)和是已知的(由上一步迭代而來或由初始值決定)。
2、(Mstep)
3、重復上述兩步驟直到算法收斂。
愛華網(wǎng)



