1. 程式人生 > >高斯混合模型(GMM)及其EM演算法的理解

高斯混合模型(GMM)及其EM演算法的理解

一個例子

高斯混合模型(Gaussian Mixed Model)指的是多個高斯分佈函式的線性組合,理論上GMM可以擬合出任意型別的分佈,通常用於解決同一集合下的資料包含多個不同的分佈的情況(或者是同一類分佈但引數不一樣,或者是不同型別的分佈,比如正態分佈和伯努利分佈)。

如圖1,圖中的點在我們看來明顯分成兩個聚類。這兩個聚類中的點分別通過兩個不同的正態分佈隨機生成而來。但是如果沒有GMM,那麼只能用一個的二維高斯分佈來描述圖1中的資料。圖1中的橢圓即為二倍標準差的正態分佈橢圓。這顯然不太合理,畢竟肉眼一看就覺得應該把它們分成兩類。

圖1
圖1

這時候就可以使用GMM了!如圖2,資料在平面上的空間分佈和圖1一樣,這時使用兩個二維高斯分佈來描述圖2中的資料,分別記為

(μ1,Σ1)(μ2,Σ2). 圖中的兩個橢圓分別是這兩個高斯分佈的二倍標準差橢圓。可以看到使用兩個二維高斯分佈來描述圖中的資料顯然更合理。實際上圖中的兩個聚類的中的點是通過兩個不同的正態分佈隨機生成而來。如果將兩個二維高斯分佈(μ1,Σ1)(μ2,Σ2)合成一個二維的分佈,那麼就可以用合成後的分佈來描述圖2中的所有點。最直觀的方法就是對這兩個二維高斯分佈做線性組合,用線性組合後的分佈來描述整個集合中的資料。這就是高斯混合模型(GMM)。

圖2
圖2

高斯混合模型(GMM)

設有隨機變數X,則混合高斯模型可以用下式表示:

p(x)=k=1Kπk(x|μk,Σk)

其中

(x|μk,Σk)稱為混合模型中的第k分量(component)。如前面圖2中的例子,有兩個聚類,可以用兩個二維高斯分佈來表示,那麼分量數K=2. πk混合係數(mixture coefficient),且滿足:

k=1Kπk=1
0πk1

可以看到πk相當於每個分量(x|μk,Σk)的權重。

GMM的應用

GMM常用於聚類。如果要從 GMM 的分佈中隨機地取一個點的話,實際上可以分為兩步:首先隨機地在這 K 個 Component 之中選一個,每個 Component 被選中的概率實際上就是它的係數πk ,選中 Component 之後,再單獨地考慮從這個 Component 的分佈中選取一個點就可以了──這裡已經回到了普通的 Gaussian 分佈,轉化為已知的問題。

將GMM用於聚類時,假設資料服從混合高斯分佈(Mixture Gaussian Distribution),那麼只要根據資料推出 GMM 的概率分佈來就可以了;然後 GMM 的 K 個 Component 實際上對應K個 cluster 。根據資料來推算概率密度通常被稱作 density estimation 。特別地,當我已知(或假定)概率密度函式的形式,而要估計其中的引數的過程被稱作『引數估計』。

例如圖2的例子,很明顯有兩個聚類,可以定義K=2. 那麼對應的GMM形式如下:

p(x)=π1(x|μ1,Σ1)+π2(x|μ2,Σ2)

上式中未知的引數有六個:(π1,μ1,Σ1;π2,μ2,Σ2). 之前提到GMM聚類時分為兩步,第一步是隨機地在這K個分量中選一個,每個分量被選中的概率即為混合係數πk. 可以設定π1=π2=0.5,表示每個分量被選中的概率是0.5,即從中抽出一個點,這個點屬於第一類的概率和第二類的概率各佔一半。但實際應用中事先指定πk的值是很笨的做法,當問題一般化後,會出現一個問題:當從圖2中的集合隨機選取一個點,怎麼知道這個點是來自N(x|μ1,Σ1)還是N(x|μ2,Σ2)呢?換言之怎麼根據資料自動確定π1π2的值?這就是GMM引數估計的問題。要解決這個問題,可以使用EM演算法。通過EM演算法,我們可以迭代計算出GMM中的引數:(πk,xk,Σk).

GMM引數估計過程

GMM的貝葉斯理解

在介紹GMM引數估計之前,我們先改寫GMM的形式,改寫之後的GMM模型可以方便地使用EM估計引數。GMM的原始形式如下:

p(x)=k=1Kπk(x|μk,Σk)(1)

前面提到πk可以看成是第k類被選中的概率。我們引入一個新的K維隨機變數z.

相關推薦

混合模型GMM及其EM演算法理解

一個例子 高斯混合模型(Gaussian Mixed Model)指的是多個高斯分佈函式的線性組合,理論上GMM可以擬合出任意型別的分佈,通常用於解決同一集合下的資料包含多個不同的分佈的情況(或者是同一類分佈但引數不一樣,或者是不同型別的分佈,比如正態分佈和伯

混合模型GMMEM演算法實現

在 聚類演算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我們給出了GMM演算法的基本模型與似然函式,在EM演算法原理中對EM演算法的實現與收斂性證明進行了詳細說明。本文主要針對如何用EM演算法在混合高

混合模型GMM及其求解期望最大化EM演算法

1、高斯混合模型的公式表達 高斯混合模型是指隨機變數x具有如下形式的分佈(概率密度函式): (公式1) 其中,引數θθ代表所有混合成分的引數(均值向量μ與協方差矩陣Σ)的集合: (公式2) 每個混合成分的概率密度函式為:

混合模型GMM介紹以及學習筆記

1.高斯混合模型概述 高斯密度函式估計是一種引數化模型。高斯混合模型(Gaussian Mixture Model, GMM)是單一高斯概率密度函式的延伸,GMM能夠平滑地近似任意形狀的密度分佈。高斯混合模型種類有單高斯模型(Single Gaussian Model, S

[R][原始碼]EM演算法實現基於混合模型GMM的聚類

要求:用EM演算法實現基於GMM的聚類演算法。一、實驗資料參考[1] 3.3.2章節。由兩個二維高斯分佈混合生成1000個數據,混合係數分別是0.4、0.6,均值和方差如下:mu1=[-2,-2]sigma1=[1.2, 0.5, 0.5, 1]mean2=[2,2]sigm

混合模型GMM model以及梯度下降法gradient descent更新引數

關於GMM模型的資料和 EM 引數估算的資料,網上已經有很多了,今天想談的是GMM的協方差矩陣的分析、GMM的引數更新方法 1、GMM協方差矩陣的物理含義 涉及到每個元素,是這樣求算: 用中文來描述就是: 注意後面的那個除以(樣本數-1),就是大括號外面的E求期望 (這叫

EM演算法混合模型

單個高斯模型 如果我們有一堆資料,其分佈屬於一個高斯模型,那麼有 p(X)=N(x|μ,Σ)=1(2π)m|Σ|‾‾‾‾‾‾‾‾√exp[−12(x−μ)TΣ−1(x−μ)](1.1) p(X) = N(x|\mu,\Sigma) = \

混合模型視訊背景建模的EM演算法與Matlab 實現

1.問題描述 影像的背景前景分離. 輸⼊為影像監控的1000 幀 (如下⽅圖中左邊所⽰), 要求輸出是背景和前景 (如下⽅圖中右邊所⽰). 2.背景知識 觀察待處理的監控影像,可以發現,前景主要是來來往往的行人,背景始終是攝像頭對準的固定區域,

混合模型Gaussian Mixture Model,GMM

先從簡單的離散型隨機變數看起 離散型隨機變數P{X=ak}=pk,k=1,2,3,...,n 其中:∑i=1npi=1 那麼它的期望值是:E(X)=∑kakpk 以上都是中學數學知識,那麼到了高等數學的概率論與數理統計這門課才開始討論連續隨機變數的情況。

聚類之混合模型Gaussian Mixture Model

k-means應該是原來級別的聚類方法了,這整理下一個使用後驗概率準確評測其精度的方法—高斯混合模型。 我們談到了用 k-means 進行聚類的方法,這次我們來說一下另一個很流行的演算法:Gaussian Mixture Model (GMM)。事實上,GMM

聚類之混合模型Gaussian Mixture Model【轉】

k-means應該是原來級別的聚類方法了,這整理下一個使用後驗概率準確評測其精度的方法—高斯混合模型。 我們談到了用 k-means 進行聚類的方法,這次我們來說一下另一個很流行的演算法:Gaussian Mixture Model (GMM)。事實上,GMM 和 k-means 很像,不過 GMM 是學習

機器學習筆記EM演算法及實踐混合模型GMM為例來次完整的EM

今天要來討論的是EM演算法。第一眼看到EM我就想到了我大楓哥,EM Master,千里馬,RUA!!!不知道看這個部落格的人有沒有懂這個梗的。好的,言歸正傳,今天要講的EM演算法,全稱是Expectation maximization,期望最大化。怎麼個意思呢,就是給你一

網格缺陷檢測混合模型GMM

*此示例程式向您展示如何使用GMM分類器進行新穎性檢測以執行Web檢查任務。 要進行新奇檢測, *計算屬於單個訓練類的所有畫素,然後進行計算從分類ROI中減去以提取錯誤畫素。 對於網路檢查任務,GMM因此可用於檢測紋理與訓練好的物體的紋理不對應。       &nb

機器學習讀書筆記混合模型GMMEM

高斯混合模型(Gaussian mixture model,GMM)是單一高斯概率密度函式的延伸。GMM能夠平滑地近似任意形狀的密度分佈。 欲瞭解高斯混合模型,那就先從基礎的單一高斯概率密度函式講起。(數學公式字型太難看了!!!!!!!) 注意:這一一篇致力於詳

Spark2.0機器學習系列之10: 聚類(混合模型 GMM

       在Spark2.0版本中(不是基於RDD API的MLlib),共有四種聚類方法:      (1)K-means      (2)Latent Dirichlet allocation (LDA)      (3)Bisecting k-m

【機器學習】機器學習十二、十三:K-means演算法混合模型

簡介:         本節介紹STANFORD機器學習公開課中的第12、13集視訊中的演算法:K-means演算法、高斯混合模型(GMM)。(9、10、11集不進行介紹,略過了哈) 一、K-means演算法         屬於無監督學習的聚類演算法,給定一組未標定的資料

EM演算法混合模型中的應用詳細解釋與求解

1、高斯混合模型GMM 是指具有以下概率分佈的模型: P ( y

混合模型的重疊度計算 Overlap Rate, OLR

簡介 關於高斯混合模型(GMM)的相關概念可以參考另一篇博文:高斯混合模型及其EM演算法的理解 使用GMM聚類或分析兩個高斯混合分佈的資料時,我們有時會希望兩個高斯分佈離得越遠越好,這樣表示資料才有可分性。但很多情況下兩個高斯分佈會有重疊。一維和二維的重

EM演算法GMM(混合模型的詳解

一、預備知識 1.1、協方差矩陣 在高維計算協方差的時候,分母是n-1,而不是n。協方差矩陣的大小與維度相同。 1.2、黑塞矩陣 1.3、正定矩陣 二、高斯混合模型 點模式的分析中,一般會考察如下五種內容

混合模型(GMM Gaussian Mixture Model)

高斯混合模型是一種業界廣泛使用的聚類演算法,該方法使用了高斯分佈作為引數模型,並使用了期望最大演算法(EM)進行訓練。 什麼是高斯分佈 高斯分佈有時也被稱作正態分佈,是一個在數學、物理及工程等領域都非常重要的概率分佈,在統計學的許多方面都有著重大的影響。 若隨機變數X服從一個數學