机器学习的数学基础(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??梢钥闯?.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
from:?http://blog.csdn.net/jwh_bupt/article/details/8841644
總結
以上是生活随笔為你收集整理的机器学习的数学基础(1)--Dirichlet分布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机视觉Computer Vision
- 下一篇: 降维(一)----说说主成分分析(PCA