← 回機率統計專區

Chapter 3 · 模擬與資訊

🔥 熵與 KL 散度

資訊論的兩個基本量。熵衡量「一個分布的不確定性」、KL 衡量「兩個分布有多不同」。動手把兩個分布拉成各種樣子,看數字怎麼跑。

p — 真實分布 q — 你用的近似
🎴 預設組合
🧮 即時統計(bits)

提示: KL 不是對稱的!把 q 拉到某個 p_i = 0 的位置 — KL(p||q) 不會爆,但 KL(q||p) 會。所以說「q 不能漏 p 有的地方」。

📖 三個量,一個故事

🔵 熵 H(p) — 「平均驚訝度」

對每個結果,「驚訝度」定義為 。機率越小、看到時越驚訝(罕見事件帶來大資訊)。熵就是這個驚訝度的期望值:

  • 均勻分布 → H 最大(K 個結果時 H = log₂ K)
  • 集中分布 → H 接近 0(沒什麼好驚訝的)
  • 單位是 bits — 表示「要用幾個是非問題才能識別結果」

🔴 交叉熵 H(p, q) — 「用 q 預測的平均驚訝度」

如果真實分布是 p、但你按 q 的機率去編碼,那每個事件的平均碼長是:

當 q = p, — 用對的分布、平均長度最短。當 q ≠ p、總是要付出代價。

這就是分類任務的 cross-entropy loss:神經網路輸出 q,標籤是 one-hot 的 p,loss = H(p, q)。最小化 cross-entropy = MLE = 讓 q 盡量像 p。

🟣 KL 散度 — 「多付的那部分」

把交叉熵減去真正的熵,剩下的就是「因為用了錯誤分布而多付的 bits」:

性質:總是 ≥ 0,且 = 0 當且僅當 p = q。是「分布之間的距離」(雖然不對稱、不滿足三角不等式 — 嚴格說是 divergence 不是 distance)。

🎮 動手試試

  1. 兩個都均勻 — H(p) = H(q) = log₂(5) ≈ 2.32 bits、KL = 0。
  2. 把 p 的第一根拉到 0.8,q 維持均勻。看 H(p) 大幅下降(更確定),KL(p||q) 上升(你用「均勻」描述一個其實很集中的東西,要多付 bits)。
  3. 不對稱性:保持 p 集中在 bin 1,把 q 拉到集中在 bin 5。KL(p||q) 跟 KL(q||p) 都會很大、但數值不一樣
  4. 關鍵直覺:把 q 的某根(比如 q[1])幾乎拉到 0,但 p[1] 仍然不小。KL(p||q) 會爆(用一個「不可能」的分布去解釋一個確實有的事件)。

🚀 為什麼這頁是 ML 的核心

  • 分類 loss — softmax + cross-entropy 直接最小化
  • VAE / Diffusion — ELBO 裡的 KL term 控制 latent 分布接近先驗的程度
  • 知識蒸餾 — student 學 teacher 的分布,用 KL 當 loss
  • policy gradient (RL) — PPO 的 KL constraint 防止新舊策略偏太遠
  • 語言模型 — perplexity = 2^(cross-entropy),是 H(p, q) 的指數

📚 接下來

這頁是這個專區的最後一頁。如果你還想繼續往下,方向:

  • 假設檢定、信賴區間 — LLN/CLT 的工程應用
  • Bayesian inference at scale — Stan、PyMC、variational inference
  • 資訊幾何 — KL 散度 + Fisher information 的微分幾何視角
  • 凸最佳化 — MLE 求解的演算法面(梯度下降、Newton、L-BFGS)

留言 0

留言載入中…