資源描述:
《2014.6.14-最大熵Maximum entropy》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、Maximumentropymodeling(一)0.寫在前面的話初次接觸最大熵的時(shí)候,有點(diǎn)覺得無厘頭,因?yàn)殪厥谴硇畔⒌幕靵y程度,那么最大熵不就是最大化信息的混亂程度?這樣的模型能用嗎?后來看了基本概念,最大熵是有前提的,就是要在保持我們的模型在符合已知信息的情況下,對(duì)未知信息保持最大熵。這個(gè)定義就簡(jiǎn)單明了的說明了最大熵的意義和條件。但具體如何應(yīng)用呢?很多事情我們都是有個(gè)概念,但是對(duì)于具體怎么實(shí)現(xiàn)呢?在數(shù)學(xué)上的表現(xiàn)形式是什么呢?接下來根據(jù)自己的理解和部分參考文獻(xiàn)介紹最一下大熵這個(gè)問題,爭(zhēng)取做到既簡(jiǎn)單又
2、明了。主要參考《amaximumentropyapproachtonaturallanguageprocessing》。1.Introduction要對(duì)一個(gè)隨機(jī)過程或者事件進(jìn)行建模,要完成兩個(gè)任務(wù):1.決定有哪些捕捉到了這個(gè)隨機(jī)過程或事件的統(tǒng)計(jì)量;將這些得到的統(tǒng)計(jì)量或者說facts用模型關(guān)聯(lián)起來。2.Amaximumentropyoverview這里首先從一個(gè)實(shí)際的例子出發(fā)來引入maximumentropy的概念。假定我們現(xiàn)在面臨的任務(wù)是:把英語單詞in翻譯成法語。我們的模型用p(f)來表示把這個(gè)單詞翻
3、譯成法語單詞f的概率。為了能夠更加準(zhǔn)確的把in這個(gè)單詞正確的翻譯出來,我們收集了許多以前的翻譯樣本,這些我們收集的以前的翻譯樣本就構(gòu)成了我們的訓(xùn)練集。現(xiàn)在我們應(yīng)當(dāng)做什么呢?自然是要先從收集的訓(xùn)練集中提取盡可能多和準(zhǔn)確的有用的信息,然后把這個(gè)信息用來幫助我們構(gòu)建我們的模型,其實(shí)就是用這個(gè)信息來合理的約束我們的模型,最后就用構(gòu)建的模型來實(shí)現(xiàn)我們起初的任務(wù)?,F(xiàn)在就要從訓(xùn)練集中提取信息了。通過觀察,我們發(fā)現(xiàn)在訓(xùn)練集中in這個(gè)單詞經(jīng)常會(huì)被翻譯為以下5個(gè)單詞中一個(gè):{dans,en,à,aucoursde,pend
4、ant}.利用這個(gè)信息,我們可以對(duì)我們的模型施加第一個(gè)約束,(一個(gè)泛泛的模型太多了,通過訓(xùn)練集中的信息逐步的施加約束,逐步的縮小模型的可行范圍,到最后就可以確定求解出具體的模型了)。這個(gè)約束可以寫成:上面這個(gè)式子代表了我們從訓(xùn)練集中提取的第一個(gè)信息。接下來,繼續(xù)提取信息,施加約束,因?yàn)闈M足上述式子的模型也有很多啊,可以讓第一項(xiàng)等于1,其他項(xiàng)都為0,即每次都把in翻譯成dans。但這樣顯然不太合理。那假如說現(xiàn)在沒有其他信息了,沒有信息來進(jìn)一步說明哪個(gè)詞占得比例大一些,哪個(gè)詞占得比例小一些,那怎樣選擇模型在
5、這5個(gè)單詞上的概率才算合理呢?這時(shí),我們都可以想到,最保險(xiǎn)的做法就是讓in被翻譯成這5個(gè)單詞的概率相等,也就是上面的這個(gè)模型就是對(duì)這5個(gè)詞均勻分配,誰也不偏重,因?yàn)闆]有信息告訴我們要偏重誰啊,所以這個(gè)做法最保險(xiǎn),因?yàn)闆]有違背我們已知的信息(會(huì)被翻譯成這5個(gè)詞),也沒有施加別的我們未知的假設(shè)。接下來,看能不能繼續(xù)從訓(xùn)練集里挖掘信息呢?假如說我們現(xiàn)在有了一個(gè)新信息:在訓(xùn)練集中有30%的時(shí)候,in會(huì)被翻譯成dans或者en。把這個(gè)信息寫成概率形式施加到模型上,就得到:我們的模型越來越具體了,但是還是有很多分布
6、都可以滿足上面的兩個(gè)式子。假如說現(xiàn)在沒有其他信息了,只知道我們的模型必須滿足上面兩個(gè)約束,那如何選取各個(gè)概率值呢?答案跟第一次選擇分布的時(shí)候一樣,最保險(xiǎn)的做法就是讓這5個(gè)單詞在滿足條件的情況下均勻分配,也就得到:上面的是比較簡(jiǎn)單的情況。假如說我們現(xiàn)在又觀察到一個(gè)fact,就是有一半的時(shí)候,in會(huì)被翻譯成dans和à。把這個(gè)信息再加入到上述的模型中,就得到:理論上,有了上面這個(gè)之后,我們大可以像之前一樣,選擇滿足條件的情況下最均勻的分配各個(gè)單詞的概率就行了。但是這時(shí)候就沒有那么直觀了。不能一下子寫出來,但
7、是我們可以通過一定方法步驟求出來這個(gè)概率分布呀。那就遇到問題了,(1).我們要求的是最均勻分配的那個(gè)分布,那如何衡量這個(gè)均勻性“uniform”呢?(2).假如問題1解決了后,我們就沿著這個(gè)標(biāo)準(zhǔn)做就行了,那如何來具體找到那個(gè)mostuniform的model呢?大家想必也猜出來了,此時(shí)最大熵原理就應(yīng)運(yùn)而生了。3.最大熵建模(MaximumEntropyModeling)有了上面比較直觀的例子后,接下來以比較正式的方式介紹最大熵建模。對(duì)于建模來說,我們的任務(wù)可以認(rèn)為是要考慮一個(gè)輸出為y∈?的隨機(jī)過程,然后
8、構(gòu)建一個(gè)可以準(zhǔn)確表示這個(gè)過程的模型。具體到上面翻譯的那個(gè)例子中,這個(gè)過程就是要產(chǎn)生一個(gè)in的對(duì)應(yīng)翻譯輸出y∈{dans,en,??,aucoursde,pendant}.而產(chǎn)生y的這個(gè)過程可能會(huì)利用到別的context信息(例如上邊我們發(fā)現(xiàn)的in后面跟著什么詞有可能會(huì)被翻譯成什么等)假定為x∈?.可以看出這樣一個(gè)模型其實(shí)就是在估計(jì)給定contextx時(shí),所估計(jì)的隨機(jī)過程會(huì)輸出y的條件概率p(y
9、x)∈?.(其中?,?,?就是所有的對(duì)應(yīng)元素y