熵 是什麼?
Entropy:熵 的完整解釋
熵是資訊理論中衡量隨機變數不確定性的指標,數值越高代表不確定性越大。在機器學習中,熵常用於特徵選擇和決策樹構建。
容易混淆
熵 vs 機率 機率是在說某件事會不會發生,熵是在說整體有多難猜。
熵 vs 交叉熵損失 熵量化的是資料本身的不確定性,交叉熵損失量化的是模型預測和真實分佈差多少。
熵 vs 資訊增益 熵看原始不確定性,資訊增益看用了某個特徵後,不確定性少了多少。
最關鍵的區別: 熵是「亂不亂」,資訊增益是「切完之後有沒有變得更清楚」。
記住這句就好
越難猜,熵越高。
實際案例
案例一:天氣預報 如果明天到底下不下雨只有兩種可能,而且機率差不多,熵就比「幾乎一定晴天」高,因為你更難猜。
案例二:決策樹切分 用年齡、收入或地區去分客戶時,模型會挑能讓節點更純的特徵,因為熵下降代表分類更清楚。
算法與應用
二元熵常寫成
H(X) = -p log p - (1-p) log(1-p),多類別則是把每個類別的機率都加進去。決策樹會找讓熵下降最多的切分點,因為那代表資料被切得更整齊。資訊壓縮、語言模型和困惑度分析,也常借用熵的概念來描述不確定性。
公式與計算
熵衡量一個機率分布有多不確定:
H(X) = − Σ p(x) × log₂ p(x)用以 2 為底的對數時,單位是位元(bit),可以直接解讀成「平均要問幾個是非題才能猜到答案」。
實際算三種情況:
| 情況 | 機率分布 | 熵 | 解讀 |
|---|---|---|---|
| 公平硬幣 | 0.5 / 0.5 | 1.0 bit | 最不確定,非問一題不可 |
| 偏心硬幣 | 0.9 / 0.1 | 約 0.47 bit | 大致猜得到,資訊量少 |
| 灌鉛硬幣 | 1.0 / 0.0 | 0 bit | 完全確定,問了也是白問 |
規律是:分布越平均,熵越大;越集中在少數結果,熵越小;完全確定時熵為 0。
熵也是無損壓縮的理論下限。一個訊息源的熵是 0.47 bit,代表平均每個符號最少要 0.47 bit 才能無損表示,壓不過這條線。
熵在機器學習裡怎麼用
交叉熵(cross-entropy)當損失函數。 分類模型幾乎都用它。它衡量的是「模型預測的分布」與「真實分布」差多遠,模型越有把握而且猜對,損失越小;越有把握卻猜錯,損失會急遽變大。softmax 加交叉熵是分類任務的標準組合。
資訊增益(information gain)用來切決策樹。 決策樹每次挑切分條件,就是挑「切完之後熵下降最多」的那一個。熵下降最多代表這一刀把混在一起的類別分得最乾淨。
KL 散度(KL divergence)衡量兩個分布的差距。 它等於交叉熵減掉真實分布本身的熵。變分自編碼器、知識蒸餾、強化學習的策略約束都會用到。
三者其實是同一套東西的不同用法:都是在問「知道了這件事之後,不確定性少了多少」。
情境判斷
Q1(直覺題): 兩個班級,一個成績幾乎都集中在 80 分,另一個從 0 分到 100 分都很平均,哪個熵比較高?
→ 後者比較高,因為分布越平均、越難猜,熵就越高。
Q2(判斷題): 如果某個特徵的熵很低,是不是一定最適合拿來做分類?
→ 不一定,還要看它能不能把目標變數切開。熵低只代表這個特徵本身較集中,真正有沒有用要看資訊增益和任務目標。
相關術語
常見問題
熵的值越高代表什麼?
代表不確定性越大,也就是結果越難預測。
熵在決策樹中如何應用?
決策樹會比較不同切分點的熵,挑能讓資料更純、資訊增益更大的分裂方式。
交叉熵與熵有什麼關係?
交叉熵可以看成是拿模型預測的分佈去量真實分佈的成本,熵則只看真實分佈本身有多亂。