《机器学习》周志华-决策树算法总结

决策树

1.什么是决策树
决策树(decision tree) 是一类常见的机器学习方法,亦称“判定树”。顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。
例如,挑西瓜的决策过程如下图所示:
在这里插入图片描述
中间结点是决策过程,叶结点是决策结果。根结点包含样本全集。
决策树学习基本算法(是一个递归算法)为:

在这里插入图片描述
在这里插入图片描述
2.划分选择
一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的"纯度" (purity)越来越高.
2.1信息熵
“信息熵” (information entropy)是度量样本集合纯度最常用的一种指标。
假设样本集合为D,则D的信息熵定义为:

其中样本集合D中第k类样本所占的比例为Pk (k = 1,2,. . . ,|y|)。
Ent(D) 的值越小,则 D 的纯度越高。
假定离散属性a有V个可能的取值,计算信息增益为:

一般而言,信息增益越大,则意味着使周属性α来进行划分所获得的"纯度提升"越大。著名的 ID3 决策树学习算法 [Quinlan, 1986] 就是以信息增益为准则来选择划分属性。
西瓜数据集:
在这里插入图片描述
第一步:计算样本集合D(根结点)的信息熵:
在这里插入图片描述

第二步:计算分支结点的信息熵:
在这里插入图片描述

第三步:计算属性“色泽”的信息增益为:
在这里插入图片描述

第四步:计算其他属性的信息增益:
在这里插入图片描述

属性"纹理"的信息增益最大,于是它被选为划分属性,得到基于“纹理”属性对根结点划分:
在这里插入图片描述

第五步:对每个分支做进一步划分,基于 D1 计算出各属性的信息增益:
在这里插入图片描述

类似的,对每个分支结点进行上述操作,最终得到的决策树如下图所示:
在这里插入图片描述
2.2增益率
信息增益的缺陷:偏好分支多的属性。
著名的C4.5决策树算法不直接使用信息增益,而是使用"增益率" (gain ratio) 来选择最优划分属性.
增益率的定义为:
在这里插入图片描述
称为属性a的“固有值”。属性a的可能取值数目越多(分支越多),则IV(a)的值通常越大。
增益率对分支少的属性有偏好。
因此C4.5使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从 中选择增益率最高的。
2.3基尼指数
CART 决策树 [Breiman et al., 1984] 使用"基尼指数" (Gini index)来选择划分属性。
基尼值:
在这里插入图片描述
Gini(D) 反映了从数据集 D 中随机抽取两个样本,其类别标记 不一致的概率。
Gini(D) 越小,则数据集 D 的纯度越高。
属性a的基尼指数定义为:
在这里插入图片描述
3.剪枝处理
剪枝(pruning)是决策树学习算法对付"过拟合"的主要手段。
决策树剪枝的基本策略:预剪枝和后剪枝。
西瓜数据集,采用留出法划分出训练集和验证集:
西瓜集划分出的训练集(双线上部)与验证集(双线下部)
在这里插入图片描述
3.1预剪枝
预剪枝是指在决策树生成过程中,对每个结点在划 分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。
在这里插入图片描述
预剪枝决策树:
在这里插入图片描述
优点:不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销。
缺点:贪心策略可能会忽略一些后续提升性能的分支,给预剪枝决策树带来了欠拟合的风险。

3.2后剪枝
后剪枝则是先从训练集生成一棵完整的决策树, 然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
基于上表生成的后剪枝决策树
一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。
其训练时间开销比未剪枝决策树 和预剪枝决策树都要大得多。
4.连续与缺失值
4.1连续值处理

对连续属性进行处理最简单的策略:二分法(C4.5采用的机制)
假定a在D上有n个不同的值,可考察n-1个划分点集合:
在这里插入图片描述
按最优二分点进行划分:
在这里插入图片描述
西瓜数据集:
在这里插入图片描述
各属性信息增益:
在这里插入图片描述
基于信息增益生成决策树:
在这里插入图片描述
若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性。
4.2缺失值处理
缺失属性值的训练样例:
在这里插入图片描述
(1) 如何在属性值缺失的情况 F进行划分属性选择?
在这里插入图片描述
将信息增益式进行推广为:
在这里插入图片描述
其中,
在这里插入图片描述
(2) 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
在这里插入图片描述
C4.5 算法使用了上述解决方案。
以属性“色泽”为例, 的信息熵为
在这里插入图片描述
计算不同分支的样本子集信息熵:
在这里插入图片描述
在这里插入图片描述
计算有缺失值的属性“色泽”的信息增益为:
在这里插入图片描述
计算在样本集D上属性"色泽"的信息增益为:
在这里插入图片描述
计算出所有属性在 D 上的信息增益:
在这里插入图片描述
最终决策树:
在这里插入图片描述
5.多变量决策树
决策树特点:轴平行(axis-parallel),即它的分类边界由若干个与坐标轴平行的分段组成。
西瓜数据3.0:
在这里插入图片描述
生成的决策树:
在这里插入图片描述
决策树对应的分类边界:
在这里插入图片描述
斜决策树
使用多变量,实现复杂划分的决策边界。
在这里插入图片描述
非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试,每个非叶结点是一个形如 的线性分类器。
在这里插入图片描述
分类边界:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值