机器学习期末复习 决策树相关

决策树基本原理:基于信息增益、增益率与基尼系数的划分选择,预剪枝与后剪枝,多变量决策树以及决策树优缺点概述


复习前问自己这几个问题:

1.什么是决策树?

2.决策树解决的是什么问题?(分类/回归)

3.决策树的构建过程?

4.什么是过拟合和欠拟合,是什么造成的?

5.决策树如何应对过拟合和欠拟合?

6.预剪枝和后剪枝的思想?

7.预剪枝和后剪枝的优缺点?

8.属性中的连续值如何处理?

9.决策树有几种算法,分别是什么,这几种算法的划分依据是什么?

10.信息熵度量的是什么?信息熵大代表什么?

11.ID3算法中,最优划分属性选信息增益大的还是信息增益小的?

12.属性的可取值数目对ID3算法,C4.5算法有影响吗?

13.C4.5算法中,最优划分属性选信息增益率大的还是信息增益率小的?

14.C4.5算法中,是如何降低属性的可取值数目对划分的影响的?

15.CART算法中,最优划分属性选基尼指数大的还是基尼指数小的?

(答案在文末,当然正文中也会有答案)


1.划分算法

(1)信息增益(ID3算法)

ID3算法选择具有最高信息增益的属性作为测试属性。

信息熵

举例:假设数据集有10个样本,5个好瓜,5个坏瓜,那么信息熵就是:

 由例子中可以看出,信息熵是对当前要划分的数据集的类别进行统计与计算。

集合中样本类别越多,纯度下降,信息熵越大。(记住这个结论,C4.5算法有用到)

信息增益:

举例:假设数据集有10个样本,5个好瓜,5个坏瓜,那么信息熵Ent(D)= 1;

如果我们选择色泽,那么a=色泽;

对于色泽中,有v个不同的取值,假如v=2,也就是说色泽有两个取值,为浅白和青绿;

假如整个数据集中,颜色为浅白的瓜有4个,青绿的有6个;

那么后面那个求和公式就可以表达为:

(4/10)*Ent(D1)+(6/10)*Ent(D2)

Ent(D1)是对于颜色为浅白的4个瓜,算他们的信息熵,

假设这四个瓜有3个好瓜,1个坏瓜,那么:

Ent(D1)=-((3/4)*log2(3/4)+(1/4)*log2(1/4))

 Ent(D2)同理

类别越多,信息增益越大,则意味着使用属性a划分所获得的纯度提升越大。

(2)信息增益率(C4.5算法)

信息增益准则其实是有一些问题的,它会更倾向于选择【取值数目较多的属性】,若有一个属性是“编号”,那么每个编号都是不同的,按编号来划分得到的每个子集只包含一个样本,划分后所有子集的信息熵的和为0,信息增益肯定最大,但是这样划分是没有意义的,所产生的决策树不具有泛化能力

C4.5算法则不直接使用信息增益,而是使用增益率

看公式就是信息增益除以一个东西,那这是什么东西?

再看一下信息增益的公式:

增益率中的IV(a)类似于信息增益公式中后面那个求和的部分,其实就是求一个信息熵。

因为增益率要解决的问题就是:

若有一个属性是“编号”,那么每个编号都是不同的,按编号来划分得到的每个子集只包含一个样本,划分后所有子集的信息熵的和为0,信息增益肯定最大,但是这样划分是没有意义的

而对于信息熵来说,类别越多,信息熵越大,类别越少,信息熵越小。

所以,类别越多,信息增益越大,信息熵也越大;类别越少,信息增益越少,信息熵也越少,这样,二者相除就是C4.5算法

但是,增益率对取值较少的属性有偏好,所以C4.5使用了一种启发式算法:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

(3) 基尼指数(CART)

数据集的纯度用基尼值来度量,它反映了从数据集中随机抽取两个样本,其类别标记不一致的概率,基尼值越小,数据集的纯度越高

属性a的基尼指数定义为:

CART决策树就是采用基尼指数来选择划分属性的,选择那个划分后使得基尼指数最小的属性作为最优划分属性。

2.如何避免决策树过拟合?

预剪枝和后剪枝

预剪枝

1.生成结点,根据信息增益选出最优划分属性,比如是色泽(这时候先不给根节点赋予色泽,要先判断)

2.如果不划分,根据 训练集所有的样本的类别 中占比最多的类别对这个结点赋予结果,

比如训练集4个好瓜,4个坏瓜,那么不划分的情况下,这个结点被赋予好瓜,

再用验证集验证,比如验证集3个好瓜,4个坏瓜,那么分类正确的概率为42.9%

当然,如果训练集的类别都一样,比如都是好瓜,那么便没必要划分了

3.如果划分,这时将色泽赋予这个结点,并根据色泽的取值延伸出子节点

 4.子节点的取值也是根据训练集中不同色泽的样本的类别中占比最多的类别对这个结点赋予结果,比如浅白的训练集中好瓜多,青绿的训练集中坏瓜多,那么:

5.根据这次划分,估计分类正确的概率,

如果划分得到的概率小于等于不划分的概率,那么不划分,比如划分后,分类正确的概率小于42.9%,那么结果取不划分:

如果划分的概率大于不划分的概率,那么划分。

6.如果有已划分的结点,那么对于已划分的结点递归进行1.-5.

预剪枝的优点:

降低过拟合风险

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

缺点:

可能导致欠拟合(预剪枝会剪掉这些结点:当前划分不能提高性能,甚至导致性能下降,但是后续结点显著提高性能)

后剪枝

1.先生成决策树

2.遍历所有非叶结点(纹理结点和色泽结点)

3.如果去掉这个非叶结点能提高性能,那么剪枝,否则遍历下一个结点

假如不去掉纹理,分类正确率为50%

如果去掉纹理后的分类正确率高于50%,那么剪枝:

后剪枝优点:

欠拟合风险小,泛化能力优于预剪枝

缺点:

训练时间大于未剪枝和预剪枝

 3.决策树优缺点

1. 优点

  • 可解释性强,树结构能够可视化,可以生成容易理解的规则
  • 训练所需要的数据少,且不需要进行数据规范化
  • 使用效率高,使用决策树的开销是训练所需数据点的对数
  • 能处理连续型和离散型数据
  • 通常不需要训练数据之外的先验知识或领域知识

2. 缺点

  • 忽略属性之间的相关性
  • 容易产生一个过于复杂的模型(过拟合)
  • 在某些类别占主导地位的不平衡数据中,会学得一个有偏差的树。

答案(我自己的理解,有错误请指出,感谢)

1.什么是决策树?

决策树是一种以树结构为基础,用于解决分类问题的机器学习算法。

2.决策树解决的是什么问题?(分类/回归)

分类

3.决策树的构建过程?

1)读入数据

2)判断是否满足生成叶节点的条件,若满足,则生成叶节点,结束这个分支的划分

3)根据算法的不同找出相应的最优划分属性

4)根据最优划分属性对数据集以及属性集进行划分

5)对每个划分的部分作为数据集返回第2步,继续划分

对于第2步,生成叶节点的情况有两种,一种是当前数据集全为某一类,那么生成叶节点,标记为这一类;另一种情况为

《机器学习》习题 第 4 章

中的第一题中的情况,即属性集为空,这时候这个结点的标记为数据集中数量最多的类的类别。

4.什么是过拟合和欠拟合,是什么造成的?

(23条消息) 机器学习期末复习 1,2章_JYHZZ的博客-CSDN博客

*联想树叶那个图*

过拟合是这个模型对这个问题学习的太详细了,把某些不是这个模型的特征当成了这个模型的特征。

欠拟合是这个模型对这个问题学的不够,不能正确做出判断,把很多不是这一类的归为这一类。

过拟合的原因可能有:

1)数据集的某些特征过多,某些特征缺失(比如要训练判断叶子,给的训练集的叶子全是带锯齿的,那么模型可能认为所有叶子都是有锯齿的)

2)模型过于复杂

欠拟合的原因可能有:

1)训练集数据太少

2)决策树使用预剪枝

3)模型过于简单

5.决策树如何应对过拟合和欠拟合?

预剪枝与后剪枝

6.预剪枝和后剪枝的思想?

预剪枝是在选定最优划分属性后,进行判断,如果不划分,策略是把这个结点标为数据中类别最多的类,这时计算一次准确率;如果划分,进行划分后,对每个划分分支的结果标记为数据中类别最多的类,这时再计算一次准确率。比较两次准确率,如果不划分的准确率大于划分后的准确率,那么不划分。

后剪枝首先是按照正常流程生成决策树,然后对每个非叶节点进行判断,对于某个结点,把这个结点替换为数据中类别最多的类,计算一次准确率,将这个准确率与替换前的准确率进行比较,如果不划分的准确率大于划分后的准确率,那么不划分,即剪枝。

7.预剪枝和后剪枝的优缺点?

预剪枝可以降低决策树的复杂度,减少过拟合风险;降低训练的时间开销和测试的时间开销。

但是可能造成欠拟合。

后剪枝可以降低决策树的复杂度,减少过拟合风险;造成欠拟合风险小。

但是训练的时间开销和测试的时间开销大。

8.属性中的连续值如何处理?

连续属性离散化:二分法

9.决策树有几种算法,分别是什么,这几种算法的划分依据是什么?

1)ID3算法

划分依据:信息增益(注:不能回答信息熵与信息增益)

2)C4.5算法

划分依据:增益率

3)CART算法

划分依据:基尼指数

10.信息熵度量的是什么?信息熵大代表什么?

度量样本纯度,信息熵越小,样本集纯度越高;信息熵越大,样本集纯度越低。

信息熵是非负数,最小值为0。

11.ID3算法中,最优划分属性选信息增益大的还是信息增益小的?

选信息增益大的

12.属性的可取值数目对ID3算法,C4.5算法有影响吗?

有,ID3算法偏好可取值数目多的,C4.5算法偏好可取值数目少的

13.C4.5算法中,最优划分属性选信息增益率大的还是信息增益率小的?

选信息增益率大的

14.C4.5算法中,是如何降低属性的可取值数目对划分的影响的?

选最优划分属性时,不是直接选信息增益率最大的,而是先从信息增益中选出高于平均水平的属性,然后在从中选出信息增益率高的。

15.CART算法中,最优划分属性选基尼指数大的还是基尼指数小的?

选基尼指数

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值