决策树

本文介绍了决策树作为机器学习中的重要方法,包括其基本结构、如何选择最优划分属性(信息熵、信息增益、增益率)、防止过拟合的剪枝策略(预剪枝、后剪枝)以及多变量决策树的概念。通过理解这些概念,可以更好地掌握决策树的构建和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

决策树是一类常见的机器学习方法,是基于树结构来进行决策的,决策过程中提出的每个判定问题都是对某个属性的测试,每个测试的结果或是导出最终结论,或是导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内。决策过程的最终结论对应了我们所希望的判定结果。

一般的,一颗决策树包含一个根节点、若干个内部节点和若干个叶结点,叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根节点包含样本全集,从根节点到每个叶结点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一颗泛华能力强,即处理未见示例能力强的决策树,结构图如图所示:

这里写图片描述

划分选择

由图中可以看出,决策树的关键是如何选择最优划分属性,一般而言,随着划分过程不断进行,希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。

“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk,则信息熵定义为 Ent(D)=|y|k=1pklog2pk 值越小,则D的纯度越高。另考虑到不同的分支结点所包含的影响越大,因此可计算出用属性a对样本集D进行划分所获得的“信息增益”假定离散属性a有V个可能的取值,若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv,信息增益定义为:Gain(D,a)=Ent(D)Vk=1|Dv|/|D|Ent(Dv)

信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大,因此,可用信息增益来进行决策树的划分属性选择。信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,可以选择“增益率”来选择最优划分属性,增益率定义为:Gainratio(D,a)=Gain(D,a)/IV(a)

其中 IV(a)=Vv=1|Dv|/|D|log2(|Dv|/|D|)

增益率准则对可取值数目较少的属性有所偏好,因此,并不是直接选择增益率最大的候选划分属性,而是先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

剪枝处理

剪枝是决策树学习算法对付“过拟合”的主要手段,在决策树学习中,为了尽可能正确分类训练样本,结点划分过程将不断重复,有时会造成决策树分支过多,可能会导致过拟合,因此,可通过主动去掉一些分支来降低过拟合的风险。

剪枝的基本策略有“预剪枝”和“后剪枝”,预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶结点;后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

多变量决策树

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值