通过MCP连接 →

输入计算

输入每种结果的概率(或原始频数/计数)。数值会自动归一化。

数学公式

数学公式: 香农熵计算器

广告

结果

香农熵
1.5
比特
结果数量 3
最大熵(log2 n) 1.585 bits
效率(H / Hmax) 94.64%

什么是香农熵?

香农熵衡量的是一个随机变量平均含有多少不确定性、意外程度或信息量。它由克劳德·香农于 1948 年提出,是信息论的基石。当使用以 2 为底的对数时,香农熵以比特(bit)为单位。1 比特的熵,正好对应抛一枚均匀硬币所带来的不确定性。

三幅不同熵水平的概率分布柱状图
熵在均匀分布时最大,在某一结果占主导时最小。

如何使用本计算器

把每种可能结果的概率用逗号或空格分隔后输入即可(例如 0.5, 0.25, 0.25)。你也可以直接填入原始频数或计数(例如 10, 5, 5)——计算器会用每个数值除以总和,自动把它们归一化为概率。零和负数会被忽略。工具会输出以比特为单位的熵值、理论上的最大熵,以及该分布的效率。

公式详解

熵的计算公式为 $$H = -\sum_{i=1}^{n} p_i \log_2 p_i \qquad p_i = \frac{x_i}{\sum_{j=1}^{n} x_j}$$ 对所有结果 i 求和。其中每一项都用结果出现的频率 \(p_i\),对它所携带的信息量 \(-\log_2 p_i\) 进行加权。越罕见的事件携带的信息越多;而必然发生的事件(\(p_i = 1\))则不携带任何信息。对于 \(n\) 种结果,最大熵为 \(\log_2 n\),仅当所有结果等可能时才能达到。效率则把 \(H\) 表示为这个最大值的百分比。

二元熵随概率变化的曲线,在二分之一处达到峰值
对于两种结果,熵在 \(p = 0.5\) 时达到 1 比特的峰值,在两端降为 0。

实例演算

以分布 {0.5, 0.25, 0.25} 为例。熵为:$$-[0.5\cdot\log_2(0.5) + 0.25\cdot\log_2(0.25) + 0.25\cdot\log_2(0.25)] = -[0.5\cdot(-1) + 0.25\cdot(-2) + 0.25\cdot(-2)] = 0.5 + 0.5 + 0.5 = 1.5 \text{ 比特}$$ 3 种结果的最大熵为 \(\log_2(3) \approx 1.585\) 比特,因此效率约为 94.64%。

常见问题

为什么用比特? 采用以 2 为底的对数,熵就以比特为单位,这是数字信息最自然的计量单位。若改用以 e 为底,得到的单位是“奈特(nat)”;以 10 为底,则是“哈特莱(hartley)”。

我的概率必须加起来等于 1 吗? 不必。计算器会对任意正数自动归一化,所以你可以直接粘贴原始计数。

最大熵是多少? 对于 \(n\) 种等可能的结果,最大熵等于 \(\log_2 n\)。一枚均匀硬币(\(n=2\))的最大熵为 1 比特;一颗均匀骰子(\(n=6\))约为 2.585 比特。

最后更新: