西瓜书 第4章 决策树 读书笔记

第4章 决策树(decision tree)亦称“判定树”

  1. 基本流程

决策树的组成

一个根节点:包含样本全集

若干个内部节点:对应于一个属性测试

若干个叶节点:对应于决策结果

决策树的目的:为了产生一棵泛化能力强,即处理未见视例能力强的决策树

遵循的策略:分而治之(divide-and-conquer)

决策树学习基本算法

  1. 划分选择

结点的纯度(purity)结点所包含的样本尽可能属于同一类别

划分指标

信息增益(information gain)

信息熵(information entropy)

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

信息增益

信息增益越大,则使用属性a来进行划分,因为所获得的“纯度提升”越大

著名的决策树学习算法 ID3

偏好(也是不利影响)对可取值数目较多的属性有偏好

增益率

定义

其中,IV(a)为属性a的“固有值”(intrinsic value)。属性a的可能取值数目越多(V越大),则IV(a)的值通常会越大。

 

著名决策树学习算法 C4.5

偏好 对可取值数目较少的属性有所偏好

基尼指数(Gini index)

数据集D的纯度可用基尼值来度量

 

基尼指数

 

著名决策树学习算法 Classification and Regression Tree,简称CART

偏好 在候选属性集合A中,徐泽那个使得划分后基尼指数最小的属性作为最优划分属性

  1. 剪枝(pruning)处理

剪枝基本策略

预剪枝(prepruning)

预剪枝是指在决策树生成过程中,对每个结点在划分前进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶节点

决策树桩(decision stump)

一棵仅有一层划分的决策树

优点

降低过拟合的风险

显著减少决策树的训练时间开销和测试时间开销

后剪枝

后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点

后剪枝决策树通常比预剪枝决策树保留更多的分支

优点

后剪枝决策树的欠拟合风险很小

泛化性能往往优于预剪枝决策树

缺点

训练时间开销比未剪枝决策树和预剪枝决策树都要大得多

4.连续与缺失值

连续属性离散化技术

二分法(bi-partition)

C4.5算法采用

 

 

选择使Gain(D,a,t)最大化的划分点

注意:与离散属性不用,若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性

缺失值面临的两个问题

如何在属性值缺失的情况下进行划分属性选择?

给定划分属性,若样本在该属性上的值确实,如何对样本进行划分?

缺失值解决方案

对问题(1),显然我们仅可根据D(上有波浪符号)来判断属性a的优劣

其中,

对问题(2),若样本x在划分属性a上的取值已知,则将x划入与其取值对应的子结点,且样本权值在于结点中保持为wx。否则,让同一个样本以不同的概率划入到不同的子结点中去。

  1. 多变量决策树(multivariate decision tree)亦称“斜决策树”(oblique decision tree)

轴平行(axis-parallel)

决策树所形成的分类边界有一个明显的特点:轴平行(axis-parallel),由若干个与坐标轴平行的分段组成

 

缺点:决策树会相当复杂,由于要进行大量的属性测试,预测时间开销会很大

方案:决策树对复杂分类边界的分段近似

 

在多变量决策树的学习过程中,不是为每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器

多变量决策树对应的分类边界

 

  1. 阅读材料

决策树学习算法最著名的代表

ID3

C4.5

CART

对决策树的尺寸有较大影响,但对泛化性能的影响有限

信息增益

增益率

基尼指数

对决策树泛化性能的影响相当显著

剪枝方法

剪枝程度

多变量决策树算法

OC1

线性分类器学习的最小二乘法

叶结点上嵌入神经网络,例如“感知机树”

叶结点上嵌入多层神经网络

增量学习(incremental learning)

通过调整分支路径上的划分属性次序来对树进行部分重构

ID4

ID5R

ITI

猜你喜欢

转载自www.cnblogs.com/rongguohao/p/10928482.html