单高斯分布模型GSM,高斯混合模型GMM
本文就高斯混合模型(GMM,Gaussian Mixture Model)參數如何確立這個問題,詳細講解期望最大化(EM,Expectation Maximization)算法的實施過程。
單高斯分布模型GSM
多維變量X服從高斯分布時,它的概率密度函數PDF為:
x是維度為d的列向量,u是模型期望,Σ是模型方差。在實際應用中u通常用樣本均值來代替,Σ通常用樣本方差來代替。很容易判斷一個樣x本是否屬于類別C。因為每個類別都有自己的u和Σ,把x代入(1)式,當概率大于一定閾值時我們就認為x屬于C類。
從幾何上講,單高斯分布模型在二維空間應該近似于橢圓,在三維空間上近似于橢球。遺憾的是在很多分類問題中,屬于同一類別的樣本點并不滿足“橢圓”分布的特性。這就引入了高斯混合模型。
單高斯模型?http://www.baike.com/wiki/%E5%8D%95%E9%AB%98%E6%96%AF%E6%A8%A1%E5%9E%8B高斯混合模型GMM
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
當每個樣本所屬分類已知時,GMM的參數非常好確定,直接利用Maximum Likelihood。設樣本容量為N,屬于K個分類的樣本數量分別是N1,N2,...,Nk,屬于第k個分類的樣本集合是L(k)。
?
樣本分類未知情況下的GMM
有N個數據點,服從某種分布Pr(x;θ),我們想找到一組參數θ,使得生成這些數據點的概率最大,這個概率就是
稱為似然函數(Lilelihood Function)。通常單個點的概率很小,連乘之后數據會更小,容易造成浮點數下溢,所以一般取其對數,變成
稱為log-likelihood function(對數似然函數)。
GMM的log-likelihood function就是:
這里每個樣本xi所屬的類別zk是不知道的。Z是隱含變量。
我們就是要找到最佳的模型參數,使得(6)式所示的期望最大,“期望最大化算法”名字由此而來。
EM法求解
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-means比較
相同點:都是可用于聚類的算法;都需要指定K值。
不同點:GMM可以給出一個樣本屬于某類的概率是多少。
總結
以上是生活随笔為你收集整理的单高斯分布模型GSM,高斯混合模型GMM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的相似性度量(距离总结)
- 下一篇: 随机采样方法整理与讲解(MCMC、Gib