高斯混合模型--gmm
(gaussian mixture model
)
統計學習的模型有兩種,一種是概率模型,一種是非概率模型。
所謂概率模型,是指訓練模型的形式是p(y|x)
。輸入是x,輸出是y,
訓練後模型得到的輸出不是乙個具體的值,而是一系列的概率值(對應於分類問題來說,就是輸入x對應於各個不同y(類)的概率),然後我們選取概率最大的那個類作為判決物件(軟分類--
soft assignment
)。所謂非概率模型,是指訓練模型是乙個決策函式
y=f(x)
,輸入資料
x是多少就可以投影得到唯一的
y,即判決結果(硬分類--
hard assignment
)。
所謂混合高斯模型(gmm)就是指對樣本的概率密度分布進行估計,而估計採用的模型(訓練模型)是幾個高斯模型的加權和(具體是幾個要在模型訓練前建立好)。每個高斯模型就代表了乙個類(乙個
cluster
)。對樣本中的資料分別在幾個高斯模型上投影,就會分別得到在各個類上的概率。然後我們可以選取概率最大的類所為判決結果。
從中心極限定理的角度上看,把混合模型假設為高斯的是比較合理的,當然,也可以根據實際資料定義成任何分布的
mixture model,
不過定義為高斯的在計算上有一些方便之處,另外,理論上可以通過增加
model
的個數,用
gmm近似任何概率分布。
混合高斯模型的定義為:
其中k為模型的個數;πk為第k
個高斯的權重;p
(x / k
)則為第
k個高斯概率密度,其均值為μk
,方差為σk
。對此概率密度的估計就是要求出πk
、μk和σk
各個變數。當求出p(x)
的表示式後,求和式的各項的結果就分別代表樣本
x屬於各個類的概率。
在做引數估計的時候,常採用的是最大似然
方法。最大似然法就是使樣本點在估計的概率密度函式上的概率值最大
。由於概率值一般都很小,
n很大的時候, 連乘的結果非常小,容易造成浮點數下溢。所以我們通常取
log,將目標改寫成:
也就是最大化對數似然函式
,完整形式為:
一般用來做引數估計的時候,我們都是通過對待求變數進行求導來求極值,在上式中,
log函式中又有求和,你想用求導的方法算的話方程組將會非常複雜,沒有閉合解。可以採用的求解方法是
em演算法——將求解分為兩步:第一步,假設知道各個高斯模型的引數(可以初始化乙個,或者基於上一步迭代結果),去估計每個高斯模型的權值;第二步,基於估計的權值,回過頭再去確定高斯模型的引數。重複這兩個步驟,直到波動很小,近似達到極值(注意這裡是極值不是最值,
em演算法會陷入區域性最優)。具體表達如下:
1、(e step)
對於第i個樣本xi
來說,它由第k個
model
生成的概率為:
在這一步,假設高斯模型的引數
和是已知的(由上一步迭代而來或由初始值決定)。
3、重複上述兩步驟直到演算法收斂。
最後總結一下,用gmm的優點是投影後樣本點不是得到乙個確定的分類標記,而是得到每個類的概率,這是乙個重要資訊。gmm每一步迭代的計算量比較大,大於k-means。gmm的求解辦法基於em演算法,因此有可能陷入區域性極值,這和初始值的選取十分相關了。gmm不僅可以用在聚類上,也可以用在概率密度估計上。
混合高斯模型聚類
翻譯自matlab幫助。混合高斯模型簡介 混合高斯模型基於多變數正 態分布。類gmdistribution通過使用em演算法來擬合資料,它基於各觀測量計算各成分密度的後驗概率。高斯混合模型常用於聚類,通過選擇成分最大化後驗概率來完成聚類。與k means聚類相似,高斯混合模型也使用迭代演算法計算,最...
高斯混合聚類
高斯混合聚類 將高斯分布 貝葉斯公式 極大似然法 em 估計 的思路混合在這一種方法中。高斯混合聚類是從概率的角度對樣本進行聚類的,而且這個概率是連續概率。先驗概率 指根據以往經驗和分析得到的概率。類條件概率 指已知乙個條件下,結果發生的概率。後驗概率 判斷結果的發生是由哪個原因引起的概率。一元高斯...
用matlab做高斯混合模型 GMM 聚類分析
訓練gmm引數 options statset maxiter 1000 gmm gmdistribution.fit feature,k,covtype diagonal regularize 1e 10,options options k 聚類的總類別數 covtype 設定協方差矩陣的型別 r...