学习笔记十三:决策树划分

1. 划分选择的重要性

核心问题:

决策树学习的关键是如何选择最优划分属性。

目标:

随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的 "纯度"(purity)越来越高。

划分准则:

不同的划分准则会导致不同的决策树结构,常用的划分准则包括:

  • 信息增益(Information Gain)
  • 增益率(Gain Ratio)
  • 基尼指数(Gini Index)

2. 信息增益

2.1 信息熵

定义:

信息熵(information entropy)是度量样本集合纯度最常用的一种指标。

公式:

假定当前样本集合 D 中第 k 类样本所占的比例为 pᵏ(k = 1, 2, ..., |Y|),则 D 的信息熵定义为:

Ent(D)=−∑k=1∣Y∣pklog⁡2pkEnt(D) = -\sum_{k=1}^{|Y|} p_k \log_2 p_kEnt(D)=−k=1∑∣Y∣pklog2pk

计算约定:

计算信息熵时约定:若 p = 0,则 p log₂ p = 0。

性质:

  • Ent(D) 的最小值为 0
  • Ent(D) 的值越小,则 D 的纯度越高
  • 当所有样本属于同一类别时,Ent(D) = 0(纯度最高)
  • Ent(D) 的最大值为 log₂ |Y|
  • 当各类别样本数量相等时,Ent(D) 达到最大值(纯度最低)

2.2 信息增益

定义:

信息增益 (information gain)表示使用属性 a 对样本集 D 进行划分所获得的纯度提升。

公式:

假定离散属性 a 有 V 个可能的取值 {a¹, a², ..., aᵛ},若使用 a 来对样本集 D 进行划分,则会产生 V 个分支结点,其中第 v 个分支结点包含了 D 中所有在属性 a 上取值为a^v 的样本,记为 Dᵛ。我们可根据上面公式计算出 Dᵛ 的信息熵,再考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重 |Dᵛ|/|D|,即样本数越多的分支结点的影响越大,于是可计算出用属性 a 对样本集 D 进行划分所获得的信息增益为:

Gain(D,a)=Ent(D)−∑v=1V∣Dv∣∣D∣Ent(Dv)Gain(D, a) = Ent(D) - \sum_{v=1}^{V} \frac{|D^v|}{|D|} Ent(D^v)Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)

解释:

  • 信息增益 = 划分前的信息熵 - 划分后的加权平均信息熵
  • 权重 |Dᵛ|/|D| 表示样本数越多的分支结点影响越大
  • 信息增益越大,意味着使用属性 a 来进行划分所获得的"纯度提升"越大

划分属性选择:

在候选属性集合 A 中,选择使得信息增益最大的属性作为最优划分属性。

ID3算法:

著名的ID3决策树学习算法就是以信息增益为准则来选择划分属性。

2.3 信息增益计算示例

以西瓜数据集2.0为例(包含17个训练样例,|Y| = 2):

根结点信息熵:

根结点包含所有样例,其中正例占 p₁ = 8/17,反例占 p₂ = 9/17,计算可得根结点的信息熵为 0.998。

属性"色泽"的信息增益:

属性"色泽"有3个可能取值:{青绿, 乌黑, 浅白}

  • D¹(色泽=青绿):6个样本,3个正例,3个反例,信息熵为 1.000
  • D²(色泽=乌黑):6个样本,4个正例,2个反例,信息熵为 0.918
  • D³(色泽=浅白):5个样本,1个正例,4个反例,信息熵为 0.722

因此,属性"色泽"的信息增益为 0.109。

其他属性的信息增益:

  • Gain(D, 根蒂) = 0.143
  • Gain(D, 敲声) = 0.141
  • Gain(D, 纹理) = 0.381
  • Gain(D, 脐部) = 0.289
  • Gain(D, 触感) = 0.006

显然,属性"纹理"的信息增益最大,因此被选为划分属性。

3. 增益率

3.1 信息增益的不足

问题:

信息增益准则对可取值数目较多的属性有所偏好。例如,如果使用"编号"作为划分属性,每个样本都有唯一的编号,信息增益会达到最大值,但这样的划分显然没有意义。

原因:

可取值数目较多的属性,其每个分支结点包含的样本数较少,信息熵较小,导致信息增益较大。

3.2 增益率

定义:

增益率 (gain ratio)是信息增益的改进,通过引入固有值(intrinsic value)来减少对可取值数目较多属性的偏好。

属性 a 的固有值 记为 IV(a),属性 a 的增益率 记为 Gain_ratio(D, a),它等于信息增益除以固有值。

性质:

  • 属性 a 的可能取值数目越多(即 V 越大),则 IV(a) 的值通常会越大
  • 增益率准则对可取值数目较少的属性有所偏好

C4.5算法:

著名的C4.5决策树学习算法使用增益率来选择划分属性。具体做法是:

  • 先从候选划分属性中找出信息增益高于平均水平的属性
  • 再从这些属性中选择增益率最高的

4. 基尼指数

4.1 基尼值

定义:

CART决策树使用"基尼指数"(Gini index)来选择划分属性。

数据集 D 的纯度可用基尼值 来度量,记为 Gini(D)。

直观意义:

Gini(D) 反映了从数据集 D 中随机抽取两个样本,其类别标记不一致的概率。

性质:

  • Gini(D) 越小,则数据集 D 的纯度越高
  • 当所有样本属于同一类别时,Gini(D) = 0(纯度最高)
  • 当各类别样本数量相等时,Gini(D) 达到最大值(纯度最低)

4.2 基尼指数

定义:

属性 a 的基尼指数 记为 Gini_index(D, a),它是各分支结点基尼值的加权平均。

划分属性选择:

在候选属性集合 A 中,选择使得划分后基尼指数最小的属性作为最优划分属性。

CART算法:

CART决策树(Classification and Regression Tree)使用基尼指数来选择划分属性。

5. 三种划分准则的比较

5.1 信息增益 vs 增益率 vs 基尼指数

划分准则 算法 特点 适用场景
信息增益 ID3 对可取值数目较多的属性有偏好 属性取值数目相近时使用
增益率 C4.5 对可取值数目较少的属性有偏好 属性取值数目差异较大时使用
基尼指数 CART 计算简单,性能与信息增益相近 分类和回归任务都适用

5.2 选择建议

  • 信息增益:简单直观,但当属性取值数目差异较大时,可能偏向取值多的属性
  • 增益率:通过引入固有值来平衡,但可能偏向取值少的属性,通常与信息增益结合使用
  • 基尼指数:计算效率高,在CART算法中表现良好,适用于大规模数据

6. 总结

决策树划分是决策树学习的核心问题。划分选择的目标是选择最优划分属性,使得划分后结点的纯度越来越高。

三种主要的划分准则:

  1. 信息增益(ID3算法):基于信息熵,衡量划分前后的纯度提升
  2. 增益率(C4.5算法):信息增益的改进,通过引入固有值减少对多值属性的偏好
  3. 基尼指数(CART算法):基于基尼值,计算简单,性能与信息增益相近

核心要点:

  • 划分选择的目标是提高结点纯度
  • 不同的划分准则有不同的特点和适用场景
  • 在实际应用中,需要根据数据特点和任务需求选择合适的划分准则
  • 信息增益对可取值数目较多的属性有偏好,增益率通过引入固有值来平衡,基尼指数计算效率高
相关推荐
硅谷秋水15 小时前
EgoHumanoid‑V2 方法分析
人工智能·机器学习·计算机视觉·语言模型·机器人
2601_9679791216 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
BYSJMG17 小时前
计算机毕业设计选题推荐:【基于深度学习的车辆损坏严重程度评估方法研究】ResNet50 图像分类
人工智能·深度学习·目标检测·机器学习·计算机视觉·分类·课程设计
wangxiaoxuan21717 小时前
从深度图到点云:投影、滤波、降采样与聚类
机器学习·数据挖掘·机器人·聚类·科沃斯八界
在所不辞兄18 小时前
为什么在电池供电场景下,不能采用固定电压频率策略,而需要动态调整以最大化 Race-to-Sleep 收益?
人工智能·深度学习·神经网络·机器学习
2601_9679873718 小时前
SVM支持向量机通俗解析:找到机器学习的“最优分界线”
机器学习·svm·分类算法·核函数·最大间隔
BYSJMG19 小时前
计算机毕业设计选题推荐|【基于深度学习的电梯电动车违规进入检测研究】YOLO26m+可视化大屏
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·课程设计
罗西的思考1 天前
【轻量化复刻大模型 / KIMI K3】AttnRes 模块交互式演示
人工智能·算法·机器学习
硅谷秋水2 天前
将闲科技(LiberAI)提出世界动作模型Liber-0
机器学习·计算机视觉·语言模型·机器人