如是我闻 :那你说决策树这块还能考点啥呢,也就是算算属性的信息增益(Information Gain)了,

信息增益是一种评估特征(属性)在分类任务中重要性的方法,它基于熵的概念来计算。熵是一个衡量数据集中不确定性或混乱程度的指标。信息增益则是衡量在知道某个属性的信息之后,数据集不确定性减少的程度

下面我们通过一道小练习题来用心感受一下这类题:

问题描述

在这个问题中,数据集包含了三个特征(A、B、C)和一个分类标签,任务是计算属性A对于分类结果的信息增益值,以此评估A在预测结果中的有效性和重要性。

原始数据:

A B C 标签 (L)
1 1 0 1
1 1 1 2
0 0 1 1
0 1 1 1

解题步骤

信息增益的计算过程分为三个主要步骤:

  1. 计算整体数据集的熵(Initial Entropy)
  2. 计算在特定属性条件下的条件熵(Conditional Entropy)
  3. 计算信息增益(Information Gain)

步骤 1: 计算整体数据集的熵(Initial Entropy)

数据使用:
  • 标签有三个1和一个2。
计算方法:
  • 概率
    • P(L=1)=34P(\text{L}=1) = \frac{3}{4}P(L=1)=43
    • P(L=2)=14P(\text{L}=2) = \frac{1}{4}P(L=2)=41
  • 熵公式
    • H(L)=−(34log⁡234+14log⁡214)=0.811H(\text{L}) = -\left(\frac{3}{4}\log_2\frac{3}{4} + \frac{1}{4}\log_2\frac{1}{4}\right)=0.811H(L)=(43log243+41log241)=0.811
为什么要这么做

熵是衡量数据集混乱程度的指标。这一步提供了一个基准,让我们可以比较是否属性的选择能降低这种混乱程度。

步骤 2: 计算属性 A 的条件熵(Conditional Entropy)

数据使用:
  • A=1A=1A=1 时:有两个结果,一个是1,另一个是2。
  • A=0A=0A=0 时:有两个结果,都是1。
计算方法:
  • A=1A=1A=1
    • P(L=1∣A=1)=12P(\text{L}=1 | A=1) = \frac{1}{2}P(L=1∣A=1)=21
    • P(L=2∣A=1)=12P(\text{L}=2 | A=1) = \frac{1}{2}P(L=2∣A=1)=21
    • H(L∣A=1)=−(12log⁡212+12log⁡212)=1.0H(\text{L}|A=1) = -\left(\frac{1}{2}\log_2\frac{1}{2} + \frac{1}{2}\log_2\frac{1}{2}\right)=1.0H(LA=1)=(21log221+21log221)=1.0
  • A=0A=0A=0
    • P(L=1∣A=0)=1P(\text{L}=1 | A=0) = 1P(L=1∣A=0)=1
    • H(L∣A=0)=−(1log⁡21)=0H(\text{L}|A=0) = -(1\log_21) = 0H(LA=0)=(1log21)=0 (所有结果都是1,所以熵为0)
为什么要这么做

条件熵 H(L∣A)H(\text{L}|A)H(LA) 表示已知属性 A 的值后,结果的不确定性。计算这个值是为了评估知道 A 后不确定性减少了多少。

步骤 3: 计算信息增益(Information Gain)

计算方法:
  • 信息增益公式
    • IG(A)=H(L)−H(L∣A)=0.311IG(A) = H(\text{L}) - H(\text{L}|A)=0.311IG(A)=H(L)H(LA)=0.311
    • H(L∣A)=12H(L∣A=1)+12H(L∣A=0)=0.5H(\text{L}|A) = \frac{1}{2}H(\text{L}|A=1) + \frac{1}{2}H(\text{L}|A=0) =0.5H(LA)=21H(LA=1)+21H(LA=0)=0.5
为什么要这么做

信息增益测量了在知道属性 A 的值之后,结果的不确定性减少了多少。如果信息增益高,意味着该属性在分类时非常有用,因为它能显著降低不确定性。

通过这种方式,我们计算得出属性 A 的信息增益为 0.311,显示它是一个对于降低结果预测不确定性有效的属性。下面开始技术总结

解题步骤总结

步骤 1: 理解数据和定义目标

  • 数据理解:首先,明确每个属性和结果类别的数据结构和分布。
  • 目标定义:明确你需要计算的是哪个属性的信息增益,以及最终目的是什么(例如,选择最好的属性进行数据分割)。

步骤 2: 计算整体数据集的熵

  • 计算概率:为数据集中每个结果类别计算概率。
  • 应用熵公式
    H(X)=−∑i=1npilog⁡2(pi) H(X) = -\sum_{i=1}^{n} p_i \log_2(p_i) H(X)=i=1npilog2(pi)
    其中 pip_ipi是第 iii类结果的概率。

步骤 3: 计算条件熵

  • 分组数据:根据要计算信息增益的属性,将数据分成几组。
  • 计算每组的熵:对每个分组,再次计算结果的概率和熵。
  • 计算加权平均的条件熵
    H(X∣A)=∑jP(A=aj)H(X∣A=aj) H(X|A) = \sum_{j} P(A=a_j) H(X|A=a_j) H(XA)=jP(A=aj)H(XA=aj)
    其中 aja_jaj 是属性 AAA 的第 jjj个值,P(A=aj)P(A=a_j)P(A=aj) 是该值在数据集中的概率。

步骤 4: 计算信息增益

  • 应用信息增益公式
    IG(A)=H(X)−H(X∣A) IG(A) = H(X) - H(X|A) IG(A)=H(X)H(XA)
    这里,IG(A)IG(A)IG(A) 是属性 AAA 的信息增益,H(X)H(X)H(X) 是数据集的熵,H(X∣A)H(X|A)H(XA) 是条件熵。

步骤 5: 解析和决策

  • 比较和选择:如果比较多个属性的信息增益,选择信息增益最高的属性,因为它最能减少不确定性,最适合用来分割数据。

相信有了这个总结之后,小朋友们就再也不用怕决策树算信息增益的问题啦

非常的有品

以上

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐