天天看點

個人總結:聚類 EM算法與高斯混合模型

前言

高斯分布,即正态分布,是一個很常見的分布,通常身高、分數等大緻符合高斯分布。當研究各類資料時,假設同一類的資料符合高斯分布,也是簡單自然的假設。是以在聚類時,我們希望将資料劃分為一些簇時,可以假設不同簇中的樣本各自服從不同的高斯分布,由此得到的聚類算法稱為高斯混合模型。

高斯混合模型

假設資料可以看作多個高斯分布中生成出來的,每個分模型有自己的期望(均值)

個人總結:聚類 EM算法與高斯混合模型

和方差

個人總結:聚類 EM算法與高斯混合模型

,同時有一個權重

個人總結:聚類 EM算法與高斯混合模型

,于是機率密度寫成

個人總結:聚類 EM算法與高斯混合模型

舉個例子,假設有兩個分模型,用他們來生成資料,分模型的分布為

個人總結:聚類 EM算法與高斯混合模型

個人總結:聚類 EM算法與高斯混合模型

,權重分别為0.7和0.3。在生成一個資料點時,按照權重的比例,随機選擇一個模型分布,比如選擇第一個高斯分布,從

個人總結:聚類 EM算法與高斯混合模型

産生一個點-0.5,接着生成第二個資料點,随機選擇到第二個高斯分布

個人總結:聚類 EM算法與高斯混合模型

,生成第二個點4.7,繼續循環,最後生成所有點。

而我們應用在聚類上,希望觀測了一系列點後,給出一個類别的數量K,能夠得到最佳的K個高斯分模型。這個問題通常通過最大似然估計來求解,遺憾的是,若直接使用最大似然估計,得到的是一個複雜的非凸函數。

在這種情況下,通過EM算法來求解該優化問題。

EM算法

expectation-maximum。

EM算法的提出背景:我們常用最大似然估計來找出樣本的最佳參數,但是有時得到的觀測資料有未觀測到的隐含變量,,因而無法直接計算。

一般來說,假設有m個觀察樣本,模型參數為θ,最大似然可以寫成如下形式

個人總結:聚類 EM算法與高斯混合模型

當含有未被觀察到的隐含變量

個人總結:聚類 EM算法與高斯混合模型

時,參數的極大似然估計變為

個人總結:聚類 EM算法與高斯混合模型

假設

個人總結:聚類 EM算法與高斯混合模型

對應的分布為

個人總結:聚類 EM算法與高斯混合模型

,是以它滿足

個人總結:聚類 EM算法與高斯混合模型

,并對上式做一個變換

個人總結:聚類 EM算法與高斯混合模型

引入Jensen不等式

個人總結:聚類 EM算法與高斯混合模型

得到

個人總結:聚類 EM算法與高斯混合模型

要滿足Jensen不等式的等号成立,則有

個人總結:聚類 EM算法與高斯混合模型

,c為常數。我們已經知道

個人總結:聚類 EM算法與高斯混合模型

,則認為

個人總結:聚類 EM算法與高斯混合模型

,因為之前那個式子代表每個樣例比例都是c。則可推出

個人總結:聚類 EM算法與高斯混合模型

于是就可以将

個人總結:聚類 EM算法與高斯混合模型

代入剛剛的不等式右側,這就得到了損失函數的下界。

現在損失函數變成了L(θ)>=J(z,Q),我們通過優化這個下界,來使L(θ)不斷提高,最終達到它的最大值。

個人總結:聚類 EM算法與高斯混合模型

這有點像坐标下降法,每次固定一個參數,優化另一個參數。(E步:固定θ,優化Q;M步:固定Q,優化θ)。

但是EM算法隻保證收斂到局部最優解,當函數為非凸時,如果初始化在左邊的區域,則無法找到右側的高點

個人總結:聚類 EM算法與高斯混合模型

是以EM算法的架構總結如下,由兩個步驟進行交替直到收斂:

(1)E步驟:固定θ,對于每一個i,計算隐變量Z的條件機率分布的期望

個人總結:聚類 EM算法與高斯混合模型

(2)M步驟:固定Q,最大化

個人總結:聚類 EM算法與高斯混合模型

感性地說,因為下界不斷提到,是以極大似然估計單調增加,那麼最終會達到最大值。

接着高斯混合模型

我們并不知道最佳的K個高斯分布的各自3個參數(期望(均值)

個人總結:聚類 EM算法與高斯混合模型

和方差

個人總結:聚類 EM算法與高斯混合模型

,同時有一個權重

個人總結:聚類 EM算法與高斯混合模型

)。也就是說,每次循環時,先固定目前的高斯分布不變,獲得每個資料點由各個高斯分布生成的機率。然後固定該生成機率不變,根據資料點和生成機率,獲得一個組更佳的高斯分布。循環往複直到參數不再變化,或者變化很小時,便得到了比較合理的一組高斯分布。

高斯混合模型與K-means

相同點:它們都可以用于聚類;都需要指定K值;都是使用EM算法來求解;都往往收斂于局部最優。

K-means的優勢:可以給出一個樣本屬于某類的機率是多少;除了聚類,還可用于機率密度的估計。

繼續閱讀