高斯混合模型

2021-06-17 19:27:21 字數 2511 閱讀 9785

高斯混合模型

本文就高斯混合模型(gmm,gaussian mixture model)引數如何確立這個問題,詳細講解期望最大化(em,expectation maximization)演算法的實施過程。

多維變數x服從高斯分布時,它的概率密度函式pdf為:

x是維度為d的列向量,u是模型期望,σ是模型方差。在實際應用中u通常用樣本均值來代替,σ通常用樣本方差來代替。很容易判斷乙個樣x本是否屬於類別c。因為每個類別都有自己的u和σ,把x代入(1)式,當概率大於一定閾值時我們就認為x屬於c類。

從幾何上講,單高斯分布模型在二維空間應該近似於橢圓,在三維空間上近似於橢球。遺憾的是在很多分類問題中,屬於同一類別的樣本點並不滿足「橢圓」分布的特性。這就引入了高斯混合模型。

gmm認為資料是從幾個gsm中生成出來的,即

k需要事先確定好,就像k-means中的k一樣。πk是權值因子。其中的任意乙個高斯分布n(x;uk,σk)叫作這個模型的乙個component。這裡有個問題,為什麼我們要假設資料是由若干個高斯分布組合而成的,而不假設是其他分布呢?實際上不管是什麼分布,只k取得足夠大,這個xx mixture model就會變得足夠複雜,就可以用來逼近任意連續的概率密度分布。只是因為高斯函式具有良好的計算效能,所gmm被廣泛地應用。

gmm是一種聚類演算法,每個component就是乙個聚類中心。即在只有樣本點,不知道樣本分類(含有隱含變數)的情況下,計算出模型引數(π,u和σ)----這顯然可以用em演算法來求解。再用訓練好的模型去差別樣本所屬的分類,方法是:step1隨機選擇k個component中的乙個(被選中的概率是πk);step2把樣本代入剛選好的component,判斷是否屬於這個類別,如果不屬於則回到step1。

當每個樣本所屬分類已知時,gmm的引數非常好確定,直接利用maximum likelihood。設樣本容量為n,屬於k個分類的樣本數量分別是n1,n2,...,nk,屬於第k個分類的樣本集合是l(k)。

有n個資料點,服從某種分布pr(x;θ),我們想找到一組引數θ,使得生成這些資料點的概率最大,這個概率就是

稱為似然函式(lilelihood function)。通常單個點的概率很小,連乘之後資料會更小,容易造成浮點數下溢,所以一般取其對數,變成

稱為log-likelihood function。

gmm的log-likelihood function就是:

這裡每個樣本xi所屬的類別zk是不知道的。z是隱含變數。

我們就是要找到最佳的模型引數,使得(6)式所示的期望最大,「期望最大化演算法」名字由此而來。

em要求解的問題一般形式是

y是隱含變數。

我們已經知道如果資料點的分類標籤y是已知的,那麼求解模型引數直接利用maximum likelihood就可以了。em演算法的基本思路是:隨機初始化一組引數θ(0),根據後驗概率pr(y|x;θ)來更新y的期望e(y),然後用e(y)代替y求出新的模型引數θ(1)。如此迭代直到θ趨於穩定。

e-step e就是expectation的意思,就是假設模型引數已知的情況下求隱含變數z分別取z1,z2,...的期望,亦即z分別取z1,z2,...的概率。在gmm中就是求資料點由各個 component生成的概率。

注意到我們在z的後驗概率前面乘以了乙個權值因子αk,它表示在訓練集中資料點屬於類別zk的頻率,在gmm中它就是πk。

m-step m就是maximization的意思,就是用最大似然的方法求出模型引數。現在我們認為上一步求出的r(i,k)就是「資料點xi由component k生成的概率」。根據公式(3),(4),(5)可以推出:

相同點:都是可用於聚類的演算法;都需要指定k值。

不同點:gmm可以給出乙個樣本屬於某類的概率是多少。

實現:

高斯混合模型

本文就高斯混合模型 gmm,gaussian mixture model 引數如何確立這個問題,詳細講解期望最大化 em,expectation maximization 演算法的實施過程。多維變數x服從高斯分布時,它的概率密度函式pdf為 x是維度為d的列向量,u是模型期望,是模型方差。在實際應用...

高斯混合模型

本文就高斯混合模型 gmm,gaussian mixture model 引數如何確立這個問題,詳細講解期望最大化 em,expectation maximization 演算法的實施過程。多維變數x服從高斯分布時,它的概率密度函式pdf為 x是維度為d的列向量,u是模型期望,是模型方差。在實際應用...

混合高斯模型

多維高斯分布的概率密度函式如下式所示 對於單高斯模型,由於可以明確訓練樣本是否屬於該高斯模型,因此 通常由訓練樣本均值代替,通常由樣本方差代替。單高斯模型可用於進行二分類問題,例如,對於任意輸入 x n x 表示該樣本為正樣本 負樣本 的概率。然後根據提前設定的閾值來進行分類。在幾何圖形上,單高斯分...