數學之美札記:信息的度量和做用

    1948年,香農在著名論文「通訊的數學原理」中提出了「信息熵」的概念,解決了信息的度量問題,而且量化出信息的做用。算法


    香農使用了「比特」(Bit)這個概念來度量信息量。一個比特是一位二進制數,計算機中的一個字節是8比特。舉個例子,32支球隊參加世界盃,賽後猜想誰是冠軍,一般只須要5五次,就能夠獲得答案。(把球隊編號1-32,而後提問相似的問題:「冠軍在1-16號中嗎?」,只須要提問五次),能夠發現,信息量的比特數和全部狀況的對數函數log有關。(log32=5,對數以2爲底)函數


    固然32支球隊的奪冠機率不可能徹底相同,所以,當每支球隊奪冠的可能性(機率)不等時,「誰是世界冠軍」的信息量比5比特少。香農指出,它的準確信息量應該是:編碼

        -(p1*log(2,p1) + p2 * log(2,p2) + ... +p32 *log(2,p32))spa

     

    其中,p1,p2 , ...,p32 分別是這 32 個球隊奪冠的機率。香農把它稱爲「信息熵」 (Entropy),通常用符號 H 表示,單位是比特。數學上能夠證實,上面公式的值不可能大於五。僅當32個球隊奪冠機率相同時,對應的信息熵等於五比特。翻譯


    有了"熵"的概念,就能夠解決諸如"一本50萬字的中文書平均有多少信息量"。經常使用的漢字(一級二級國標)大約有7000字。假如每一個字等機率,那麼大約須要13比特表示一個漢字。但漢字的使用是不平衡的,實際上,前10%的漢字佔經常使用文本的95%以上。所以,即便不考慮上下文的相關性,只考慮每一個漢字的獨立機率,那麼,每一個漢字的信息熵大約也只有8-9比特。orm


    若是再考慮上下文相關性,每一個漢字的信息熵就只有5比特左右。因此,一本50萬字的中文書,信息量大約是250萬比特。若是用一個好的算法壓縮一下,整本書能夠存成320KB的文件。若是直接用兩字節的國際編碼存儲這本書,大約須要1MB左右,是壓縮文件的三倍。這兩個數量的差距,在信息論中稱做」冗餘度「(Redundancy)。對象


    信息和消除不肯定性是相聯繫的。在英語中,信息和情報都用information表示,情報的做用就是消除不肯定性。有些時候,在戰爭中一比特的信息能抵過千軍萬馬。二戰中,納粹德國兵臨蘇聯莫斯科城下,斯大林在歐洲已經無兵可派,而他們在西伯利亞的中蘇邊境卻有60萬大軍不敢使用,由於蘇聯人不知道德國的軸心國盟友日本當時的軍事策略是北上進攻前蘇聯,仍是南下和美國開戰。遊戲


    若是是南下,蘇聯能夠放心撤回60萬大軍增援莫斯科,歷時告訴咱們日本選擇了南下。斯大林不能猜,由於猜錯的後果是致命的。最後,傳奇間諜佐爾格向莫斯科發去了信息量僅1比特、卻價值無限的情報(信息):"日本將南下",因而前蘇聯就把西伯利亞全部的軍隊調往了歐洲戰場。事件


    一個事物內部會存在着隨機性,也就是不肯定性,假定爲U,而從外部消除這個不肯定性惟一的方法是引入信息I,而須要引入的信息量取決於這個不肯定性的大小,即I>U才行。反之,若是沒有信息,任何公式或數學的遊戲都沒法排除不肯定性。幾乎全部的自認語言處理、信息與信號處理的應用都是一個消除不肯定性的過程。數學

    

    以網頁搜索爲例:網頁搜索本質上就是要從大量(幾十億個)網頁中,找到和用戶輸入的搜索詞最相關的幾個網頁,它本質上也是利用信息消除不肯定性的過程。若是提供的信息不夠多,好比搜索詞是經常使用的關鍵詞,那麼會有好多相關的結果,這時正確的作法是挖掘新的隱含的信息,好比網頁自己的質量信息。若是這些信息仍是不夠消除不肯定性,不放再問問用戶。這就是相關搜索的理論基礎。合理利用信息,是作好搜索的關鍵。


    知道的信息越多,隨機事件的不肯定性就越小。這些信息,能夠是直接針對咱們要了解的隨機事件,也能夠是和咱們關心的隨機事件相關的其餘(事件)的信息——經過獲取這些相關信息也能幫助咱們瞭解所關注的對象。在數學上能夠嚴格地證實爲何這些「相關的」信息可以消除不肯定性。這裏有一個條件熵的概念。 信息的做用在於消除不肯定性,天然語言處理的大量問題就是找相關的信息。


   當獲取的信息和要研究的事物」有關係「時,這些信息才能幫助咱們消除不肯定性。香農在信息論中提出了一個」互信息「的概念做爲對兩個隨機事件」相關性「的量化度量。好比「好悶熱啊,要下雨了」,悶熱和下雨直接的互信息很高。


    在天然語言處理中,兩個隨機事件,或者語言特徵的互信息是很容易計算的。只要有足夠的語料,就不難估計出互信息。所以,互信息被普遍用於度量一些語言現象的相關性。機器翻譯中,最難的兩個問題之一是詞義的二義性(歧義性)問題。好比Bush可翻譯爲美國前總統布什,也能夠是灌木叢。


    那麼如何正確翻譯呢?人們很容易想到要用語法、要分析語句等。其實,迄今爲止,沒有一種語法能很好的解決這個問題,真正簡單卻很是使用的方法是使用互信息。具體的解決辦法大體以下:首先從大量文本中找出和總統布什一塊兒出現的互信息最大的一些詞,好比總統、國會、華盛頓等,固然,再用一樣的方法找出和灌木叢一塊兒出現的互信息最大的詞,好比:土壤、植物等。有了這兩組詞,在翻譯Bush時,看看上下文中哪些相關的詞多就能夠了。這種方法最初由吉爾、丘奇和雅讓斯基提出的。


    信息論中另一個重要的概念是「相對熵」,在英語中是Kullback-Leibler Divergence,是以它的兩個提出者庫爾貝克和萊伯勒的名字命名的。熵、條件熵和相對熵這三個概念與語言模型的關係很是密切。信息熵是對不肯定性的衡量,所以它能直接用於衡量統計語言模型的好壞。固然,由於有了上下文的條件,對高級語言模型,應該用條件熵。若是再考慮到從訓練語料和真實應用的文本中獲得的機率函數有誤差,就須要再引入相對熵的概念。


    賈里尼克從條件熵和相對熵出發,定義了一個稱爲語言模型複雜度的概念,直接衡量語言模型的好壞。複雜度有很清晰的物理含義,它是在給定上下文的條件下,句子中每一個位置平都可以選擇的單詞數量。一個模型的複雜度越小,每一個位置的詞就越肯定,模型越好。


    李開復博士在介紹他發明的Sphinx語音識別系統的論文中談到,若是不用任何語言模型(即零元語言模型)時,複雜度爲997,也就是說句子中每一個位置有997個可能的單詞能夠填入。若是(二元)語言模型只考慮先後詞的搭配不考慮搭配的機率時,複雜度是60。雖然它比不用語言模型好不少,可是和考慮了搭配機率的二元語言模型相比要差不少,由於後者的複雜度只有20。


    信息熵不只是對信息的量化度量,並且是整個信息論的基礎。它對於通訊、數據壓縮、天然語言處理都有很強的指導意義。信息熵的物理含義是對一個信息系統不肯定性的度量,在這一點上,它和熱力學中熵的概念相同。這說明科學上不少看似不一樣的學科之間也會有很強的類似性。

相關文章
相關標籤/搜索