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