以PLSA和LDA為代表的文本語言模型是當(dāng)今統(tǒng)計自然語言處理研究的熱點(diǎn)問題。這類語言模型一般都是對文本的生成過程提出自己的概率圖模型,然后利用觀察到的語料數(shù)據(jù)對模型參數(shù)做估計。有了語言模型和相應(yīng)的模型參數(shù),我們可以有很多重要的應(yīng)用,比如文本特征降維、文本主題分析等等。本文主要介紹文本分析的三類參數(shù)估計方法-最大似然估計MLE、最大后驗概率估計MAP及貝葉斯估計。
1、最大似然估計MLE
首先回顧一下貝葉斯公式
這個公式也稱為逆概率公式,可以將后驗概率轉(zhuǎn)化為基于似然函數(shù)和先驗概率的計算表達(dá)式,即
最大似然估計就是要用似然函數(shù)取到最大值時的參數(shù)值作為估計值,似然函數(shù)可以寫做
由于有連乘運(yùn)算,通常對似然函數(shù)取對數(shù)計算簡便,即對數(shù)似然函數(shù)。最大似然估計問題可以寫成
這是一個關(guān)于的函數(shù),求解這個優(yōu)化問題通常對求導(dǎo),得到導(dǎo)數(shù)為0的極值點(diǎn)。該函數(shù)取得最大值是對應(yīng)的的取值就是我們估計的模型參數(shù)。
以扔硬幣的伯努利實(shí)驗為例子,N次實(shí)驗的結(jié)果服從二項分布,參數(shù)為P,即每次實(shí)驗事件發(fā)生的概率,不妨設(shè)為是得到正面的概率。為了估計P,采用最大似然估計,似然函數(shù)可以寫作
其中表示實(shí)驗結(jié)果為i的次數(shù)。下面求似然函數(shù)的極值點(diǎn),有
得到參數(shù)p的最大似然估計值為
可以看出二項分布中每次事件發(fā)的概率p就等于做N次獨(dú)立重復(fù)隨機(jī)試驗中事件發(fā)生的概率。
如果我們做20次實(shí)驗,出現(xiàn)正面12次,反面8次
那么根據(jù)最大似然估計得到參數(shù)值p為12/20 = 0.6。
2、最大后驗估計MAP
最大后驗估計與最大似然估計相似,不同點(diǎn)在于估計的函數(shù)中允許加入一個先驗,也就是說此時不是要求似然函數(shù)最大,而是要求由貝葉斯公式計算出的整個后驗概率最大,即
注意這里P(X)與參數(shù)無關(guān),因此等價于要使分子最大。與最大似然估計相比,現(xiàn)在需要多加上一個先驗分布概率的對數(shù)。在實(shí)際應(yīng)用中,這個先驗可以用來描述人們已經(jīng)知道或者接受的普遍規(guī)律。例如在扔硬幣的試驗中,每次拋出正面發(fā)生的概率應(yīng)該服從一個概率分布,這個概率在0.5處取得最大值,這個分布就是先驗分布。先驗分布的參數(shù)我們稱為超參數(shù)(hyperparameter)即
同樣的道理,當(dāng)上述后驗概率取得最大值時,我們就得到根據(jù)MAP估計出的參數(shù)值。給定觀測到的樣本數(shù)據(jù),一個新的值發(fā)生的概率是
下面我們?nèi)匀灰匀佑矌诺睦觼碚f明,我們期望先驗概率分布在0.5處取得最大值,我們可以選用Beta分布即
其中Beta函數(shù)展開是
當(dāng)x為正整數(shù)時
Beta分布的隨機(jī)變量范圍是[0,1],所以可以生成normalised probability values。下圖給出了不同參數(shù)情況下的Beta分布的概率密度函數(shù)
我們?nèi)?a target="_blank" rel="nofollow">
,這樣先驗分布在0.5處取得最大值,現(xiàn)在我們來求解MAP估計函數(shù)的極值點(diǎn),同樣對p求導(dǎo)數(shù)我們有得到參數(shù)p的的最大后驗估計值為
和最大似然估計的結(jié)果對比可以發(fā)現(xiàn)結(jié)果中多了這樣的pseudo-counts,這就是先驗在起作用。并且超參數(shù)越大,為了改變先驗分布傳遞的belief所需要的觀察值就越多,此時對應(yīng)的Beta函數(shù)越聚集,緊縮在其最大值兩側(cè)。
如果我們做20次實(shí)驗,出現(xiàn)正面12次,反面8次,那么
那么根據(jù)MAP估計出來的參數(shù)p為16/28 = 0.571,小于最大似然估計得到的值0.6,這也顯示了“硬幣一般是兩面均勻的”這一先驗對參數(shù)估計的影響。
3 貝葉斯估計
貝葉斯估計是在MAP上做進(jìn)一步拓展,此時不直接估計參數(shù)的值,而是允許參數(shù)服從一定概率分布?;仡櫼幌仑惾~斯公式
現(xiàn)在不是要求后驗概率最大,這樣就需要求,即觀察到的evidence的概率,由全概率公式展開可得
當(dāng)新的數(shù)據(jù)被觀察到時,后驗概率可以自動隨之調(diào)整。但是通常這個全概率的求法是貝葉斯估計比較有技巧性的地方。
那么如何用貝葉斯估計來做預(yù)測呢?如果我們想求一個新值的概率,可以由
來計算。注意此時第二項因子在上的積分不再等于1,這就是和MLE及MAP很大的不同點(diǎn)。
我們?nèi)匀灰匀佑矌诺牟麑?shí)驗為例來說明。和MAP中一樣,我們假設(shè)先驗分布為Beta分布,但是構(gòu)造貝葉斯估計時,不是要求用后驗最大時的參數(shù)來近似作為參數(shù)值,而是求滿足Beta分布的參數(shù)p的期望,有
注意這里用到了公式
當(dāng)T為二維的情形可以對Beta分布來應(yīng)用;T為多維的情形可以對狄利克雷分布應(yīng)用
根據(jù)結(jié)果可以知道,根據(jù)貝葉斯估計,參數(shù)p服從一個新的Beta分布?;貞浺幌?,我們?yōu)閜選取的先驗分布是Beta分布,然后以p為參數(shù)的二項分布用貝葉斯估計得到的后驗概率仍然服從Beta分布,由此我們說二項分布和Beta分布是共軛分布。在概率語言模型中,通常選取共軛分布作為先驗,可以帶來計算上的方便性。最典型的就是LDA中每個文檔中詞的Topic分布服從Multinomial分布,其先驗選取共軛分布即Dirichlet分布;每個Topic下詞的分布服從Multinomial分布,其先驗也同樣選取共軛分布即Dirichlet分布。
根據(jù)Beta分布的期望和方差計算公式,我們有
可以看出此時估計的p的期望和MLE ,MAP中得到的估計值都不同,此時如果仍然是做20次實(shí)驗,12次正面,8次反面,那么我們根據(jù)貝葉斯估計得到的p滿足參數(shù)為12+5和8+5的Beta分布,其均值和方差分別是17/30=0.567, 17*13/(31*30^2)=0.0079??梢钥吹酱藭r求出的p的期望比MLE和MAP得到的估計值都小,更加接近0.5。
綜上所述我們可以可視化MLE,MAP和貝葉斯估計對參數(shù)的估計結(jié)果如下
個人理解是,從MLE到MAP再到貝葉斯估計,對參數(shù)的表示越來越精確,得到的參數(shù)估計結(jié)果也越來越接近0.5這個先驗概率,越來越能夠反映基于樣本的真實(shí)參數(shù)情況。
參考文獻(xiàn)
Gregor Heinrich, Parameter estimation for test analysis, technical report
Wikipedia Beta分布詞條 , http://en.wikipedia.org/wiki/Beta_distribution
聯(lián)系客服