【無監督學習】高斯混合模型


高斯混合模型

本博客根據 百面機器學習,算法工程師帶你去面試 一書總結歸納,公式圖片均出自該書.
本博客僅為個人總結學習,非商業用途,侵刪.
網址 http://www.ptpress.com.cn

高斯混合模型(Gaussian Mixed Model, GMM) 是一種常見的聚類算法,與K均值算法類似,同樣使用了EM算法進行迭代計算。 高斯混合模型假設每個簇的數據都是符合高斯分布(又叫正態分布) 的, 當前數據呈現的分布就是各個簇的高斯分布疊加在一起的結果。

下面是一個高斯混合分布得例子,如果只用一個高斯分布來擬合圖中的數據,則如下圖:

由於圖中的數據明顯分為兩簇,因此只用一個高斯分布來擬合是不合理的,需要推廣到多個,如下圖就是用兩個高斯分布來擬合:

這就引出了高斯混合模型, 即用多個高斯分布函數的線形組合來對數據分布進行擬合。 理論上, 高斯混合模型可以擬合出任意類型的分布。
高斯混合模型的核心思想是, 假設數據事實上有多個類,可以看作其是從多個高斯分布中生成出來的。 在該假設下,每個單獨的分模型都是標准高斯模型,其均值\(μ_i\)和方差\(Σ_i\)是待估計的參數。 此外,每個分模型都還有一個參數\(π_i\),可以理解為權重或生成數據的概率。

所以高斯混合模型的公式是:

其中,K是分布的個數。即表示為K個分布得加權和。
通常我們並不能直接得到高斯混合模型的參數, 而是觀察到了一系列數據點, 給出一個類別的數量K后, 希望求得最佳的K個高斯分模型。 因此,高斯混合模型的計算,便成了最佳的均值μ,方差Σ、權重π的尋找。

此時可以使用EM算法框架來求解該最優化的問題。EM算法在最大化目標函數時, 先固定一個變量使整體函數變為凸優化函數, 求導得到最值, 然后利用最優參數更新被固定的變量, 進入下一個循環。

在高斯混合模型中,EM算法的迭代過程如下:

  • 1) E步驟。 根據當前的參數, 計算每個點由某個分模型生成的概率

  • 2) M步驟。 使用E步驟估計出的概率, 來改進每個分模型的均值, 方差和權重。

我們並不知道最佳的K個高斯分布的各自3個參數,也不知道每個數據點究竟是哪個高斯分布生成的。 所以每次循環時,先固定當前的高斯分布不變,獲得每個數據點由各個高斯分布生成的概率。然后固定該生成概率不變,根據數據點和生成概率,獲得一個組更佳的高斯分布。循環往復,直到參數的不再變化,或者變化非常小時,便得到了比較合理的一組高斯分布。

高斯混合模型與K均值算法相似,高斯混合模型也可以用於聚類算法,也需要指定K值;要使用EM算法來求解,並且往往都只能收斂到局部最優。
它的優點是,可以給出一個樣本屬於某個類的概率是多少;不僅可以用於聚類,還可以用於概率密度估計,並且可以用於生產新的樣本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM