信息是我們一直在談論的東西,但信息這個概念本身依然比較抽象。在百度百科中的定義:信息,泛指人類社會傳播的一切內容,指音訊、消息、通信系統傳輸和處理的對象。
但信息可不可以被量化,怎樣量化?答案當然是有的,那就是“信息熵”。早在1948年,香農(Shannon)在他著名的《通信的數學原理》論文中指出:“信息是用來消除隨機不確定性的東西”,並提出了“信息熵”的概念(借用了熱力學中熵的概念),來解決信息的度量問題。
下面結合自身的一些認識,談談對信息熵的理解。
1. 信息熵是消除不確定性所需信息量的度量,也即未知事件可能含有的信息量。
一個事件或一個系統,準確的說是一個隨機變量,它有着一定的不確定性。例如,“除東道主俄羅斯外,哪31個國家能進軍2018年俄羅斯世界盃決賽圈”,這個隨機變量的不確定性很高,要消除這個不確定性,就需要引入很多的信息,這些很多信息的度量就用“信息熵”表達。需要引入消除不確定性的信息量越多,則信息熵越高,反之則越低。例如“中國男足進軍2018年俄羅斯世界盃決賽圈”,這個因爲確定性很高,幾乎不需要引入信息,因此信息熵很低。
那信息熵如何計算呢?舉個吳軍在《數學之美》中一樣的例子,假設世界盃決賽圈32強已經產生,那麼隨機變量“2018年俄羅斯世界盃足球賽32強中,誰是世界盃冠軍?”的信息量是多少呢?
根據香農(Shannon)給出的信息熵公式,對於任意一個隨機變量X,它的信息熵定義如下,單位爲比特(bit):
那麼上述隨機變量(誰獲得冠軍)的信息量是:
其中,p1,p2,…,p32分別是這32強球隊奪冠的概率。
吳軍的書中給出了幾個結論:一是32強球隊奪冠概率相同時,H=5;二是奪冠概率不同時,H<5;三是H不可能大於5。
對於第一個結論:結果是很顯然的,奪冠概率相同,即每個球隊奪冠概率都是1/32,所以H=-((1/32)·log(1/32)+(1/32)·log(1/32)+…+(1/32)·log(1/32))=-log(1/32)=log(32)=5(bit)
對於第二個結論和第三個結論:使用拉格朗日乘子法進行證明,詳見《求約束條件下極值的拉格朗日乘子法》。這實際上是說系統中各種隨機性的概率越均等,信息熵越大,反之越小。
從香農給出的數學公式上可以看出,信息熵其實是一個隨機變量信息量的數學期望。
2.日常語境中的信息量與信息熵的關係。
日常生活中,我們經常說某人說話言簡意賅,信息量卻很大,某些人口若懸河,但是廢話連篇,沒啥信息量;這個電視劇情節太拖沓,一集都快演完了也沒演啥內容。這裏的信息量/內容與信息熵有什麼關係呢?
很多人把這些東西與信息熵混爲一談,得出“說話信息量越大,信息熵越高”“語言越言簡意賅,信息熵越高;語言越冗餘堆積,信息熵越低。”等等結論。
不是說這些說法錯了,而是容易引起誤導。個人認爲,這裏日常語境的信息量與其說是信息量,不如說是信息質量和信息傳遞效率問題,有沒有乾貨,有沒有觀點,有沒有思想,並且在一定的文字長度/播放時間內,能不能有效的表達出來,這個其實是人的能力問題,和信息熵沒啥關係好不!
3.在自然語言處理中,信息熵只反映內容的隨機性(不確定性)和編碼情況,與內容本身無關。
信息熵的一個重要應用領域就是自然語言處理。例如,一本50萬字的中文書平均有多少信息量。我們知道,常用的漢字約7000字。假如每個漢字等概率,那麼大約需要約13比特(即13位二進制數,213213=8192)表示一個漢字。
應用信息熵就是,一個漢字有7000種可能性,每個可能性等概率,所以一個漢字的信息熵是:
實際上由於前10%漢字佔常用文本的95%以上,再考慮詞語等上下文,每個漢字的信息熵大約是5比特左右。所以一本50萬字的中文書,信息量大約是250萬比特。需要注意這裏的250萬比特是個平均數。
再看下面兩個句子。
(1)落霞與孤鶩齊飛,秋水共長天一色。
(2)落日下的晚霞與孤獨的大雁一同飛翔,晚秋的江水和深遠的天空連成一片。
按照信息熵的計算,第二句比第一句的信息熵要高1倍以上,你會覺得第二句比第一句水平要高,信息量更大麼?在自然語言處理中出現較大的信息熵,只表示可能出現的語言字符較多,並不意味着你可以從中得到更多的信息。
所以,信息熵高,不代表你說的話,寫的文字中蘊含的信息量就比別人高了。更確切的,信息熵在自然語言處理中是用來對語言文字進行數據壓縮的,與語言素養無關。當然條件熵、相對熵等應該是自然語言處理中更有用的概念,這個以後有機會再說。
4.隨機變量的信息熵大小是客觀的,又是主觀的,與觀測者的觀測粒度有關。
信息熵描述的是隨機變量的不確定性。對於同一個隨機變量,不同觀測者從不同粒度上觀察,得到的信息熵是不一樣的。
還是舉上面世界盃誰奪得冠軍的例子,32強誰奪得冠軍的信息熵是5比特;如果粒度再粗些,有人關注是哪個州奪得冠軍,那麼其可能性是5種(歐洲,南美,非洲,中北美州,亞洲),信息熵是2.32比特;如果我們只關注亞洲是否奪冠,那麼可能性是2種,信息熵是1比特。
再舉個更隨機的例子,中國股市的漲跌(假設非漲即跌,不算平盤),明天是漲還是跌,只有2種可能,信息量(信息熵)是1比特;假設股市只有藍籌板,中小板,創業板3個板塊,這三個板塊的漲跌的可能性合計是8種,信息熵是3比特;如果關注的是每個股票的漲跌,2000個股票的可能性合計是2200022000種,信息熵是2000比特。
因此,對於不同的觀測者來說,信息量(信息熵)是不同的,觀測粒度越細則信息量(信息熵)越大,觀測粒度越粗則信息量(信息熵)越小。
5.信息熵與熱力學熵有相似之處,但不是同一個東西。
很多人看到信息熵的數學公式和熱力學熵(有宏觀形式和微觀形式2種)的數學表達式非常相似,覺得兩者不存在本質區別。但個人認爲至少在目前看來是完全不一樣的東西。
首先,兩者的應用領域完全不一樣。熱力學熵主要用於熱力學、量子物理等領域。而信息熵主要用於通信和和計算機等領域。
其次,兩者形成於不同的理論體系,含義、研究對象都有較大區別,連量綱都不一樣,一個是焦耳/開爾文,一個是比特bit。舉個可能不太恰當的例子,計算機科學中借用了植物學中“樹”的概念,雖然計算機科學中的“樹”與植物學中的“樹”很多地方類似,但顯然不是同一個東西。
- 最後,不排除將來有一套統一理論體系能夠將信息熵和熱力學熵都包含進去。但在現在看來,信息論和熱力學並沒有統一的跡象,生搬硬套的將這兩種熵聯繫在一起,只會起到概念含混,邏輯脆弱的反作用。