浅析决策树的生长和剪枝

作者: 晋座

更新时间:2022-03-26 14:30:36

498 阅读

摘要:决策树剪枝策略:先剪枝、后剪枝,用于解决过拟合问题。

本文分享自华为云社区《浅析决策树的生长和剪枝》,原文作者:chengxiaoli。

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系,它是一种监督学习。

一.决策树模型

首先说明下什么是决策树呢?决策树是一个类似流程图的树结构:每个内部节点(分支节点/树枝节点)表示一个特征或属性,每个树叶节点代表一个分类。

在决策树的生长过程中主要会存在的问题是:对于选择分支节点的主观性较强。解决办法:利用信息熵或信息增益解决因为人主观判断问题,只需要计算信息熵或信息增益再排序从而正确分类的过程。

信息增益的含义 :划分数据集前后信息发生的变化。

https://image.macnp.com/express/1472271410151424-ac009a52.png?x-oss-process=style/macnp

熵:物理学中指物体能量的分布均匀情况,信息熵:对信息的不确定性的度量:公式:H(x)=-sum(plog(p))。信息熵越小,不确定性越小,确定性越大,信息的纯度越高。H(D)是数据集D的熵,计算公式:

https://image.macnp.com/express/1472271410151424-6d0d1ccf.png?x-oss-process=style/macnp

Ck是在数据集D中出现k类的数量,N是样本的数量,类别的总数。H(D|A) 是特征A对与数据集D的条件熵,其意义是:在子集Di中Y的分布。计算方法是:

https://image.macnp.com/express/1472271410151424-f9d95017.png?x-oss-process=style/macnp

GainA(A的信息增益)=H_All(总体的信息熵)-H(A)(以A节点作为划分节点的信息熵)决策树中分支节点选择:信息增益大的作为分支节点信息增益越大,信息熵越小,信息不确定性越小,确定性越大,纯度越高。综合之后信息增益的公式:

https://image.macnp.com/express/1472271410151424-3ec350c9.png?x-oss-process=style/macnp

特征A对训练集D的信息增益比gR(D,A)定义为

https://image.macnp.com/express/1472271410151424-256164b6.png?x-oss-process=style/macnp

https://image.macnp.com/express/1472271410151424-101a1d53.png?x-oss-process=style/macnp

HA(D)刻画了特征A对训练集D的分辨能力,信息增益率改进由于信息增益偏向特征取值较多的不足之处,使用信息增益率进一步划分决策树。

以上决策算法:ID3算法-信息增益、C4.5算法-信息增益率。决策树剪枝策略: 先剪枝、后剪枝,用于解决过拟合问题。

二.ID3和C4.5划分策略

ID3和C4.5算法的划分思想:根据信息增益或信息增益率选择构建决策树的分支节点,依次递归建树。

决策树构建的基本步骤:

(1)如果所有的属性都被用于划分,直接结束;

(2)计算所有特征的信息增益或信息增益率,选择信息增益较大的(如a节点)值对应的特征进行分类;

(3)如果使用a节点作为划分节点没有划分完成,接下来使用除去a节点之外的其他特征节点中信息增益较大的进一步进行建立决策树。(递归建立决策树)

决策树停止停止生长的条件:

  • 如果属性都用于划分,直接结束;如果还有没有被划分的节点,使用多数表决;
  • 如果所有样本都已经分类,直接结束;
  • 定义最大不纯度进行度量;
  • 定义叶子节点的数目;
  • 定义分支节点包含的样本个数。

三.决策树剪枝

决策树是充分考虑了所有的数据点而生成的复杂树,有可能出现过拟合的情况,决策树越复杂,过拟合的程度会越高。决策树的构建过程是一个递归的过层,所以必须确定停止条件,否则过程将不会停止,树会不停生长。

先剪枝:提前结束决策树的增长。预剪枝降低了过拟合的风险,减少了决策树的训练时间开销和测试时间开销.带来了欠拟合的风险。

后剪枝:是指在决策树生长完成之后再进行剪枝的过程。—— 最小错误剪枝技术(MEP),悲观错误剪枝(MEP)和代价复杂度剪枝(CCP)泛化性能往往优于预剪枝决策树,训练时间开销比未剪枝的决策树和预剪枝的决策树都要大得多。

总结:

使用决策树进行分类的优点是非常直观,便于理解,并且执行效率高,执行只需要一次构建,可反复使用。但是对小规模数据集才更有效,而且在处理连续变量时效果不好,较难预测连续字段,在类别较多时,错误增加的比较快。

参考文献

[1] 陈雷.深度学习与MindSpore实践[M].清华大学出版社:2020.

[2] 诸葛越,葫芦娃.百面机器学习[M].人民邮电出版社:2020.

[3] 阿斯顿.张,李沐.动手学深度学习[M].人民邮电出版社:2020.

 

点击关注,第一时间了解华为云新鲜技术~

版权声明:本文著作权归作者【晋座 】所有,不代表本网站立场。

侵权请联系:root_email@163.com

相关推荐