zoukankan      html  css  js  c++  java
  • 浅析决策树的生长和剪枝

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

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

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

    一.决策树模型

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

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

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

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/104959vaiu6ltckioxgsgq.png

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

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/1050125rxx2fmokza3fbba.png

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

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/105029gh7l9eo0ujlvay6m.png

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

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/105046tfj8qfowrhwwc3jk.png

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

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/105056bxmduportpiuzwxz.png

    https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/29/1051083owpc8aebw7pkwe3.png

    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.

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

  • 相关阅读:
    5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
    5.15 省选模拟赛 容斥 生成函数 dp
    5.15 省选模拟赛 T1 点分治 FFT
    5.15 牛客挑战赛40 B 小V的序列 关于随机均摊分析 二进制
    luogu P4929 【模板】舞蹈链 DLX
    CF 878E Numbers on the blackboard 并查集 离线 贪心
    5.10 省选模拟赛 拍卖 博弈 dp
    5.12 省选模拟赛 T2 贪心 dp 搜索 差分
    5.10 省选模拟赛 tree 树形dp 逆元
    luogu P6088 [JSOI2015]字符串树 可持久化trie 线段树合并 树链剖分 trie树
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14789340.html
Copyright © 2011-2022 走看看