熵 是什麼?

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(判斷題): 如果某個特徵的熵很低,是不是一定最適合拿來做分類?

→ 不一定,還要看它能不能把目標變數切開。熵低只代表這個特徵本身較集中,真正有沒有用要看資訊增益和任務目標。

相關術語

常見問題

熵的值越高代表什麼?

代表不確定性越大,也就是結果越難預測。

熵在決策樹中如何應用?

決策樹會比較不同切分點的熵,挑能讓資料更純、資訊增益更大的分裂方式。

交叉熵與熵有什麼關係?

交叉熵可以看成是拿模型預測的分佈去量真實分佈的成本,熵則只看真實分佈本身有多亂。