熵(Entropy)

熵是資訊理論中衡量隨機變數不確定性的指標,數值越高代表不確定性越大。在機器學習中,熵常用於特徵選擇和決策樹構建。

完整說明

核心概念

熵 (Entropy) 是資訊理論中的一個核心概念,用於量化隨機變數的不確定性或資訊含量。更具體地說,熵衡量的是描述一個隨機變數的狀態所需的平均位元數。一個高熵的隨機變數意味著它有很多可能的狀態,並且很難預測它的具體狀態。相反,一個低熵的隨機變數意味著它只有少數可能的狀態,並且很容易預測。

  • 熵的數學定義: 對於一個離散隨機變數 X,其熵 H(X) 定義為:

    H(X) = - Σ p(x) log₂ p(x)

    其中,p(x) 是 X 取值為 x 的機率,Σ 表示對 X 的所有可能取值求和。log₂ 表示以 2 為底的對數,因此熵的單位是位元 (bits)。

  • 熵的性質:

    • 熵是非負的:H(X) ≥ 0
    • 當且僅當 X 的所有取值都以機率 0 或 1 出現時,熵為 0,表示完全確定。
    • 當 X 的所有取值都以相同的機率出現時,熵達到最大值,表示完全不確定。

運作原理

熵的計算基於機率分布。對於一個給定的隨機變數,首先需要確定其所有可能的取值以及每個取值的機率。然後,根據熵的數學定義,計算每個取值的資訊量(-log₂ p(x)),並將其乘以該取值的機率,最後對所有取值的資訊量求和。這個總和就是該隨機變數的熵。

例如,考慮一個公平的硬幣拋擲。硬幣有兩個可能的結果:正面 (H) 和反面 (T),每個結果的機率都是 0.5。因此,硬幣拋擲的熵為:

H(硬幣) = - (0.5 * log₂ 0.5 + 0.5 * log₂ 0.5) = 1 位元

這意味著描述硬幣拋擲的結果平均需要 1 位元的信息。

實際應用

熵在許多領域都有廣泛的應用,尤其是在機器學習和資訊理論中:

  • 特徵選擇 (Feature Selection): 在機器學習中,熵可以用於評估特徵的重要性。通過計算每個特徵的資訊增益(Information Gain),可以選擇那些能夠最大程度地減少目標變數不確定性的特徵。資訊增益定義為目標變數的熵與條件熵之差,條件熵表示在已知某個特徵的取值的情況下,目標變數的不確定性。

  • 決策樹 (Decision Tree): 決策樹是一種常用的分類和回歸演算法。在構建決策樹時,需要選擇最佳的特徵來分割資料。熵被用於評估每個特徵的分割效果,選擇能夠最大程度地降低資料集熵的特徵作為分割節點。

  • 資料壓縮 (Data Compression): 熵是資料壓縮的理論基礎。香農編碼定理指出,對於一個給定的信源,存在一種編碼方式,使得編碼後的平均碼長接近於信源的熵。因此,熵可以用於評估資料壓縮的潛力。

  • 模型評估 (Model Evaluation): 在機器學習中,交叉熵 (Cross-Entropy) 常用作損失函數,用於衡量模型預測結果與真實標籤之間的差異。交叉熵是基於熵的概念,用於量化兩個機率分布之間的差異。

  • 異常偵測 (Anomaly Detection): 熵可以用於偵測異常事件。例如,在網路安全中,可以通過監控網路流量的熵來偵測異常流量模式。如果網路流量的熵突然增加,可能表示存在惡意活動。

常見誤區

  • 熵等同於混亂度: 雖然熵可以被理解為不確定性或隨機性,但它並非簡單的混亂度。熵是一個精確的數學概念,用於量化資訊的含量。例如,一個完全隨機的事件序列具有高熵,但一個高度結構化的序列也可能具有高熵,如果其結構不易被預測。

  • 高熵總是壞事: 在某些情況下,高熵可能是不利的,例如在資料壓縮中,高熵意味著更難以壓縮。然而,在其他情況下,高熵可能是有利的,例如在密碼學中,高熵的密鑰更難以破解。

  • 熵只適用於離散變數: 雖然熵最初是為離散變數定義的,但它也可以推廣到連續變數。對於連續變數,可以使用微分熵 (Differential Entropy) 來衡量其不確定性。

  • 熵是主觀的: 熵的計算基於機率分布,而機率分布可以是主觀的。因此,熵的數值也可能受到主觀因素的影響。然而,在許多情況下,機率分布是基於客觀數據估計的,因此熵可以被認為是一個客觀的指標。

相關術語

常見問題

延伸學習

深入了解 熵 的完整運作原理

延伸學習

想看 熵 的完整影片教學?前往 美第奇 AI 學院