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

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算法):基于基尼值,计算简单,性能与信息增益相近

核心要点

  • 划分选择的目标是提高结点纯度
  • 不同的划分准则有不同的特点和适用场景
  • 在实际应用中,需要根据数据特点和任务需求选择合适的划分准则
  • 信息增益对可取值数目较多的属性有偏好,增益率通过引入固有值来平衡,基尼指数计算效率高
相关推荐
佚名ano37 分钟前
支持向量机SVM的简单推导过程
算法·机器学习·支持向量机
lisw051 小时前
用于实时数据处理的边缘计算!
人工智能·机器学习·边缘计算
全栈开发圈1 小时前
干货分享|R语言聚类分析2
人工智能·机器学习·r语言
shangjian0071 小时前
AI-大语言模型-模型训练-数据集1-总述
人工智能·机器学习·语言模型
zadyd2 小时前
一个基本的意图识别该包含哪些内容
人工智能·机器学习
zm-v-159304339863 小时前
Python 气象数据处理从入门到精通:机器学习订正 + 深度学习预测完整教程
python·深度学习·机器学习
shangjian0073 小时前
AI-大语言模型-模型训练-数据集2-数据规模要求
人工智能·机器学习·语言模型
Dfreedom.4 小时前
机器学习经典算法全景解析与演进脉络(监督学习篇)
人工智能·学习·算法·机器学习·监督学习
夏星印4 小时前
学习吴恩达课程机器学习笔记
人工智能·笔记·学习·机器学习·ai
StfinnWu4 小时前
论文阅读《GridDehazeNet: Attention-Based Multi-Scale Network for Image Dehazing》
论文阅读·深度学习·机器学习