信息增益与熵

信息增益与熵,本文将阐述什么是信息增益和信息熵,以及它们如何被用来训练决策树。

基尼杂质一样,信息增益也是用来训练决策树的一个指标。具体地说,这些指标测量分割的质量。例如,假设我们有以下数据:
信息增益与熵
数据集

如果我们在x=1.5处分割呢?
信息增益与熵
一个不完美的分割

这个不完美的分割将我们的数据集分成以下几个分支:

  • 左支,4个蓝色。
  • 右支,有1个蓝色和5个绿色。

很明显,这种分割不是最优的,但它有多好呢?我们如何量化拆分的质量?
这就是信息增益的来源。
困惑吗?不确定决策树是什么或者它们是如何训练的?阅读我对随机森林和决策树的介绍。

信息熵

在讨论信息增益之前,我们首先要讨论信息熵。在训练决策树的上下文中,熵可以粗略地看作数据的方差。例如:

  • 一个只有蓝色的数据集的熵非常低(实际上是零)。
  • 混合了蓝色、绿色和红色的数据集将具有相对较高的熵。

下面是我们如何计算具有C类的数据集的信息熵:
信息增益与熵

其中p_i为随机选取第i类元素的概率(即由第i类构成的数据集的比例)。

理解这一点最简单的方法是用一个例子。考虑一个包含1个蓝色、2个绿色和3个红色的数据集。这时:
信息增益与熵

因为 \frac{1}{6}的数据集是蓝色,所以我们知道p_b = \frac{1}{6}。类似地,p_g=\frac{2}{6}(绿色),p_r=\frac{3}{6}(红色)。因此:
信息增益与熵

那么所有颜色的数据集呢?以3个蓝色为例。其熵应该是:
信息增益与熵

信息增益

终于到了回答我们之前提出的问题的时候了:我们如何量化拆分的质量?
让我们再来考虑一下这种分裂:
信息增益与熵
一个不完美的分割
在分裂之前,我们有5个蓝色和5个绿色,所以熵是:
信息增益与熵

分裂之后,我们有两个分支。
左分支有4个蓝色,所以E_{left} = 0因为它是所有颜色的数据集。
右分支有1个蓝色和5个绿色,所以:
信息增益与熵
现在我们已经知道了两个分支的熵值,我们可以通过加权每个分支的熵值来确定分裂的质量。由于左分支有4个元素,右分支有6个元素,我们分别对其权重为0.4和0.6:
信息增益与熵
分裂之前我们用E_{before}=1熵,现在降到了0.39!信息增益=我们去掉了多少熵,所以:
信息增益与熵

这是有道理的:更高的信息增益=更多的熵去除,这是我们想要的。在最理想的情况下,每个分支在分裂后只包含一种颜色,这就是零熵!

回顾

信息熵可以看作是数据集的不可预测性。

  • 只有一个类(比如蓝色)的集合是非常容易被预测的:其中的任何东西都是蓝色的。它的熵很低。
  • 许多混合类的集合是不可预测的:给定的元素可以是任何颜色!它的熵很高。

计算信息熵的实际公式为:
信息增益与熵

通过从原始熵中减去每个分支的加权熵,计算出分裂时的信息增益。当使用这些指标训练决策树时,通过最大化信息收益来选择最佳分割。

想了解更多吗?看看我对基尼杂质的解释,一个类似的度量标准,或我的深入指导完全是初学者的随机森林

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程