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

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 进行划分所获得的纯度提升。

公式

假定离散属性 aV 个可能的取值 {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个可能取值:{青绿, 乌黑, 浅白}

  • (色泽=青绿):6个样本,3个正例,3个反例,信息熵为 1.000
  • (色泽=乌黑):6个样本,4个正例,2个反例,信息熵为 0.918
  • (色泽=浅白):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算法):基于基尼值,计算简单,性能与信息增益相近

核心要点

  • 划分选择的目标是提高结点纯度
  • 不同的划分准则有不同的特点和适用场景
  • 在实际应用中,需要根据数据特点和任务需求选择合适的划分准则
  • 信息增益对可取值数目较多的属性有偏好,增益率通过引入固有值来平衡,基尼指数计算效率高
相关推荐
U***49834 小时前
机器学习趋势
人工智能·机器学习
lusasky4 小时前
大模型混合多语言理解的原理
人工智能·神经网络·机器学习·nlp
大千AI助手4 小时前
平衡二叉树:机器学习中高效数据组织的基石
数据结构·人工智能·机器学习·二叉树·大模型·平衡二叉树·大千ai助手
IT油腻大叔4 小时前
DeepSeek-多层注意力计算机制理解
python·深度学习·机器学习
z***I3944 小时前
机器学习难点
人工智能·机器学习
U***e634 小时前
机器学习超参数调优:GridSearch
人工智能·机器学习
n***29324 小时前
机器学习超参数调优
人工智能·机器学习
小呀小萝卜儿4 小时前
2025-11-17 学习记录--Python-机器学习作业:项目1 - PM2.5预测
python·学习·机器学习
3***49964 小时前
机器学习培训
人工智能·机器学习