讀完這份教材,你應該能夠:
- 寫出熵的定義與公式,並解釋每一項代表什麼。
- 區分「單一事件資訊量」與「整體熵」的不同。
- 用直覺判斷哪一種機率分布的熵比較高。
- 在已知條件變項時,計算條件熵與互資訊。
熵是用來衡量一個隨機變數的平均不確定性。
直覺上:
- 結果越難預測 → 熵越高
- 結果越容易預測 → 熵越低
它衡量的不是「某一次發生了什麼」,而是「在你還不知道結果前,你平均要花多少資訊量才能確定它」。
對一個離散隨機變數
單位為 bit(使用
| 層次 | 數學部分 | 意義 |
|---|---|---|
| 單一事件資訊量 | 事件 |
|
| 加權 | 用事件機率對驚訝程度加權 | |
| 整體熵 | 對所有可能事件取期望值 |
重點提醒:熵不是單一事件的稀有性,而是整個分布的平均不確定性。
網路上常看到這種留言:
「這事件資訊量太大,我需要時間消化。」
通常出現在什麼時候?某個藝人突然爆出驚人新聞、某個政治人物做出沒人預料到的舉動、或某個朋友傳來一張完全無法解釋的照片。
這裡的「資訊量大」其實就是離奇程度高、意外程度高的同義詞。網民不是在說「這則訊息檔案很大」,而是在說:
「這件事太出乎意料,違反我原本對世界的預期,我大腦要重新計算的東西太多了。」
這個日常用法,剛好就是資訊理論裡「資訊量」的核心直覺:
- 越意料之外的事件 → 資訊量越大
- 越在意料之中的事件 → 資訊量越小
如果有人告訴你「太陽今天從東邊升起」,你會說「廢話」——這就是 0 bit 的資訊量。 如果有人告訴你「某位名模突然嫁給了平常不怎麼打扮的搞笑藝人」,你會說「資訊量太大」——這就是高 bit 的資訊量(當然這只是一種主觀的價值判斷,請你當成一種簡單理解資訊量的說法)。
「離奇程度」這個直覺,可以一路用到正式公式上。我們要做的,只是把「離奇程度」用數學寫下來。
我們希望「資訊量」滿足三個條件:
- 越罕見的事件,資訊量越大:$p$ 越小,資訊量越大 → 需要遞減函數。
- 必然事件沒有資訊量:$p = 1$ 時,資訊量為 0。
- 獨立事件可加性:兩個獨立事件同時發生的資訊量 = 各自資訊量相加。
滿足這三點的函數就是
-
$p$ 小 →$-\log p$ 大 ✓ -
$p = 1$ →$-\log 1 = 0$ ✓ - 獨立事件
$p(A,B) = p(A)p(B)$ ,取 log 後變相加 ✓
設想四個不同罕見程度的事件,計算其資訊量
| 事件 | 資訊量 | ||
|---|---|---|---|
| 擲硬幣得到正面 | 1 bit | ||
| 擲骰子得到 6 | ≈ 2.585 bits | ||
| 抽中一張特定撲克牌 | ≈ 5.700 bits | ||
| 樂透中頭獎(百萬分之一) | ≈ 19.93 bits |
可以清楚看到:事件越罕見,資訊量越大。中樂透頭獎帶來的「驚訝」遠比擲硬幣得到正面多。
明天太陽會升起,$p = 1$:
聽到這個消息你毫無驚訝——因為它本來就會發生,提供 0 bit 的資訊。
連續擲兩次硬幣,兩次都得到正面。
方法 A:把「兩次都正面」當成一個事件 $$ p(\text{兩次正面}) = \frac{1}{2} \times \frac{1}{2} = \frac{1}{4} $$ $$ I = -\log_2 \frac{1}{4} = 2 \text{ bits} $$
方法 B:分別計算後相加 $$ I(\text{第一次正面}) + I(\text{第二次正面}) = 1 + 1 = 2 \text{ bits} $$
兩種算法結果相同 ✓。這正是為什麼用 log——它能把「機率相乘」轉換成「資訊量相加」,符合我們對「兩次獨立消息」的直覺:聽到兩個獨立消息所獲得的資訊,就是兩個消息各自資訊量的總和。
用 2 為底時,單位是 bit,恰好對應「一個是非題能提供多少資訊」:
- 擲硬幣(1 bit):一個是非題(「是正面嗎?」)就能確定結果。
- 擲骰子(≈ 2.585 bits):需要約 2.585 個是非題才能確定(實際操作會用 3 個)。
- 抽撲克牌(≈ 5.700 bits):大約 6 個是非題(「是紅色嗎?」「是愛心嗎?」⋯)能定位到一張牌。
換底時資訊量會等比例縮放(用
設隨機變數
-
下雨那天的資訊量: $$ -\log_2 \frac{1}{365} = \log_2 365 \approx 8.51 \text{ bits} $$ 非常意外,資訊量很高。
-
不下雨那天的資訊量: $$ -\log_2 \frac{364}{365} \approx 0.00396 \text{ bits} $$ 幾乎不意外,資訊量極低。
解讀:雖然「下雨」這個事件本身的資訊量高達 8.51 bits,但因為它太罕見,整體分布的平均不確定性反而很低(≈ 0.027 bits)。沙漠天氣很好預測——猜「不下雨」幾乎一定對。
這正是學生最常誤解的地方:熵 ≠ 稀有性。罕見事件的單一資訊量高,不代表整體熵高。
解讀:兩種結果一樣可能,最難猜——猜哪一邊都只有一半機率對。對於二元變數,這就是最大熵。
對二元變數而言:
| 分布 | |
|---|---|
| (1, 0) 或 (0, 1) | 0 bit(完全確定) |
| (0.99, 0.01) | 0.0808 bit |
| (0.9, 0.1) | 0.469 bit |
| (0.7, 0.3) | 0.881 bit |
| (0.5, 0.5) | 1 bit(最大) |
結論:分布越平均,熵越高;分布越集中,熵越低。
現在加入新變項
設想以下情境:
$p(T = \text{上半年}) = p(T = \text{下半年}) = \frac{1}{2}$ - 上半年下雨的條件機率:$p(X = \text{下雨} \mid T = \text{上半年}) = 0.9$
- 下半年下雨的條件機率:$p(X = \text{下雨} \mid T = \text{下半年}) = 0.1$
不知道時間時,天氣完全不可預測。
條件熵公式:
先算每個條件下的熵:
-
$H(X \mid T = \text{上半年})$ ($p = 0.9, 0.1$):
-
$H(X \mid T = \text{下半年})$ ($p = 0.1, 0.9$):
對稱,結果一樣
再加權:
| 量 | 數值 | 意義 |
|---|---|---|
| 1 bit | 不知道時間時,天氣的平均不確定性 | |
| 0.469 bit | 知道時間後,天氣還剩下多少不確定性 | |
| 0.531 bit | 「時間」這個資訊讓我們對天氣的不確定性下降了多少 |
把這些概念串成一句話:
不確定性不是固定的,而是取決於你掌握了哪些資訊。
-
$H(X)$ :原本對$X$ 有多不確定。 -
$H(X \mid T)$ :知道$T$ 後,對$X$ 還剩多少不確定。 -
$I(X; T)$ :$T$ 幫我們減少了多少對$X$ 的不確定性。
| 常見誤解 | 正確理解 |
|---|---|
| 「熵 = 稀有性」 | 熵是整個分布的平均不確定性,不是單一事件 |
| 「網民說的『資訊量大』= 熵很高」 | 網民說的是單一事件的離奇程度($-\log p$),不是整個分布的熵。一個罕見事件的單一資訊量可以很大,但整體熵可能很低(沙漠下雨就是例子) |
| 「分布越極端熵越高」 | 相反:分布越平均熵越高 |
| 「加上條件會增加資訊量,所以條件會增加熵」 | 條件變項若與目標變項有關,會降低剩餘不確定性(即 |
| 「互資訊就是相關係數」 | 互資訊衡量的是「降低多少不確定性」,可捕捉非線性關係,且永遠 |
穩定的表述方式:
條件變項若與目標變項有關,就會提供資訊,使目標變項的剩餘不確定性下降。下降的量就是互資訊。
-
熵衡量分布的平均不確定性,公式為
$H(X) = -\sum p(x) \log_2 p(x)$ 。 -
單一事件資訊量
$-\log_2 p(x)$ 與整體熵不同——前者看一次事件,後者看整個分布。 - 均勻分布熵最高;機率越集中於某一個結果,熵越低。
-
條件熵
$H(X \mid T)$ 表示已知$T$ 後$X$ 的剩餘不確定性。 -
互資訊
$I(X; T) = H(X) - H(X \mid T)$ 表示$T$ 為$X$ 提供了多少資訊。