機器學習的數學基礎(1)--Dirichlet分佈

這一系列(機器學習的數學基礎)主要包括目前學習過程中回過頭複習的基礎數學知識的總結。

基礎知識:conjugate priors共軛先驗

    共軛先驗是指這樣一種概率密度:它使得後驗概率的密度函數與先驗概率的密度函數具有相同的函數形式。它極大地簡化了貝葉斯分析。

    如何解釋這句話。由於

    P(u|D) = p(D|u)p(u)/p(D)   (1.0式)

    其中D是給定的一個樣本集合,因此對其來說p(D)是一個確定的值,可以理解爲一個常數。P(u|D)是後驗概率----即觀察到一系列樣本數據後模型參數服從的概率,p(D|u)是似然概率----在給定的模型參數u下樣本數據服從這一概率模型的相似程度,p(u)是u的先驗概率----在我們一無所知的情況下u的概率分佈。P(u|D)的函數形式完全由p(D|u)和p(u)的乘積決定。如果p(u)的取值使p(u|D)和p(D|u)相同的表達形式(關於u的表達形式),就稱p(u)爲共軛先驗。一個最簡單的p(u)的取值就是常數1,只不過1是p(u)的一種取值。

    在瞭解了共軛先驗的概念後,我們主要針對二項分佈和多項分佈找到他們的共軛先驗呈現出什麼樣的形式,從而引出Dirichlet分佈的概念。

二項分佈和Beta分佈:

    如果隨機變量x的取值只能取0或1,則稱x爲服從二項分佈的隨機變量:  

    (1.1式)

    其中u爲p(x=1)。注意上式中x只能爲0或1,因此當x爲0時p=1-u,當x爲1時p=u。寫成上面的乘積形式是爲了數學描述的方便。

    如果對此二值實驗重複進行N次,出現的結果將會有m次1和N-m次0。出現m次1和N-m次0的概率爲

(1.2式)

    又把它稱爲伯努利實驗。給定一個數據集D={x1,x2,x3……xN},其似然函數可以寫爲:

 (1.3式)

    現在來看這個概率模型(這是一個似然概率)。式1.2前面的括號項可以理解爲一個概率的歸一化係數,它與u無關。我們考慮與u有關的這個部分。爲了使後驗概率具有相同的數學結構,我們引入beta函數

   (1.4式)

    這樣得到的後驗概率就具有以下形式:

  (1.5式)

    其中l=N-m。可以看出1.5式和1.2式具有相同的形式,都是u和1-u的指數的乘積。因此beta分佈就是二項分佈的共軛先驗分佈,其中a和b就是beta分佈的參數。

    在進入到Dirichlet分佈之前,我們再觀察一下Beta分佈。1.4式與1.2式的形式是一樣的(除去前面的歸一化係數不管)。而不一樣的地方在於1.2式中要求N和m都爲整數,而Beta函數中的a和b可以是任意實數(其中當a爲整數時г(a)=(a-1)!)。換句牛逼的總結,Beta函數將伯努利實驗的概率從整數擴展到了所有實數

    先驗概率取爲conjugate prior的好處在於做貝葉斯推斷。以二項分佈爲例,如果我們只有一個觀測樣本(假設樣本觀測值爲1),那麼後驗概率仍然是1.4式的形式,只不過a的值更新爲a+1。往後如果再有新的觀測數據,就把上一次的後驗概率作爲先驗,乘以新數據的似然函數,就能更新到新的後驗概率(傳統的做法則是用先驗概率乘以所有數據的似然函數得到後驗概率)。這一sequential method與傳統做法得到的後驗概率結果是完全一致的(注意僅僅在我們討論的這些例子中是這樣,如果先驗概率不選擇爲conjugate prior一般不會有這樣的等效(2013.5.9note:不會有這樣的等效麼?再不確定))。而sequential method的優點則在於每用於更新一次後驗概率後觀測樣本可以不用記錄下來----這對於大規模的數據下做模型訓練是非常有用的。

    Dirichlet分佈就是多項分佈的共軛先驗分佈。因此要理解Dirichlet分佈,先看看多項分佈。

多項分佈和Dirichlet分佈

    如果x的取值有K種情況,就稱x服從多項分佈。往往用維數爲K的矢量來描述。矢量中僅可能一個xk取值爲1,其他都爲0,用來描述x取第k個值。這樣其概率分佈可以描述爲:

    其中。當對多項分佈的事件進行多次,取值爲1至K項的事件分別發生mk次的概率則爲:

    與beta分佈之於二項分佈一樣,我們找尋多項分佈的共軛先驗,其共軛先驗應該具有這樣的形式:

    歸一化後的表達形式爲:

    這個分佈就叫做Dirichlet分佈,其中α是dirichlet分佈的參數,μ是變量

    由於限制且0≤uk≤1,因此u1,u2……uk被限制在單純形中(下圖以k=3爲例展示了這個單純形,注意這個單純形是一個平面,而不是那個三角體。因爲使得u1,u2,u3雖然有三個參數但實際自由度爲2,換句話說可以投影到u1-u2的平面上成爲一個平面三角形)。

    在上面這個介紹的例子中,可以將Dirichlet分佈理解爲概率的概率。因爲u表示的是多項分佈的概率,而Dir(u)表達的是u取某種值情況下的概率,所以可以理解爲概率的概率。舉個經典的例子,扔骨子。很顯然這是一個多項分佈,骨子的呈現只可能是1-6中的一種情況。如果我們將這個事件重複10000次,其中出現1-6的次數分別爲2000,2000,2000,1500,1500,1000,那麼u的取值就是(0.2,0.2,0.2,0.15,0.15,0.1)。那麼Dirichlet概率描述的就是u取值爲(0.2,0.2,0.2,0.15,0.15,0.1)的概率。

Dirichlet分佈的性質

    在此介紹之前再次提醒大家,Dirichlet分佈的參數是αμ纔是變量。由於μ是K維的,所以Dirichlet分佈是一個K維的概率函數。

    Dirichlet分佈的參數分爲兩類,一是尺度scale: ;二是基礎度量base measurement:。base measurement決定了Dirichlet分佈的均值,而scale決定了方差(多維情況下是協方差矩陣):

    當scale非常小的情況下,均值不變但方差很大,這時容易出現extreme distributions。不過隨着觀測樣本的增多,scale會逐漸變大。

    當scale趨於無窮時,方差趨於0,此時概率的分佈情況就會十分集中。以下圖爲例:


    Dirichlet分佈是LDA的數學基礎。就看到了這。


參考資料: Bishop,《Pattern Recognition and Machine Learning》

           http://www.cs.cmu.edu/~epxing/Class/10701-08s/recitation/dirichlet.pdf

           http://www.xperseverance.net/blogs/2012/03/21/



轉載請註明出處:http://blog.csdn.net/jiang1st2010/article/details/8841644


發佈了40 篇原創文章 · 獲贊 43 · 訪問量 85萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章