統計學習的模型有兩種,一種是機率模型,一種是非機率模型。
所謂機率模型,是指訓練模型的形式是P(Y|X)。輸入是X,輸出是Y,訓練後模型得到的輸出不是一個具體的值,而是一系列的機率值(對應于分類問題來說,就是輸入X對應于各個不同Y(類)的機率),然後我們選取機率最大的那個類作為判決對象(軟分類--soft assignment)。所謂非機率模型,是指訓練模型是一個決策函數Y=f(X),輸入資料X是多少就可以投影得到唯一的Y,即判決結果(硬分類--hard assignment)。
GMM假設樣本分布是幾個高斯分布的權重和。
混合高斯模型定義為:
其中K 為模型的個數;πk為第k個高斯的權重;p(x / k) 則為第k個高斯機率密度,其均值為μk,方差為σk。對此機率密度的估計就是要求出πk、μk 和σk 各個變量----是為參數估計。
在做參數估計的時候,常采用的是最大似然方法。最大似然法就是使樣本點在估計的機率密度函數上的機率值最大。由于機率值一般都很小,N 很大的時候, 連乘的結果非常小,容易造成浮點數下溢。是以我們通常取log,将目标改寫成:
一般用來做參數估計的時候,我們都是通過對待求變量進行求導來求極值,在上式中,log函數中又有求和,你想用求導的方法算的話方程組将會非常複雜,沒有閉合解。可以采用的求解方法是EM算法。
第一步:假設知道各個高斯模型的參數(可以初始化一個,或者基于上一步疊代結果),去估計每個高斯模型的權值(πk);
第二步,基于估計的權值,回過頭再去确定高斯模型的參數(μk 和σk )。
重複這兩個步驟直至算法收斂。
———————————————————————————————————————————————
下面的是具體EM算法,了解即可:
1、(E step)
假設高斯模型的參數是已知,對于第i個樣本xi 來說,它由第k 個model 生成的機率為:
2、(M step)
3、重複上述兩步驟直到算法收斂。