免费香农熵计算器

输入概率计算香农熵

什么是香农熵计算器?

香农熵计算器是一个免费在线信息熵计算器,使用经典香农熵公式计算任何数据集的信息熵。该工具帮助您快速量化随机性和不确定性——无需手动计算。非常适合需要在线计算熵的学生、工程师或任何需要在信息论、统计学或密码学领域进行熵计算的人。

理解信息熵

香农熵,也称香农指数或信息熵,衡量符号序列的不可预测性。在文本字符串中,高熵意味着下一个字符难以预测;如果结果确定,熵降为零。可用的符号越多且分布越均匀,熵值越高。这一概念构成了信息论的基础,定义了编码消息所需的理论最小比特数。

香农熵公式

通用香农熵公式为:

H=−∑i=1np(xi)log⁡bp(xi)H = -\sum_{i=1}^{n} p(x_i) \log_{b} p(x_i)

其中:

  • p(xi)p(x_i) 是第 ii 个符号的概率,
  • bb 是对数底数。

底数的选择决定熵的单位:

  • 底数 2 → 比特(也称为香农)
  • 底数 ee → 纳特
  • 底数 10 → 迪特、贝恩或哈特莱

本计算器默认使用底数2,以比特为单位输出熵。

分步示例

考虑序列 1 0 3 5 8 3 0 7 0 1。每个数字的概率为:

数字计数概率
030.3
120.2
320.2
510.1
710.1
810.1

将这些值代入公式:

H=0.2log⁡2(1/0.2)+0.3log⁡2(1/0.3)+0.2log⁡2(1/0.2)+0.1log⁡2(1/0.1)+0.1log⁡2(1/0.1)+0.1log⁡2(1/0.1)=2.44644 比特\begin{aligned} H &= 0.2 \log_{2}(1/0.2) + 0.3 \log_{2}(1/0.3) + 0.2 \log_{2}(1/0.2) \\ &\quad + 0.1 \log_{2}(1/0.1) + 0.1 \log_{2}(1/0.1) + 0.1 \log_{2}(1/0.1) \\ &= 2.44644 \text{ 比特} \end{aligned}

该序列的熵约为 2.45 比特。也可以将求和写成 −0.2log⁡20.2−0.3log⁡20.3−…-0.2 \log_{2}0.2 - 0.3 \log_{2}0.3 - \dots,结果相同。

解读熵值

系统的香农熵范围为零到 log⁡bn\log_{b} n,其中 nn 是不同符号的数量。当某个符号总是出现时,熵为零。当每个符号等概率出现时,熵达到最大值。在上例中,6个符号(底数2)的最大可能熵为 log⁡26≈2.585\log_{2}6 \approx 2.585,因此 2.446 比特表示中等偏高的随机性。

实际应用

  • 密码强度:密码熵评估密码抵抗暴力破解的能力。它取决于字符数量和字符池大小。熵越高意味着密码越强。
  • 生态学:生态学家使用香农指数衡量物种多样性。更多样化的生态系统——具有许多丰度相似的物种——具有更高的熵。
  • 数据压缩:熵设定了无损压缩的下限。高熵文件相比低熵文件更难压缩。

历史背景

“熵”一词由 Rudolf Clausius 于 1865 年在热力学中引入。Claude Shannon 后来将这一概念应用于通信理论,使用符号 HH(希腊大写字母 eta)表示信息熵。单位“比特”(binary digit)也源自 Shannon 的工作。

如何使用本计算器

使用免费香农熵计算器很简单:输入概率(0 到 1 之间的小数)或每个符号的频率,选择所需的底数,然后点击“计算”。工具立即应用香农公式并显示熵值。无需安装或注册——你可以免费在线计算熵。

常见问题

1. 香农熵计算器使用什么公式?

它使用公式 H = -Σ p(x_i) log_b p(x_i),其中 p(x_i) 是每个符号的概率,b 是对数底数(默认为 2)。

2. 香农熵的单位是什么?

使用底数 2 时,熵以比特(香农)为单位。底数 e 得到纳特,底数 10 得到迪特、贝恩或哈特莱。本计算器默认输出比特。

3. 如何计算我的数据的熵?

你可以输入概率值或每个不同符号的原始频数。计算器会自动将频数归一化为概率并计算熵。

4. 高熵值意味着什么?

高熵表明强随机性:符号大致等频出现,使序列难以预测。低熵意味着某些符号占主导地位,不确定性降低。

5. 香农熵可以为零吗?

是的,当结果完全确定时熵为零——仅有一个符号以概率 1 出现。

使用方法

  1. 使用选择器选择要输入的概率个数。
  2. 输入 0 到 1 之间的概率(小数)。
  3. 查看实时更新的香农熵及分解表。