来源:市场资讯

(来源:图灵人工智能)

一枚硬币抛向空中,落下前,你对结果有多确定?公平硬币有正反两个面,各50%概率。

如果这是一枚特殊硬币——两面都是正面,你对结果还会不确定吗?

这个简单的实验揭示了:信息本质上是消除不确定性的东西。你越不确定一件事,得知真相时获得的信息量就越大。

1948年,一位名叫克劳德·香农(Claude Shannon)的数学家在一篇名为《通信的数学理论》的论文中,首次提出了“信息熵”的概念,为量化信息开辟了全新维度。

文章速览

ARITCLE CONTENTS

PART .01 >>>

信息熵公式

PART .02 >>>

二元熵函数

PART .03 >>>

决策树中的信息

01

信息熵公式

信息与概率的反比关系

什么是信息?一个必然发生的事件——比如“明天太阳会升起”——几乎不携带任何信息,因为它没有消除任何不确定性。

相反,一个小概率事件——比如“你中了彩票”——会带来巨大的信息冲击,因为它极大地改变了你的认知状态。

Shannon从这个直觉出发,将信息定义为惊奇程度的度量。事件发生的概率越低,其发生时携带的信息量就越大。

数学上,我们需要一个函数,它随着事件概率 的增大而减小,并且对于独立事件具有可加性。

Shannon发现,对数函数完美满足这些要求。他将单个结果的信息量定义为:

为什么用对数?因为对数具有神奇的可加性。

想象抛两枚独立的均匀硬币,第一枚正面且第二枚反面的联合概率是 ,我们从观察这个联合结果中获得的信息,应该是从每次单独抛掷中获得的信息之和:。

这种可加性是我们思考如何组合知识的基础。

Study Time

单个结果的信息量固然重要,但我们通常关心的是整个系统的平均不确定性。

这就引出了香农熵(Shannon Entropy)的定义——对每个可能结果的信息量按其发生概率进行加权平均:

其中, 是一个随机变量,可能取 个值,每个值的概率为 ,满足 。当我们使用以 2 为底的对数时,熵的单位是比特(bits);使用自然对数时,单位是奈特(nats)。

这个简洁的公式量化了系统固有的总不确定性。一个比特,正是我们在等待一次均匀硬币抛掷结果时所面临的不确定性大小。

02

二元熵函数

从抛硬币理解熵的形态

让我们用最简单的二元情况来感受熵的行为。对于只有两个结果的事件(如抛硬币),设“成功”概率为 ,则“失败”概率为 。

代入公式得到二元熵函数:

分析这个函数:当 或 时,结果完全确定,没有不确定性,熵为0。

当 时,你几乎可以肯定结果是正面,不确定性很低, 是一个接近0的小数。

当 时,正面反面等可能,你没有任何理性依据去偏好任何一种结果,不确定性达到最大。计算可得:

比特

这就是信息的基本单位——一比特,它是一个完全均衡的二元选择中所固有的不确定性。

熵的基本性质

香农熵具有几个关键性质,使其成为度量不确定性的理想工具:

1. 非负性:,等号成立当且仅当 是确定性的。

2. 最大熵原理:对于给定取值个数的随机变量,当所有结果等可能(均匀分布)时,熵达到最大值 。

这代表着最大无知状态——没有任何偏见或假设,对结果完全开放心态。

3. 信息减少熵:获取关于系统的新信息总会导致熵的减少。

例如,从52张扑克牌中抽一张,初始熵为 。得知“这是一张黑桃”后,可能性空间缩小到13张牌,新熵为 。

你获得的信息量就是不确定性的减少量: 比特。

4. 可加性:对于独立信源,联合熵等于各自熵之和:。这使得我们可以将复杂系统分解为独立部分进行分析。

5. 对称性:熵只关心概率值的集合,与具体事件的标签无关。概率分布 和 具有相同的熵。

熵的物理意义

此时,细心的读者可能已经发现,香农熵 与统计力学中的吉布斯熵(Gibbs entropy)公式惊人地相似:

其中 是玻尔兹曼常数。这仅仅是数学上的巧合吗?完全不是。这是整个科学领域中最深刻的统一之一:信息熵与热力学熵本质上是同一概念。

它们的关系通过常数相互转换:。玻尔兹曼常数 是抽象信息与物理现实之间的转换因子,它精确地告诉我们,关于一个系统状态的一比特缺失信息,对应于多少焦耳每开尔文的能量。

考虑两种不同气体的混合过程:初始时,盒子被隔板分开,左边是氦气,右边是氖气。你知道每个粒子的身份,信息熵为零。

移开隔板后,气体混合,你不再能确定取出一个原子是氦还是氖,不确定性增加。这个信息熵的增加,恰好对应着热力学中的混合熵。

热力学第二定律说宇宙的熵总是增加,这可以重新解释为:我们对宇宙微观状态的知识总是在不可逆转地减少。

熵不是系统的内在属性,而是我们对系统无知程度的度量。

03

决策树中的信息

决策树如何选择数据特征

现在,让我们将上述理论应用到决策树的构建过程中,作为是一种基于树结构进行决策的机器学习算法,其核心问题在于:

每个节点应该选择哪个特征进行分裂?

ID3(Iterative Dichotomiser 3)算法及其改进版 C4.5 给出了基于信息论的经典答案。

ID3 算法:信息增益准则

ID3 算法的核心思想贪婪地选择信息增益最大的特征作为当前节点的分裂特征。

构建步骤:

1. 计算根结点经验熵 :首先,我们需要计算整个数据集 的熵。

假设数据集 共有 个样本,包含 个类别,第 类样本的个数为 。则数据集的经验熵为:

2. 计算每个特征 对数据集 的经验条件熵 :假设特征 有 个不同的取值 。

根据特征 的取值,将数据集 划分为 个子集 。对于每一个子集 ,再根据类别计算其熵。

条件熵即为这些子集熵的加权平均:

其中, 是子集 中属于第 类的样本个数。

3. 计算信息增益:

4. 选择最优特征:对当前节点的所有候选特征计算信息增益,选择使 最大的特征作为该节点的分裂特征。

然后,对该特征的每一个取值建立一个分支,将数据集划分到子节点中。

5. 递归构建:对每个子节点递归地调用上述步骤,直到满足停止条件(如所有样本属于同一类,或没有特征可用)。

C4.5 算法:从信息增益到信息增益率

ID3 算法简单直观,但存在一个明显的缺陷:它倾向于选择取值较多的特征。

如果一个特征如“样本ID”那样,每个取值只对应一个样本,那么它的条件熵 将降为0,信息增益将达到最大值 。

但用这样的特征分裂出的树,显然不具备泛化能力。

为了解决这个问题,Quinlan 提出了 C4.5 算法,它使用信息增益率作为特征选择准则。

信息增益率 定义为信息增益 与特征 的分裂信息(Split Information) 之比:

其中,分裂信息 是特征 本身取值分布的熵:

分裂信息相当于特征 自身的熵。当特征 的取值越多且越分散时, 通常越大。

用信息增益除以分裂信息,相当于对取值多的特征施加了一个“惩罚”,从而有效避免了 ID3 算法的偏好。

当然,信息增益率也可能导致对取值较少的特征产生偏好。

因此,C4.5 算法在实际应用中,并非直接选择增益率最高的特征,而是采用了一种启发式策略:

先从候选特征中找出信息增益高于平均水平的特征,然后再从中选择信息增益率最高的。

结语

信息熵之所以被誉为“万物起源”,是因为它架起了物理世界与抽象信息之间的桥梁。

从热力学第二定律到DNA编码的复杂度,从量子力学的不确定性到机器学习中的特征选择,熵提供了一个统一的视角来理解世界。

注:文章中未声明图片均来源于互联网