信息理论

**資訊理論**（英語：information theory）是應用數學、電子學和電腦科學的一個分支，涉及訊息的量化、儲存和通訊等。資訊理論是由克勞德・夏農發展，用來找出訊號處理與通訊操作的基本限制，如資料壓縮、可靠的儲存和資料傳輸等。自創立以來，它已拓展應用到許多其他領域，包括統計推論、自然語言處理、密碼學、神經生物學、進化論和分子編碼的功能、生態學的模式選擇、熱物理、量子計算、語言學、剽竊檢測、圖型識別、異常檢測和其他形式的資料分析。

熵是訊息的一個關鍵度量，通常用一條訊息中需要儲存或傳輸一個符號的平均位元數來表示。熵衡量了預測隨機變數的值時涉及到的不確定度的量。例如，指定擲硬幣的結果（兩個等可能的結果）比指定擲骰子的結果（六個等可能的結果）所提供的訊息量更少（熵更少）。

資訊理論將訊息的遞移作為一種統計現象來考慮，給出了估算通訊頻道容量的方法。訊息傳輸和訊息壓縮是資訊理論研究中的兩大領域。這兩個方面又由頻道編碼定理、信源－頻道隔離定理相互聯絡。

資訊理論的基本內容的應用包括無失真資料壓縮（如 ZIP 檔案）、有損資料壓縮（如 MP3 和 JPEG）、頻道編碼（如數位使用者線路（DSL））。這個領域處在數學、統計學、電腦科學、物理學、神經科學和電機工程學的交叉點上。資訊理論對航海家深空探測任務的成敗、光碟的發明、手機的可行性、網際網路的發展、語言學和人類感知的研究、對黑洞的了解，以及許多其他領域都影響深遠。資訊理論的重要子領域有信源編碼、頻道編碼、演算法複雜性理論、演算法資訊理論、資訊理論安全性和訊息度量等。

## 簡述

資訊理論的主要內容可以類比人類最廣泛的交流手段 —— 語言來闡述。

一種簡潔的語言（以英語為例）通常有兩個重要特點：
首先，最常用的詞（比如 "a"、"the"、"I"）應該比不太常用的詞（比如 "benefit"、"generation"、"mediocre"）要短一些；其次，如果句子的某一部分被漏聽或者由於雜訊干擾（比如一輛車輛疾馳而過）而被誤聽，聽者應該仍然可以抓住句子的大概意思。而如果把電子通訊系統比作一種語言的話，這種健壯性（robustness）是不可或缺的。將健壯性引入通訊是通過頻道編碼完成的。信源編碼和頻道編碼是資訊理論的基本研究課題。

注意這些內容同訊息的重要性之間是毫不相干的。例如，像「多謝；常來」這樣的客套話與像「救命」這樣的緊急請求在說起來、或者寫起來所花的時間是差不多的，然而明顯後者更重要，也更有實在意義。資訊理論卻不考慮一段訊息的重要性或內在意義，因為這些是資料的品質的問題而不是資料量（資料的長度）和可讀性方面上的問題，後者只是由機率這一因素單獨決定的。

## 訊息的度量

### 訊息熵

美國數學家克勞德・夏農被稱為「資訊理論之父」。人們通常將夏農於 1948 年 10 月發表於《貝爾系統技術學報》上的論文《通訊的數學理論》作為現代資訊理論研究的開端。這一文章部分基於哈里・奈奎斯特和拉爾夫・哈特利於 1920 年代先後發表的研究成果。在該文中，夏農給出了訊息熵的定義：

　
: $H(X)=\mathbb {E} _{X}[I(x)]=\sum _{x\in {\mathcal {X}}}^{}p(x)\log _{2}\left({\frac {1}{p(x)}}\right)$

其中 ${\mathcal {X}}$ 為有限個事件 x 的集合， $X$ 是定義在 ${\mathcal {X}}$ 上的隨機變數。訊息熵是隨機事件不確定性的度量。

訊息熵與物理學中的熱力學熵有著緊密的聯絡:

　
: $S(X)=k_{B}H(X)$

其中 S (X) 為熱力學熵，H (X) 為訊息熵， $k_{B}$ 為波茲曼常數。
事實上這個關係也就是廣義的波茲曼熵公式，或是在正則系綜內的熱力學熵表示式。如此可知，玻爾茲曼與吉布斯在統計物理學中對熵的工作，啟發了訊息論的熵。

訊息熵是信源編碼定理中，壓縮率的下限。若編碼所用的資訊量少於訊息熵，則一定有資訊的損失。夏農在大數定律和漸進均分性的基礎上定義了典型集和典型序列。典型集是典型序列的集合。因為一個獨立同分布的 $X$ 序列屬於由 $X$ 定義的典型集的機率大約為 1，所以只需要將屬於典型集的無記憶 $X$ 信源序列編為唯一可譯碼，其他序列隨意編碼，就可以達到幾乎無損失的壓縮。

#### 例子

設有一個三個面的骰子，三面分別寫有 $1,2,3$ ， $X$ 為擲得的數，擲得各面的機率為

　
: ${\begin{aligned}\mathbb {P} (X=1)&=1/5,\\\mathbb {P} (X=2)&=2/5,\\\mathbb {P} (X=3)&=2/5,\end{aligned}}$

則

　
: $H(X)={\frac {1}{5}}\log _{2}(5)+{\frac {2}{5}}\log _{2}\left({\frac {5}{2}}\right)+{\frac {2}{5}}\log _{2}\left({\frac {5}{2}}\right)\approx 1.522.$

### 聯合熵與條件熵

聯合熵（Joint Entropy）由熵的定義出發，計算聯合分布的熵：

　
: $H(X,Y)=\sum _{x\in {\mathcal {X}}}\sum _{y\in {\mathcal {Y}}}^{}p(x,y)\log \left({\frac {1}{p(x,y)}}\right).$

條件熵（Conditional Entropy），顧名思義，是以條件機率 $p(y|x)$ 計算：

　
: $H(Y|X)=\sum _{x\in {\mathcal {X}}}\sum _{y\in {\mathcal {Y}}}^{}p(x,y)\log \left({\frac {1}{p(y|x)}}\right).$

由貝氏定理，有 $p(x,y)=p(y|x)p(x)$ ，代入聯合熵的定義，可以分離出條件熵，於是得到聯合熵與條件熵的關係式:

　
: $H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y)=H(Y,X).$

#### 連鎖法則

可以再對聯合熵與條件熵的關係做推廣，假設現在有 $n$ 個隨機變數 $X_{i},i=1,2,...,n$ ，重複分離出條件熵，有：

　
: ${\begin{aligned}H(X_{1},X_{2},...,X_{n})&=H(X_{1})+H(X_{2},...,X_{n}|X_{1})\\&=H(X_{1})+H(X_{2}|X_{1})+H(X_{3},...,X_{n}|X_{1},X_{2})\\&=H(X_{1})+\sum _{i=2}^{n}H(X_{i}|X_{1},...,X_{i-1})\end{aligned}}.$

其直觀意義如下：假如接收一段數列 $\{X_{1},X_{2},...,X_{n}\}$ ，且先收到 $X_{1}$ ，再來是 $X_{2}$ ，依此類推。那麼收到 $X_{1}$ 後總訊息量為 $H(X_{1})$ ，收到 $X_{2}$ 後總訊息量為 $H(X_{1})+H(X_{2}|X_{1})$ ，直到收到 $X_{n}$ 後，總訊息量應為 $H(X_{1},...,X_{n})$ ，於是這個接收過程給出了連鎖法則。

### 相互資訊

相互資訊（Mutual Information）是另一有用的訊息度量，它是指兩個事件集合之間的相關性。兩個事件 $X$ 和 $Y$ 的相互資訊定義為：

　
: $I(X;Y)=H(X)-H(X|Y)=H(X)+H(Y)-H(X,Y)=H(Y)-H(Y|X)=I(Y;X).$

其意義為， $Y$ 包含 $X$ 的多少資訊。在尚未得到 $Y$ 之前，對 $X$ 的不確定性是 $H(X)$ ，得到 $Y$ 後，不確定性是 $H(X|Y)$ 。所以一旦得到 $Y$ ，就消除了 $H(X)-H(X|Y)$ 的不確定量，這就是 $Y$ 對 $X$ 的資訊量。

如果 $X,Y$ 互為獨立，則 $H(X,Y)=H(X)+H(Y)$ ，於是 $I(X;Y)=0$ 。

又因為 $H(X|Y)\leq H(X)$ ，所以

　
: $I(X;Y)\leq \min(H(X),H(Y)),$

其中等號成立條件為 $Y=g(X)$ ， $g$ 是一個對射函數。

相互資訊與 G 檢定以及皮爾森卡方檢定有著密切的聯絡。

## 應用

資訊理論被廣泛應用在：

* 編碼理論
* 密碼學
* 資料傳輸
* 資料壓縮
* 檢測理論
* 估計理論
* 資料加密

## 參考文獻

## 外部連結

* 夏農論文：通訊的數學理論 （頁面存檔備份，存於網際網路檔案館）