核心概念#
1948 年,香農(Claude Shannon)在論文《通信的數學原理》中提出了信息熵(Entropy)的概念,解決了信息的度量問題,並量化出信息的作用。信息熵不僅是對信息的量化度量,而且是整個信息論的基礎。
信息熵#
- 信息量與事件的不確定性直接相關:越不確定的事情,需要越多的信息才能搞清楚
- 香農用世界杯足球賽的例子說明:32 支球隊中誰是冠軍,只需猜 5 次(每次排除一半),信息量為 5 比特($\log_2 32 = 5$)
- 對任意隨機變量 $X$,其熵定義為:$H(X) = -\sum_{x \in X} P(x) \log P(x)$
- 變量的不確定性越大,熵就越大,所需信息量也越大
一本 50 萬字的中文書,考慮上下文相關性後,每個漢字的信息熵約 5 比特,全書信息量約 250 萬比特。用好的算法壓縮可以存成約 320KB 的文件,而直接用國標編碼約需 1MB,壓縮比約為 3 倍。這個差距在信息論中稱為冗餘度(Redundancy)。
信息的作用#
- 信息的作用在於消除不確定性,自然語言處理的大量問題就是尋找相關的信息
- 書中以二戰時蘇聯間諜佐爾格的情報為例:僅 1 比特的信息(「日本將南下」)就消除了斯大林的戰略困境
- 引入條件熵(Conditional Entropy)$H(X|Y) = -\sum_{x,y} P(x,y) \log P(x|y)$,可以證明 $H(X) \geq H(X|Y)$,即多了 $Y$ 的信息後,$X$ 的不確定性不會增加
- 網頁搜索本質上就是利用信息消除不確定性的過程:從幾十億網頁中,用搜索詞提供的信息找到最相關的幾個
合理利用信息,而非玩弄公式和機器學習算法,是做好搜索的關鍵。
互信息#
- 當獲取的信息與研究對象「有關係」時,才能幫助消除不確定性;互信息(Mutual Information)就是量化兩個隨機事件「相關性」的度量
- 定義:$I(X;Y) = \sum_{x,y} P(x,y) \log \frac{P(x,y)}{P(x)P(y)}$
- 等價地:$I(X;Y) = H(X) - H(X|Y)$,即 $X$ 的熵與已知 $Y$ 後 $X$ 的條件熵之差
- 互信息的取值範圍為 0 到 $\min(H(X), H(Y))$:完全相關時取最大值,完全無關時為 0
- 應用實例:在機器翻譯中,利用互信息解決詞義消歧(Word Sense Disambiguation)問題。例如 Bush 可以是人名也可以是灌木叢,透過找出與「總統」或「灌木叢」互信息最大的上下文詞彙來判斷正確含義
延伸閱讀:相對熵#
- 相對熵(Relative Entropy,或 Kullback-Leibler Divergence)用來衡量兩個取值為正數的函數的相似性
- 定義:$KL(f(x) | g(x)) = \sum_{x} f(x) \cdot \log \frac{f(x)}{g(x)}$
- 三個重要性質:兩個完全相同的函數相對熵為零;差異越大相對熵越大;對於概率分布可度量分布的差異性
- 相對熵不對稱,為了實用,詹森和香農提出對稱版本:$JS(f(x) | g(x)) = \frac{1}{2}[KL(f | g) + KL(g | f)]$
- 賈里尼克從條件熵和相對熵出發,定義了複雜度(Perplexity)來衡量語言模型的好壞:在給定上下文條件下,句子中每個位置平均可以選擇的單詞數量。複雜度越小,模型越好
本章小結#
信息熵不僅是對信息的量化度量,更是整個信息論的基礎,對通信、數據壓縮、自然語言處理都有很大的指導意義。信息熵的物理含義是對一個信息系統不確定性的度量,與熱力學中熵的概念有很強的相似性——都是對無序的度量。