基于 VitePress 构建,持续更新中,欢迎共同优化
Skip to content

Task03 详读西瓜书 + 南瓜书第 4 章

1 决策树基本流程

  • 概念:基于树结构来进行决策,体现人类在面临决策问题时一种很自然的处理机制
  • 具备条件:
    1. 每个非叶节点表示一个特征属性测试
    2. 每个分支代表这个特征属性在某个值域上的输出
    3. 每个叶子节点存放一个类别
    4. 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集
  • 基本算法: 输入: 训练集 D={(x1,y1),(x2,y2),,(xm,ym)};     属性集 A=a1,a2,,ad过程: 函数 TreeGenerate(D,A) (1) 生成结点 node (2) if D 中样本全属于同一类别 C then (3)   将 node 标记为 C 类叶节点; return (4) end if (5) if A= OR D 中样本在 A 上取值相同 then (6)   将 node 标记为叶结点,其类别标记为 D 中样本数最多的类;return (7) end if (8) 从 A 中选择最优化分属性 a; (9) for a 的每一个值 av do (10)   为 node 生成一个分支;令 Dv 表示 D 中在 a 上取值为 av 的样本子集; (11)   if Dv 为空 then (12)    将分支结点标记为叶结点,其类别标记为 D 中样本最多的类; return (13)  else (14)    以 TreeGenerate(Dv, A{a}) 为分支结点 (15)  end if (16) end for输出: 以 node 为根结点的一棵决策树
  • 决策树构造
    1. 当前结点包含的样本全部属于同一类,直接将该结点标记为叶结点,其类别设置该类
    2. 当属性集为空,或所有样本在所有属性上取值相同,无法进行划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别
    3. 当前结点包含的样本集合为空,不能划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别

2 划分选择

2.1 信息增益

  • 信息熵:度量样本集合纯度最常用的一种指标
  • 信息熵定义:

假定当前样本集合 D 中第 k 类样本所占的比例为 pk(k=1,2,,|Y|),则 D 的信息熵表示为

Ent(D)=k=1|Y|pklog2pk

Ent(D) 值越小,则 D 的纯度越高。

  • 信息增益定义: 假定使用属性 a 对样本集 D 进行划分,产生了 V 个分支节点,v 表示其中第 v 个分支节点,易知:分支节点包含的样本数越多,表示该分支节点的影响力越大,可以计算出划分后相比原始数据集 D 获得的“信息增益”(information gain)。
Gain(D,α)=Ent(D)v=1V|Dv||D|Ent(Dv)

信息增益越大,使用属性 a 划分样本集 D 的效果越好。

  • ID3 决策树学习算法是以信息增益为准则

2.2 增益率

  • 作用:用于解决属性信息熵为 0,或远高于其他属性的信息熵问题
  • 定义:
Gain_ratio(D,α)=Gain(D,α)IV(α)

其中

IV(α)=v=1V|Dv||D|log2|Dv||D|

α 属性的取值越多时,IV(α) 值越大

  • C4.5 算法是以增益率为准则

2.3 基尼指数

  • CART 决策树使用“基尼指数”(Gini index)来选择划分属性
  • 作用:表示从样本集 D 中随机抽取两个样本,其类别标记不一致的概率,因此 Gini(D) 越小越好
  • 定义:
Gini(D)=k=1|Y|kkpkpk=1k=1|Y|pk2
  • 属性选择: 使用属性 α 划分后的基尼指数为:
 Gini_index (D,α)=v=1V|Dv||D|Gini(Dv)

故选择基尼指数最小的划分属性。

© 22025–present 謝懿Shine. All Rights Reserved.