高斯混合模型(GMM)

2021-08-09 13:37:49 字數 2676 閱讀 4000

講這個之前,要先對模糊聚類和基於概率模型的聚類有個大體的認識。不清楚的同學可以參考下jiawei的書去看一看,或者看看我的這篇文章。

資料探勘:概念與技術(第三版)之第十一章的學習記錄

ok,這裡假設,大家已經有了上面我提到的先驗知識。

gmm 和 k-means 很像。不過 gmm 是學習出一些概率密度函式來(所以 gmm 除了用在 clustering 上之外,還經常被用於 density estimation ),簡單地說,k-means 的結果是每個資料點被 assign 到其中某乙個 cluster 了,而 gmm 則給出這些資料點被 assign 到每個 cluster 的概率,又稱作軟聚類 。

我們知道,在機器學習中,乙個學習演算法一定會有乙個偏執假設,而且這個偏執假設還要合理。(不清楚的可以回翻一下西瓜書)。

那麼在gmm中,它的乙個合理的偏執假設就是:就是假設資料服從混合高斯分布。換句話說,資料可以看作是從k個高斯分布中生成出來的。

那麼這裡就會有乙個問題,我們為什麼要假設資料集是服從高斯分布呢?為什麼不是服從其他分布呢?

實際上,確實是可以的。因為不管是什麼分布,只要k取得足夠大,這個xx 混合模型就會變得足夠複雜,就能逼近任意連續的概率密度分布。

而我們之所以選擇高斯分布,純粹是因為它在計算上有一些很好的性質。

我們先來看一下,單高斯分布模型gsm

在這個模型中,x是維度為d的列向量,u是模型期望,σ是模型方差。

在實際應用中u通常用樣本均值來代替,σ通常用樣本方差來代替。這樣的話,我們就很容易判斷乙個樣本x是否屬於類別c。因為每個類別都有自己的u和σ,因此,我們只需要把x代入上式,當概率密度p(x)大於一定閾值時,我們就認為x屬於c類。

而每個 gmm 由 k 個單高斯分布模型分布(gaussian)組成的,我們把每個 gaussian 稱為乙個「component」,這些 component線性加成在一起就組成了 gmm 的概率密度函式:

根據上面的式子,如果我們要從 gmm 的分布中隨機地取乙個點的話,實際上可以分為兩步:首先隨機地在這 k 個 component 之中選乙個,每個 component 被選中的概率實際上就是它的係數 α,選中了 component 之後,再單獨地考慮從這個 component 的分布中選取乙個點就可以了(考慮被選中的component的概率密度函式)。而到了這裡已經回到了普通的 gaussian 分布,轉化為了已知的問題。

那麼如何用 gmm 來做聚類呢?

其實很簡單,現在我們有了資料,假定它們是由 gmm 生成出來的,那麼我們只要根據資料推出 gmm 的概率分布來就可以。(有看過我上面文章的同學,應該對這句話很熟悉),然後 gmm 的 k 個 component 實際上就對應了 k 個 cluster 了(根據資料來推算概率密度通常被稱作 density estimation )。

特別地,當我們在已知(或假定)了概率密度函式的形式,而要估計其中的引數的過程被稱作「引數估計」(已知模型,要求有最大可能生成這個模型的引數,這很顯然用到了極大似然估計法)

現在假設我們有 n 個資料點,並假設它們服從某個分布(記作 p(x) ),現在要確定裡面的一些引數的值,例如,在 gmm 中,我們就需要確定 αi

、μi 和 σi

這些引數。 我們的想法是,找到這樣一組引數,它所確定的概率分布生成這些給定的資料點的概率最大,而這個概率實際上就等於 ∏k

i=1p

(xi)

,我們把這個乘積稱作似然函式(likelihood function)。通常單個點的概率都很小,許多很小的數字相乘起來在計算機裡很容易造成浮點數下溢,因此我們通常會對其取對數,把乘積變成加和 ∑k

i=1ln

p(xi

) ,得到 log-likelihood function 。接下來我們只要將這個函式最大化(通常的做法是求導並令導數等於零,然後解方程),亦即找到這樣一組引數值,它讓似然函式取得最大值,我們就認為這是最合適的引數,這樣就完成了引數估計的過程。

那麼,經過上面的操作後,對數似然函式為:

由於在對數函式裡面又有累加,所以我們沒法直接用求導解方程的辦法直接求得最大值。為了解決這個問題,我們採取之前從 gmm 中隨機選點的辦法:分成兩步,實際上也就類似於 k-means 的兩步。

1、估計資料由每個 component 生成的概率(並不是每個 component 被選中的概率);(e步

2、估計每個 component 的引數;(m步

3、迭代。

ok,至此,gmm已經講解完畢。

當然,在這裡旨在理清思路,省略了很多公式。而這些公式在周志華老師的書上全部都有,因此這裡也不在重複贅述了。

參考文章

機器學習-周志華

聚類演算法之高斯混合模型

em及高斯混合模型

GMM高斯混合模型

在一般的分類問題中,通常的套路都是提取特徵,將特徵輸入分類器訓練,得到最終的模型。但是在具體操作時,一開始提出的特徵和輸入分類器訓練的特徵是不一樣的。比如假設有n張 100 100 100 100 的影象,分別提取它們的hog特徵x rp q x rp q,p p為特徵的維數,q q 為這幅影象中h...

高斯混合模型 GMM

本文主要針對初次接觸gmm的人,簡單的給出了一些自己初識的一些理解,比較淺顯。初次真正意義上接觸高斯混合模型 gaussian mixed model,gmm 是因為要用它來進行音訊分類,以音訊訊號特徵為輸入,通過gmm來建模,完成最終的分類。有乙個說法是gmm是多個高斯分布函式的線性組合。理論上g...

高斯混合模型 GMM

本文主要針對初次接觸gmm的人,簡單的給出了一些自己初識的一些理解,比較淺顯。初次真正意義上接觸高斯混合模型 gaussian mixed model,gmm 是因為要用它來進行音訊分類,以音訊訊號特徵為輸入,通過gmm來建模,完成最終的分類。有乙個說法是gmm是多個高斯分布函式的線性組合。理論上g...