3.1 熵的定義與三條公理#
導言:平均不確定性的名字#
第 2 章我們建立了自資訊 \(I(x) = -\log_2 p(x)\) 。現在把它對信源取期望,得到資訊理論最核心的量——熵(entropy):
單位 bits/symbol。熵是「信源的平均驚訝度」、「壓縮的極限」、「通道的不確定度量」——這三個身份在本章與後續章節中逐一展開。本節先從公理出發:為什麼熵是唯一合理的選擇。
三條公理與唯一性#
Shannon(1948)與 Khinchin(1957)給出的公理化:設 \(H(p_1, \dots, p_M)\) 是不確定性度量,要求:
- 對稱性:交換 \(p_i\) 的順序不改變 \(H\) (符號的標籤無關緊要)。
- 極值性: \(H \le \log_2 M\) ,且等號 iff 均勻分佈(2.1 節第一原則:結果越均勻越不確定)。
- 可加性(群展性):把結果分成兩組 \(A\) 與 \(B\) ,先不確定「落在哪一組」(權重為組機率),再不確定「組內是哪一個」,總不確定性應等於一次到位的不確定性:
其中 \(q_j = \sum_{i \in A_j} p_i\) 。可加性是決定性的:它強迫 \(H\) 具有對數的內稟尺度。可以證明(Khinchin 定理)滿足這三條公理的函數只有 \(-C\sum p_i \log p_i\) ;選定單位後即為 Shannon 熵。歷史上,Faddeev(1956)的公理版本(加上「對機率微小擾動連續」)是最常見的證明。
例題:用公理驗證熵的行為#
- 對稱性: \(H(0.2, 0.3, 0.5) = H(0.5, 0.2, 0.3)\) ,顯然成立(求和與順序無關)。
- 極值性: \(H(1/4, 1/4, 1/4, 1/4) = 4 \times \frac14 \times 2 = 2 = \log_2 4\) ,達到極大。
- 可加性: \(H(1/2, 1/4, 1/4)\) 。分組 \(\{a\}, \{b, c\}\) : \(q = (1/2, 1/2)\) , $$ H(1/2, 1/4, 1/4) = H(1/2, 1/2) + \tfrac12 H(1/2, 1/2) = 1 + 0.5 = 1.5 $$ 直接計算: \(0.5 \times 1 + 0.25 \times 2 + 0.25 \times 2 = 1.5\) 。✓
熵的基本性質#
性質一:非負且有界#
下界: \(p(x) \log(1/p(x)) \ge 0\) (因 \(p \in (0,1]\) 時 \(\log_2 (1/p) \ge 0\) )。上界:由對數凹性或 Jensen 不等式(詳下)。
性質二:Jensen 證上界#
\(\log\) 是凹函數,Jensen 不等式 \(E[\log Z] \le \log E[Z]\) 給出:
注意 \(E[1/p(X)] = \sum_x p(x) \cdot \frac{1}{p(x)} = |\mathcal{X}|\) ,故 \(H \le \log_2 |\mathcal{X}|\) ,等號 iff \(1/p(X)\) 為常數,即均勻分佈。
性質三:凹性#
熵是 pmf 的凹函數:對兩個分佈 \(p, q\) 與 \(\lambda \in [0,1]\) ,
凹性意味著「混合兩個信源比兩個信源各自更不確定」——這是最大熵方法(見下)與容量計算(第 4 章: \(\max_{p(x)} I(X;Y)\) 是凹極大化)的理論基礎,保證極大值存在且局部極大即全域極大。
常見分佈的熵表#
| 分佈 | 熵(bits) | 說明 |
|---|---|---|
| 確定( \(p=1\) ) | 0 | 零不確定性 |
| 二元 \(\{1/2, 1/2\}\) | 1 | 極大二元熵 \(H_2(0.5)=1\) |
| 二元 \(\{0.9, 0.1\}\) | 0.469 | 偏斜,易壓縮 |
| 二元 \(\{0.99, 0.01\}\) | 0.081 | 幾乎確定 |
| 均勻 \(M\) 元 | \(\log_2 M\) | 達上界(Hartley) |
| \(\{1/2, 1/4, 1/8, 1/8\}\) | 1.75 | 2.2 節例題 |
| 幾何/指數分佈 | \(E[I] + \log_2 e\) | 給定均值下最大 |
例題:二元熵函數#
二元熵 \(H_2(p) = -p \log_2 p - (1-p)\log_2(1-p)\) 是整本書反覆出現的函數(BSC 容量 \(C = 1 - H_2(p)\) )。
| \(p\) | 0 | 0.01 | 0.1 | 0.11 | 0.2 | 0.5 | 1 |
|---|---|---|---|---|---|---|---|
| \(H_2(p)\) | 0 | 0.0808 | 0.4690 | 0.4999 | 0.7219 | 1 | 0 |
注意對稱性 \(H_2(p) = H_2(1-p)\) 與 \(p = 0.5\) 處的極大。通道編碼中, \(p = 0.11\) 時 \(C \approx 0.5\) :每兩個通道使用可零錯誤傳 1 位元——即使錯誤率高達 11%。
典型序列與 AEP:熵的極限定理#
熵之所以是壓縮極限,靠漸近等分性質。對 i.i.d. 信源 \(X^n\) ,定義典型集:
三個關鍵性質( \(n \to \infty\) ):
- \(P(X^n \in A_\epsilon^{(n)}) \to 1\) (典型序列承載幾乎全部機率)。
- \(|A_\epsilon^{(n)}| \le 2^{n(H + \epsilon)}\) (典型集很小)。
- \(|A_\epsilon^{(n)}| \ge (1 - \delta) 2^{n(H - \epsilon)}\) 。
因此每個典型序列只需 \(n(H+\epsilon)\) 位元標記,壓縮率逼近 \(H\) 。AEP = 大數法則應用到自資訊(2.2 節),這是資訊理論所有「直接法」證明的模板:第 5 章(壓縮)、第 4 章(隨機編碼)共用這個腳本。
例題:AEP 的數值感受#
\(P(a) = 0.75\) 、 \(P(b) = 0.25\) 、 \(H \approx 0.811\) bits。 \(n = 10000\) 、 \(\epsilon = 0.01\) :
- 典型序列約 \(2^{8210}\) 個,佔全部 \(2^{10000}\) 序列的比例為 \(2^{-1790}\) (天文數字般稀少)。
- 但這個稀薄的典型集承載 \(\ge 0.99\) 的機率質量。
- 結論:丟掉非典型序列幾乎不損失任何東西,卻把標記需求從 \(10000\) 位元砍到 \(8210\) 位元。
熵與統計力學:同名兄弟#
Boltzmann(1872–1877)與 Gibbs(1902)的統計力學熵:
與 Shannon 熵只差常數 \(k_B\) 與對數底。歷史上誰影響誰?Shannon 自述熵的名稱由馮諾伊曼建議,但函數形式是從公理推出的,不是抄來的;兩者的獨立殊途同歸暗示熵是某種普適量。深層聯繫:
- 最大熵原理(Jaynes, 1957):給定約束(如平均能量),最合理的機率分佈是熵最大的分佈。約束為平均能量時,最大熵分佈正是 Boltzmann–Gibbs 分佈 \(p_i \propto e^{-\beta E_i}\) 。
- 熱力學第二定律的資訊版:孤立系統熵不減;對應資訊處理中「觀測/操作產生資訊損耗」。Landauer 原理(1961):擦除 1 位元資訊至少耗散 \(k_B T \ln 2\) 熱量——資訊與物理的橋樑(10.3 節)。
例題:最大熵與指數分佈#
給定 \(E[X] = \mu\) 的非負連續分佈,最大化微分熵得指數分佈 \(f(x) = \frac{1}{\mu} e^{-x/\mu}\) 。這解釋了為什麼指數分佈(等待時間、元件壽命)在只知均值的場合是「最不偏」的模型。離散情形的對應:給定 \(E[X]\) 的正整數分佈,最大熵是幾何分佈。
熵的計算技巧#
例題:英文文本的熵估計#
- 只看字母頻率(i.i.d. 模型): \(H \approx 4.18\) bits/字母(2.1 節頻率表)。
- 計入前一字母(一階馬可夫): \(H \approx 3.56\) bits/字母。
- 計入前兩字母:約 \(3.3\) 。
- 人類猜字母實驗(Shannon, 1951《Prediction and Entropy of Printed English》):約 \(1.3\) – \(1.5\) bits/字母。
Shannon 用「讓人猜下一個字母、數猜錯次數」的實驗定義了熵的上界估計方法,這篇論文同時預告了預測式壓縮(PPM、算術編碼的上下文模型,5.3 節)與今日語言模型困惑度(perplexity \(= 2^H\) )的框架。
歷史前因後果#
誰、何時、為什麼#
- 1948 Shannon:從 Hartley 的 \(\log M\) (1.2 節)出發,以三公理推出熵,並證明它同時是壓縮極限(信源編碼定理)與容量問題的核心。
- 1948 Wiener:在《Cybernetics》中獨立使用同形式的量(稱 information),但動機是濾波與預測。
- 1957 Khinchin:嚴格公理化(數學家版本),推廣到 \(\alpha\) -階 Renyi 熵的比較。
- 1957 Jaynes:最大熵原理,把熵從描述性工具提升為推論原則。
解決了什麼問題#
熵回答了「一個信源到底含多少資訊」——Morse 的直覺、Hartley 的度量、英文頻率統計,全部收束成一個可計算的數。它給了工程師一個絕對標尺:任何壓縮器的位元率都有一個不可能跨越的地板。
引發什麼新問題#
- 熵是 i.i.d. 或平穩過程的量;非平穩信源(語音的時變特性)怎麼辦?——自適應編碼(5.3 節)。
- 熵度量「無失真」極限;有失真時的極限是什麼?——率失真理論(8.2 節)。
- 條件與互訊息版本?——下一節(3.2、3.3)。
- Kolmogorov 追問:熵依賴機率模型,但「一個字串本身」的資訊量呢?——演算法資訊理論(10.3 節)。
與其他領域的關聯#
凸分析#
熵是凹函數,條件熵、互資訊對輸入分佈的凹性保證了容量問題是凸優化(4.1 節 Blahut–Arimoto 演算法)。凹性/凸性是資訊論證明與演算法的通用工具。
線性代數#
熵上界 \(\log_2 M\) 的證明可用 doubly stochastic 矩陣:任何分佈可由均勻分佈經 doubly stochastic 矩陣 \(B\) 得到 \(p = Bu\) ,而 Birkhoff 定理說此類矩陣是置換矩陣的凸組合;熵的凹性 + 對稱性即給 \(H(p) \le H(u) = \log_2 M\) 。
機器學習#
最大熵分類器(logistic regression 的推導)、決策樹的資訊增益( \(H - H(\text{split})\) )、語言模型的困惑度、變分推論的 ELBO——全是熵的直系後代。
小結與思考題#
熵 \(H(X) = -\sum p \log_2 p\) 由公理唯一決定,是平均自資訊、壓縮下界、不確定性的極值度量、以及統計力學熵的同構兄弟。三個「身份」合而為一,是 Shannon 理論最美的部分。
思考題
- 計算 \(p = (0.5, 0.25, 0.125, 0.125)\) 的熵,並驗證可加性公理(把 \(\{1/8, 1/8\}\) 合成一組)。
- 證明 \(H_2(p) = H_2(1-p)\) ,並求 \(H_2(p) = 0.5\) 的 \(p\) (數值近似,答案約 0.11)。
- 用 Jensen 不等式證明 \(H \le \log_2 |\mathcal{X}|\) ,並指出等號條件。
- 一個信源輸出「永遠是 a」與「0.5/0.5 的 a、b」,熵各為何?哪個壓縮器更難設計?
- Shannon 1951 的猜字母實驗為什麼能給出熵的上界?(提示:猜對次數與自資訊的關係。)
下一節:當我們知道 \(Y\) ,熵會如何改變?——條件熵與鏈法則。
深入探討:熵的計算技術、推廣與極值問題#
一、Faddeev 公理化與唯一性證明的完整思路#
3.1 節引用了 Khinchin/Faddeev 公理,這裡給出唯一性證明的完整路線圖(證明細節可作為讀者的研習題):
Faddeev 公理( \(H(p_1, \dots, p_M)\) ):
- 連續性:對每個 \(p_i\) 連續。
- 對稱性:與順序無關。
- 分支性(grouping):3.1 節的公式。
- 標準化: \(H(1-p, p)\) 是 \(p\) 的嚴格增函數( \(p \in (0, \frac12]\) )。
證明路線:
- 由分支性推 \(H(1/2, 1/2, \dots)\) 型分佈的值:把 \(2^k\) 個等可能結果逐次二分,得 \(H(2^{-k}, \dots) = k H(1/2)\) 。
- 對一般有理機率 \(p_i = a_i/n\) :構造 \(n\) 個結果的實驗,把結果按組歸併,用分支性反覆拆分,證 \(H = \log n - \sum p_i \log a_i\) 型表達式。
- 由連續性延拓到無理機率,係數由標準化定為 \(-1/\log 2\) 。
教學價值:這個證明展示「可加性公理如何強迫對數出現」的機制,與 2.2 節自資訊的可加性公理互為表裡:單事件的資訊與信源的熵,由同一條可加性公理鎖定為對數形式。
二、Renyi 熵家族:熵的推廣光譜#
Shannon 熵只是一個家族的成員。 \(\alpha\) 階 Rényi 熵(1961):
特殊成員與用途:
| \(\alpha\) | 名稱 | 用途 |
|---|---|---|
| \(0\) | Hartley 熵 \(\log_2 \|\text{支集}\|\) | 支集大小 |
| \(1\) | Shannon 熵(極限 \(\alpha \to 1\) ) | 壓縮極限 |
| \(2\) | 碰撞熵 \(-\log_2 \sum p^2\) | 密碼學猜中機率、Goppa 碼 |
| \(\infty\) | 最小熵 \(-\log_2 p_{\max}\) | 最壞情況保密、抽取器 |
性質: \(H_\alpha\) 對 \(\alpha\) 單調不增,故 \(H_{\min} \le H_2 \le H_{\text{Shannon}} \le H_{\max}\) 。應用:密碼學的隨機性提取(9.3 節 QKD 後處理)以最小熵為安全度量(攻擊者只能保證猜中一次的機率上界);統計檢定以 Rényi 熵給錯誤指數(3.3 節 Chernoff 資訊)。Shannon 熵管平均性能,Renyi 熵管極端事件——這個分工在 4.3 節錯誤指數中具體化。
三、熵的極值問題三連解#
極值問題是熵理論的練習場,也是最大熵原理的實戰。三個經典題(約束下最大化 \(H\) ):
題 1:無約束 → 均勻分佈, \(H = \log_2 M\) (Jensen,3.1 節)。
題 2:給定期望 \(E[X] = \mu\) ( \(X\) 為正實數的連續分佈)→ 指數分佈 \(f(x) = \frac{1}{\mu}e^{-x/\mu}\) 。變分法解:拉格朗日函數 \(\int f(\mu + \lambda + \ln f) dx\) ,駐點條件 \(\ln f = \text{const} - x/\mu\) 。
題 3:給定 \(E[X] = \mu\) 、 \(E[X^2] = \sigma^2 + \mu^2\) → 高斯 \(N(\mu, \sigma^2)\) 。這就是 4.2 節容量公式中「最佳輸入是高斯」的根據。
對偶視角(統計力學):每個極值分佈對應一個統計力學系綜——均勻=微觀等機率、指數=正則系綜(能量約束)、高斯=巨正則系綜(能量與粒子數約束)。拉格朗日乘數 \(\beta\) 就是溫度的倒數。資訊理論的最大熵原理與統計力學的分佈推導是同一套變分計算(Jaynes 1957 的宣言)。
四、熵的計算技巧合集#
技巧 1:鏈式分解。 \(H(X,Y) = H(X) + H(Y|X)\) ;對條件機率有「2 的冪」結構時立即可算。
技巧 2:bits 與 nats 的混合運算。含 \(e\) 指數的分佈(幾何、Poisson)用 nats 算再換算: \(H_{\text{bits}} = H_{\text{nat}} / \ln 2\) 。
技巧 3:二進位展開法。 \(p = \{1/2, 1/4, 1/8, 1/8\}\) 型分佈(dyadic),熵 = \(\sum p_i \cdot (\text{碼長})\) 直接讀出(3.1 節例題)。
技巧 4:熵的近似。小機率尾部的貢獻: \(-p\log_2 p\) ,當 \(p = 10^{-6}\) 時貢獻約 \(0.02\) bits——尾部機率對熵的貢獻遠小於其自資訊(因為乘了 \(p\) )。這解釋了為什麼重尾分佈的熵可以不大,而其典型集行為仍由主體機率決定。
五、英文熵的多層估計:完整數據表#
3.1 節引用了 Shannon 1951 的猜字實驗,這裡給出完整的層級數據(整合各文獻的典型值),作為「模型越細、熵越低」的主線數據:
| 模型 | 熵(bits/字母) | 估計方法 |
|---|---|---|
| 等可能 27 符號 | 4.75 | Hartley 上限 |
| 一階頻率(i.i.d.) | 4.14 | 字母統計 |
| 一階馬可夫 | 3.56 | 雙字母組轉移 |
| 二階馬可夫 | 3.30 | 三字母組 |
| 三階以上 | 2.8–3.0 | 更高組統計 |
| 詞級(1.2 萬詞彙) | 約 2.2 | 詞頻 |
| 人類猜字(Shannon 1951) | 1.3–1.5 | 序貫猜錯次數法 |
| 現代語言模型(GPT 級) | 約 1.05–1.2 | 大語料交叉熵 |
兩個教學點:
- 熵的估計隨模型細化單調下降(更多約束 = 更可預測),但估計誤差隨模型維度上升( \(n\) 階模型有 \(27^{n}\) 個條件分佈要估)——這是 2.1 節 MDL 取捨的數據版。
- Shannon 的猜字實驗(1951)用人類當模型,給出的 1.3 bits 在七十多年後才被神經語言模型逼近——這是「熵作為預測任務的下界」的歷史性驗證,也直接預告了 10.3 節「壓縮即智慧」的評測哲學(困惑度)。
六、熱力學第二定律的資訊表述#
3.1 節末提到 Landauer 原理,這裡把資訊與物理的接口講清楚:
Landauer 原理(1961):在溫度 \(T\) 的環境中擦除一個位元(把隨機狀態變為確定狀態,即熵減 1 bit),環境至少增加 \(k_B T \ln 2\) 的熱熵:
意義:
- 資訊是物理的:擦除不可逆,必伴隨熱耗散——第二定律對資訊處理的約束。
- 邏輯門的分類:AND/OR 丟資訊(有 Landauer 成本),XOR/NOT 可逆(理論上零成本)——可逆計算(Toffoli 閘、量子計算)由此而生。
- Maxwell 惡魔的終結:惡魔「知道」分子狀態需要記憶,記憶擦除付 Landauer 稅——第二定律獲救(Bennett 1982 的解決)。
- 與 Shannon 的對帳: \(k_B T \ln 2\) J/bit 的物理成本 vs \(-\log_2 p\) bit 的數學度量,在 2020 年代的全同態加密與低功耗 AI 晶片能耗核算中成為實際工程參數。
七、補充思考題#
- 用 Rényi 熵計算 \(p = \{0.5, 0.25, 0.25\}\) 的 \(H_0, H_2, H_\infty\) ,驗證單調鏈。
- 證明幾何分佈 \(p(k) = (1-q)q^{k-1}\) 是「給定均值下熵最大的正整數分佈」,並算其熵率。
- 對第五節表格:為什麼從「詞級 2.2」到「人類 1.3」還有 0.9 bits 的差距?人類用了哪些詞級統計之外的結構(語法、語義、常識)?這個差距是 10.3 節語義通訊的度量對象。
- Landauer 極限下,擦除 1 GB 資料的理論最小能耗是多少?( \(2^{33}\) bits × \(kT\ln 2\) ,約 \(2.5 \times 10^{-8}\) J——與實際晶片的 \(10^{-4}\) J 相差七個數量級,可逆計算的誘惑與難度都在這裡。)