數學之美系列(4) 之 怎樣度量信息

數學之美系列 4 -- 怎樣度量信息?

<script language=javascript> uT("time114601014752665451"); </script>
發表者:吳軍,Google 研究員

前言: Google 一直以 “整合全球信息,讓人人能獲取,使人人能受益” 爲使命。那麼究竟每一條信息應該怎樣度量呢?

信息是個很抽象的概念。我們常常說信息很多,或者信息較少,但卻很難說清楚信息到底有多少。比如一本五十萬字的中文書到底有多少信息量。直到 1948 年,香農提出了“信息熵”(shāng) 的概念,才解決了對信息的量化度量問題。

一條信息的信息量大小和它的不確定性有直接的關係。比如說,我們要搞清楚一件非常非常不確定的事,或是我們一無所知的事情,就需要了解大量的信息。相反,如果我們對某件事已經有了較多的瞭解,我們不需要太多的信息就能把它搞清楚。所以,從這個角度,我們可以認爲,信息量的度量就等於不確定性的多少。

那麼我們如何量化的度量信息量呢?我們來看一個例子,馬上要舉行世界盃賽了。大家都很關心誰會是冠軍。假如我錯過了看世界盃,賽後我問一個知道比賽結果的觀衆“哪支球隊是冠軍”? 他不願意直接告訴我, 而要讓我猜,並且我每猜一次,他要收一元錢才肯告訴我是否猜對了,那麼我需要付給他多少錢才能知道誰是冠軍呢? 我可以把球隊編上號,從 1 到 32, 然後提問: “冠軍的球隊在 1-16 號中嗎?” 假如他告訴我猜對了, 我會接着問: “冠軍在 1-8 號中嗎?” 假如他告訴我猜錯了, 我自然知道冠軍隊在 9-16 中。 這樣只需要五次, 我就能知道哪支球隊是冠軍。所以,誰是世界盃冠軍這條消息的信息量只值五塊錢。

當然,香農不是用錢,而是用 “比特”(bit)這個概念來度量信息量。 一個比特是一位二進制數,計算機中的一個字節是八個比特。在上面的例子中,這條消息的信息量是五比特。(如果有朝一日有六十四個隊進入決賽階段的比賽,那麼“誰世界盃冠軍”的信息量就是六比特,因爲我們要多猜一次。) 讀者可能已經發現, 信息量的比特數和所有可能情況的對數函數 log 有關。 (log32=5, log64=6。)

有些讀者此時可能會發現我們實際上可能不需要猜五次就能猜出誰是冠軍,因爲象巴西、德國、意大利這樣的球隊得冠軍的可能性比日本、美國、韓國等隊大的多。因此,我們第一次猜測時不需要把 32 個球隊等分成兩個組,而可以把少數幾個最可能的球隊分成一組,把其它隊分成另一組。然後我們猜冠軍球隊是否在那幾只熱門隊中。我們重複這樣的過程,根據奪冠概率對剩下的候選球隊分組,直到找到冠軍隊。這樣,我們也許三次或四次就猜出結果。因此,當每個球隊奪冠的可能性(概率)不等時,“誰世界盃冠軍”的信息量的信息量比五比特少。香農指出,它的準確信息量應該是

= -(p1*log p1 + p2 * log p2 + ... +p32 *log p32),

其中,p1,p2 , ...,p32 分別是這 32 個球隊奪冠的概率。香農把它稱爲“信息熵” (Entropy),一般用符號 H 表示,單位是比特。有興趣的讀者可以推算一下當 32 個球隊奪冠概率相同時,對應的信息熵等於五比特。有數學基礎的讀者還可以證明上面公式的值不可能大於五。對於任意一個隨機變量 X(比如得冠軍的球隊),它的熵定義如下:



變量的不確定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。

有了“熵”這個概念,我們就可以回答本文開始提出的問題,即一本五十萬字的中文書平均有多少信息量。我們知道常用的漢字(一級二級國標)大約有 7000 字。假如每個字等概率,那麼我們大約需要 13 個比特(即 13 位二進制數)表示一個漢字。但漢字的使用是不平衡的。實際上,前 10% 的漢字佔文本的 95% 以上。因此,即使不考慮上下文的相關性,而只考慮每個漢字的獨立的概率,那麼,每個漢字的信息熵大約也只有 8-9 個比特。如果我們再考慮上下文相關性,每個漢字的信息熵只有5比特左右。所以,一本五十萬字的中文書,信息量大約是 250 萬比特。如果用一個好的算法壓縮一下,整本書可以存成一個 320KB 的文件。如果我們直接用兩字節的國標編碼存儲這本書,大約需要 1MB 大小,是壓縮文件的三倍。這兩個數量的差距,在信息論中稱作“冗餘度”(redundancy)。 需要指出的是我們這裏講的 250 萬比特是個平均數,同樣長度的書,所含的信息量可以差很多。如果一本書重複的內容很多,它的信息量就小,冗餘度就大。

不同語言的冗餘度差別很大,而漢語在所有語言中冗餘度是相對小的。這和人們普遍的認識“漢語是最簡潔的語言”是一致的。

在下一集中, 我們將介紹信息熵在信息處理中的應用以及兩個相關的概念互信息和相對熵。

對中文信息熵有興趣的讀者可以讀我和王作英教授在電子學報上合寫的一篇文章
《語信息熵和語言模型的複雜度》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章