设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2931|回复: 0

对于决策树的了解与介绍

[复制链接]

13

主题

99

金钱

161

积分

入门用户

发表于 2019-10-12 14:57:27 | 显示全部楼层 |阅读模式

决策树,随机森林,bagging,boosting的介绍以及背后的原理

基于树的方法可以用于回归或分类。它们涉及到将预测空间分割成几个简单的区域。分割规则集可以总结在树中,因此名为决策树方法。

单个决策树的性能通常不如线性回归、logistic回归、LDA等。但是它可以损失一些可解释性,大幅度提高预测精度。

将介绍关于决策树、bagging、随机森林和boosting算法的所有知识。

决策树基础

回归树
在讨论理论之前,我们需要一些基本的术语。
树是倒着画的。最后的区域称为叶子,树中发生分割的点是一个分割节点。最后,连接节点的段是“分支”。
1.jpg
回归树示意图

创建一个回归树:
1.将预测空间划分为J个不同且不重叠的区域
2.对于一个区域内的每一个样本值,将该区域内响应值的平均值作为预测值
每个区域都通过最小化RSS(Root-Sum-Squares)进行分割。为此,它采用自顶向下的贪婪方法,也称为递归二元分割。

为什么自顶向下?
因为所有的样本在第一次分裂之前都在同一个区域。

为什么是贪婪的方法?
因为最好的分割发生在特定的步骤中,而不是向前看并进行分割,从而在未来的步骤中得到更好的预测。
数学上,我们将这对半平面定义为:
2.jpg
我们要求j和s最小化:
3.jpg
然而,这可能导致过拟合。修剪树将产生一个更小的子树,我们可以使用交叉验证进行验证。
4.jpg
未修剪的树的示意图

分类树
分类树与回归树非常相似。但是,我们不能使用响应的平均值,因此我们现在预测一个区域中最常见的类。当然,RSS不能用作标准。相反,每次分割都是为了最小化分类错误率。

分类错误率就是在区域中不属于最常见类的训练样本的比例。
5.jpg
分类错误率公式
不幸的是,这对树的生长来说不够敏感。在实践中,还使用了另外两种方法。
基尼指数:
6.jpg
基尼指数
这是对所有类的总方差的度量。如你所见,如果比例接近0或1,则基尼指数会很小,因此它是衡量节点纯度的一个很好的指标。

类似的原理也适用于另一种称为交叉熵的方法:
7.jpg
交叉熵
现在已经了解了基本决策树的工作原理,可以看看如何改进它的性能。

Bagging, 随机森林和Boosting

Bagging
之前已经看到bootstrap可以计算任意数量的标准差。对于决策树,方差很大。因此,通过bootstrap聚合或bagging,可以减少方差,提高决策树的性能。

Bagging包括从数据集中反复取样。这会生成B个不同的引导训练集。然后,我们对所有的bootstrap训练集进行训练,得到每个集合的预测,并对预测进行平均。

数学上的平均预测为:
8.jpg
将其应用到决策树中,意味着我们可以构造大量的具有高方差和低偏差的树。然后,我们可以对他们的预测进行平均,以减少方差,以提高决策树的性能。

随机森林

随机森林相比Bagging树提供了一种改进,方法是对树进行“装饰”。

就像Bagging一样,建立了多个决策树。然而,在每次拆分时,从所有p个预测中随机选择m个随机样本。通常分割只允许使用m个预测中的一个
9.jpg
换句话说,在每次拆分时,算法都不允许考虑大多数可用的预测器。

为什么?

假设数据集中有一个非常强的预测器,以及其他中等强的预测器。然后,在bagging树的集合中,它们都将在顶部分割中使用这个强大的预测器。因此,所有的bagging树都是非常相似的,平均它们的预测不会减少方差,因为预测是高度相关的。

随机森林通过强制每个分割只考虑有效地“装饰”树的预测子集来克服这个问题。

当然,如果m等于p,这就像bagging。通常,p的平方根给出的结果最好,如下所示。
10.jpg
分类错误是树的数量的函数。每行表示每个分割中可用的预测的数量。

Boost

boost的工作方式与bagging类似,但树是按顺序生长的:每棵树使用以前生长的树的信息。

这意味着算法学习速度很慢。每个树都拟合模型的残差,而不是目标变量。因此,每棵树都很小,在它表现不佳的地方,它会慢慢地提高预测能力。

Boost有三个调优参数:

树的数量(B):与bagging和随机森林不同,如果B太大,boost可能会过适合。使用交叉验证来选择正确数量的树。
收缩参数(alpha):控制boost学习速率的小正数。它通常设置为0.01或0.001。
每个树的分割数(d):它控制增强的集成的复杂性。通常,单个分割(d = 1)效果很好。它也被称为交互深度。
11.jpg
分类错误是树的数量的函数。每一行表示不同的交互深度。

正如你在上面所看到的,交互深度为1似乎提供了最好的结果。

现在你知道了决策树、随机森林、提升和bagging的一切。决策树既可以用于回归,也可以用于分类,当结合使用boost、bagging时,它们的表现非常好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表