透過 MCP 連接 →

輸入計算

請輸入每個結果的機率,總和應為 1(若不為 1,計算器會自動正規化)。

數學公式

廣告

結果

夏農熵
1.5
bits
最大熵 1.585 bits
效率(正規化) 94.64 %
結果數量 3
機率總和 1

什麼是夏農熵?

夏農熵(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)\),並在所有結果出現機率相等時達到此值。效率則是以百分比表示你的熵佔最大熵的比例。

Advertisement
二元熵函數曲線,在機率為二分之一時達到峰值
對於兩種結果的事件,熵在 \(p = 0.5\) 時達到最大(1 位元),在 \(p = 0\) 或 \(1\) 時為零。

實例演算

假設機率為 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 嗎?理論上是的,但如果沒有,本工具會自動為你進行正規化。

最後更新: