高斯-赛得尔迭代式 c++_高斯混合模型(Gaussian Mixture Model)与EM算法原理(一)
高斯混合模型(Gaussian Mixture Model)是機(jī)器學(xué)習(xí)中一種常用的聚類(lèi)算法,本文介紹了其原理,并推導(dǎo)了其參數(shù)估計(jì)的過(guò)程。主要參考Christopher M. Bishop的《Pattern Recognition and Machine Learning》。
以粗體小寫(xiě)字母表示向量,粗體大寫(xiě)字母表示矩陣;標(biāo)量不加粗,大寫(xiě)表示常數(shù)。
1. 高斯分布
高斯分布(Gaussian distribution),也稱(chēng)為正態(tài)分布(normal distribution),是一種常用的連續(xù)變量分布的模型。若單個(gè)隨機(jī)變量
服從均值為 ,方差為 的高斯分布,記為 ,則其概率密度函數(shù)為:對(duì)于一個(gè)
維的向量 ,若其各元素服從均值為向量 ,協(xié)方差矩陣為 的多元高斯分布,記為 ,則概率密度為:其中
為 維均值向量, 為 的協(xié)方差矩陣, 表示 的行列式。(1)式中,指數(shù)部分的二次型
稱(chēng)為 到 的馬哈拉諾比斯距離(馬氏距離,Mahalanobis distance);當(dāng) 為單位矩陣時(shí)退化為歐幾里得距離(Euclidean distance)。多元高斯分布密度函數(shù)的等高線即 為常數(shù)時(shí) 的方程,是橢球方程(Ellipsoid - Wikipedia)。2. 高斯混合模型(Gaussian Mixture Model)
多個(gè)高斯分布的線性疊加能擬合非常復(fù)雜的密度函數(shù);通過(guò)足夠多的高斯分布疊加,并調(diào)節(jié)它們的均值,協(xié)方差矩陣,以及線性組合的系數(shù),可以精確地逼近任意連續(xù)密度([1], Section 2.3.9, p111)。
我們考慮
個(gè)高斯分布的線性疊加,這個(gè)高斯混合分布(Gaussian mixture distiburion)的概率密度函數(shù)為:其中,
表示參數(shù)為 的高斯分布的概率密度。我們稱(chēng)(2)式為一個(gè)高斯混合(Mixture of Gaussians, Gaussian Mixture)。其中每個(gè)高斯密度函數(shù)稱(chēng)為混合的一個(gè)分模型(component),有自己的均值
和協(xié)方差矩陣 。(2)式中的參數(shù)
是模型的混合系數(shù)(mixing coefficients)。將(2)式左右兩側(cè)對(duì) 積分,得到此外,由于
, ,所以 。即混合系數(shù)應(yīng)滿(mǎn)足 。(更一般地,混合模型也可以是其他任意分布的疊加。)
由全概率公式,
的邊緣分布(marginal distribution)的概率密度為:上式與(2)式等價(jià),其中
可以看作選擇第 個(gè)分模型的先驗(yàn)概率(prior probability), 是 對(duì) 的條件概率密度。在觀測(cè)到
后,其來(lái)自第 個(gè)分模型的后驗(yàn)概率(posterior probability) 稱(chēng)為第 個(gè)分模型的響應(yīng)度(responsibility)。下圖所示為包含兩個(gè)一維分模型的高斯混合:
兩個(gè)一維分模型的高斯混合3. 隱變量 & 完全數(shù)據(jù)
引入一個(gè)
維的二值型隨機(jī)變量 ,來(lái)表示樣本 由哪一分模型產(chǎn)生。 滿(mǎn)足這樣的條件: ,且 ,即其 個(gè)元素中,有且只有一個(gè)為1,其余為0。 表示樣本 由分模型 抽樣得到。可以看出, 一共有 種可能的狀態(tài)。 的邊緣分布由混合系數(shù)給出: 。也可寫(xiě)成如下形式:考慮由以下方式產(chǎn)生樣本
:記高斯混合模型的參數(shù)為
, , ,則這個(gè)過(guò)程可由如下的graphical model表示[1]:高斯混合模型的graphical model變量
稱(chēng)為隱變量(latent variable),包含 取值的樣本稱(chēng)為完全數(shù)據(jù)(complete data),只含有 取值的樣本稱(chēng)為不完全數(shù)據(jù)(incomplete data),給定
后 的條件概率密度為:或者寫(xiě)成如下形式:
的邊緣分布為聯(lián)合概率分布 對(duì) 的所有可能狀態(tài)求和:也可由下面的式子得到:
這表明
的邊緣分布就是高斯混合的形式。4. 后驗(yàn)概率 & 響應(yīng)度
根據(jù)貝葉斯定理(Bayes' theorem - Wikipedia),觀測(cè)到
后,其來(lái)自第 個(gè)分模型的后驗(yàn)概率(posterior responsibility)為:上式中,
和 為概率, 和 為概率密度。將上式定義為:
,稱(chēng)為第 個(gè)分模型對(duì) 的響應(yīng)度(responsibility)[2]。對(duì)于樣本集
,記 對(duì)應(yīng)的隱變量為 , ,則第 個(gè)分模型對(duì) 的響應(yīng)度為:5. 對(duì)數(shù)似然函數(shù) & 最大似然估計(jì)
現(xiàn)在有一個(gè)樣本集
,我們假設(shè) 是由一個(gè)高斯混合模型產(chǎn)生的,要估計(jì)這個(gè)模型的參數(shù): , , 。樣本集
(不完全數(shù)據(jù))的似然函數(shù)(likelihood function)為:似然函數(shù)中的連乘求導(dǎo)比較麻煩,取自然對(duì)數(shù)將其轉(zhuǎn)換成對(duì)數(shù)的和,得到對(duì)數(shù)似然函數(shù)(the log of the likelihood function):
其中,
最大似然估計(jì)(maximum likelihood estimation),即通過(guò)求似然函數(shù)的最大值來(lái)估計(jì)概率模型的參數(shù)。用最大似然估計(jì)來(lái)計(jì)算高斯混合模型的參數(shù),形成如下的優(yōu)化問(wèn)題:
采用拉格朗日乘子法來(lái)求極值,拉格朗日函數(shù)為:
先將
對(duì) 求梯度。因?yàn)?p>所以,
注意上式中
即為響應(yīng)度 ,所以有:令
,則 ,左乘
,整理得定義
,則 可理解為被分配到第 個(gè)分模型(聚類(lèi))的“有效“的樣本數(shù)。對(duì)
中各元素求偏導(dǎo):接下來(lái)涉及矩陣求導(dǎo)(Matrix calculus - Wikipedia),要復(fù)雜一些,這里不做推導(dǎo),按參考文獻(xiàn)[1]Chapter 9的公式(9.19),給出
的結(jié)果:對(duì)
求偏導(dǎo)并令其為0:注意到上式左右兩邊乘以
可湊出 ,所以有上式對(duì)
求和得又
所以
,進(jìn)而 。綜上,對(duì)數(shù)似然函數(shù)
的極值點(diǎn)滿(mǎn)足的條件為:需要注意的是,上式并未給出高斯混合模型的解析解/閉式解(analytical soluiton/closed-form solution),因?yàn)轫憫?yīng)度
由式(4)給出,而參數(shù) 未知,故 無(wú)法計(jì)算。不過(guò),根據(jù)(6)式可使用迭代算法來(lái)計(jì)算模型參數(shù)。
6. EM算法計(jì)算高斯混合模型的參數(shù)見(jiàn)后續(xù)。
參考文獻(xiàn)
[1] Christopher M. Bishop. Pattern Recognition and Machine Learning, Springer, 2006.
[2] 李航,統(tǒng)計(jì)學(xué)習(xí)方法,清華大學(xué)出版社,2012年。
總結(jié)
以上是生活随笔為你收集整理的高斯-赛得尔迭代式 c++_高斯混合模型(Gaussian Mixture Model)与EM算法原理(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: BODY background=自适应大
- 下一篇: s3c2440移植MQTT