香农熵

2025年3月17日 | 阅读 8 分钟

香农熵是一个关键概念,它揭示了信息在数据压缩、加密和通信网络等各种领域中传输和处理的基本规律。香农熵以著名数学家和电气工程师克劳德·香农的名字命名,它深刻地理解了特定数据或信息中存在的不确定性或不可预测性。

克劳德·香农在 1948 年发表的《通信的数学理论》中确立了熵的概念。在这项开创性的研究中,香农试图提供一个数学框架,使人们能够评估通信网络的容量和效率,而与所承载的数据类型无关。香农受到热力学领域(其中熵量化了物理系统的无序性或不可预测性)的启发,将这一思想引入信息论研究。

香农熵公式

从根本上说,香农熵计算了与随机变量结果相关的平均惊奇或不确定性水平。形式上,给定具有概率分布 P(X) 的离散随机变量 X,香农熵 H(X) 定义如下

Shannon Entropy

结果的信息内容通过其负对数以 2 为底来衡量,此公式计算随机变量每个潜在结果的信息值的加权平均值。由于它们不那么令人惊讶或不可预测,因此概率更大的事件对总熵的贡献似乎更少。

代码

现在我们将尝试计算香农熵并对其进行一些测试。

导入库

现在我们将创建一个函数,它根据节点中样本的类别分布有效地计算决策树中节点的熵,从而衡量类别分布的纯度或随机性。

输出

0

现在我们将创建一个函数,它根据指定特征的值有效地分割给定节点的数据集,从而确定哪些样本属于分割的左右分支。

输出: 香农熵

输出

Shannon Entropy

输出

Shannon Entropy

输出

Shannon Entropy

看来它通过了所有需要测试的测试用例。