天天看點

高斯混合模型GMM(Gaussian Mixture Model)

    統計學習的模型有兩種,一種是機率模型,一種是非機率模型。

    所謂機率模型,是指訓練模型的形式是P(Y|X)。輸入是X,輸出是Y,訓練後模型得到的輸出不是一個具體的值,而是一系列的機率值(對應于分類問題來說,就是輸入X對應于各個不同Y(類)的機率),然後我們選取機率最大的那個類作為判決對象(軟分類--soft assignment)。所謂非機率模型,是指訓練模型是一個決策函數Y=f(X),輸入資料X是多少就可以投影得到唯一的Y,即判決結果(硬分類--hard assignment)。

    GMM假設樣本分布是幾個高斯分布的權重和。

    混合高斯模型定義為:

高斯混合模型GMM(Gaussian Mixture Model)

     其中K 為模型的個數;πk為第k個高斯的權重;p(x / k) 則為第k個高斯機率密度,其均值為μk,方差為σk。對此機率密度的估計就是要求出πk、μk 和σk 各個變量----是為參數估計。

    在做參數估計的時候,常采用的是最大似然方法。最大似然法就是使樣本點在估計的機率密度函數上的機率值最大。由于機率值一般都很小,N 很大的時候, 連乘的結果非常小,容易造成浮點數下溢。是以我們通常取log,将目标改寫成:

高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)

    一般用來做參數估計的時候,我們都是通過對待求變量進行求導來求極值,在上式中,log函數中又有求和,你想用求導的方法算的話方程組将會非常複雜,沒有閉合解。可以采用的求解方法是EM算法。

第一步:假設知道各個高斯模型的參數(可以初始化一個,或者基于上一步疊代結果),去估計每個高斯模型的權值(πk);

第二步,基于估計的權值,回過頭再去确定高斯模型的參數(μk 和σk )。

重複這兩個步驟直至算法收斂。

———————————————————————————————————————————————

下面的是具體EM算法,了解即可:

1、(E step)

    假設高斯模型的參數是已知,對于第i個樣本xi 來說,它由第k 個model 生成的機率為:

高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)

 2、(M step)

高斯混合模型GMM(Gaussian Mixture Model)
高斯混合模型GMM(Gaussian Mixture Model)

3、重複上述兩步驟直到算法收斂。

繼續閱讀