什麼是夏農熵?
夏農熵(Shannon Entropy)用來衡量一個機率分布中所含的平均不確定性,也就是資訊量。這個概念由克勞德·夏農(Claude Shannon)於 1948 年提出,是資訊理論的基石,廣泛應用於資料壓縮、密碼學、機器學習與統計分析。當某個結果必然發生時,熵為零;而當許多結果出現的機率完全相同(均勻分布)時,熵則達到最大值。
如何使用這個計算器
請以逗號分隔的方式輸入每個結果的機率,例如 0.5, 0.25, 0.25。接著選擇對數的底數:以 2 為底會得到位元(bits)、以 e 為底會得到奈特(nats),以 10 為底則會得到迪特(dits,又稱哈特利 hartleys)。如果你輸入的機率總和不剛好等於 1,計算器會自動將每個值除以總和來進行正規化。數值為零或負數的項目會被忽略。
公式說明
熵的計算公式為 $$H = -\sum_{i} p_i \, \log_{b} p_i$$ 每個機率貢獻的數值為 \(-p_i \cdot \log_{b}(p_i)\);將這些項加總後取負號,便能得到一個非負的結果。對於 \(n\) 個結果而言,最大熵為 \(\log_{b}(n)\),並在所有結果出現機率相等時達到此值。效率則是以百分比表示你的熵佔最大熵的比例。
實例演算
假設機率為 0.5、0.25、0.25,並以位元為單位。各項分別為 \(-0.5 \cdot \log_{2}(0.5) = 0.5\)、\(-0.25 \cdot \log_{2}(0.25) = 0.5\),以及同樣的 \(0.5\)。三者相加得 $$H = 1.5 \text{ 位元}$$ 3 個結果的最大熵為 \(\log_{2}(3) \approx 1.585\) 位元,因此效率約為 94.64%。
常見問題
為什麼確定發生的事件熵為零?如果某個結果的機率為 1,就完全沒有不確定性,因此當它發生時並不會帶來任何新的資訊。
位元(bits)和奈特(nats)有什麼差別?它們只是由不同對數底數所決定的單位而已。1 奈特 ≈ 1.4427 位元。
機率一定要加總為 1 嗎?理論上是的,但如果沒有,本工具會自動為你進行正規化。