分类-决策树

        决策树中的叶子节点代表决策的结果,决策的结果是根据树的根节点到该叶子节点的路径上的一系列问题来决定的。决策树模型的核心问题是如何根据训练数据自动生成决策树。
数据示例:
在这里插入图片描述
决策树:
在这里插入图片描述

决策树的生成

        决策树的生成一般是从根节点开始,选择对应特征,然后选择该节点特征的分裂点,根据分裂点确定分裂节点。对于离散型特征,节点根据特征的取值进行分裂,如上图根节点特征为收入,则根据其取值高、中和低,根节点分裂为三个子节点。对于连续型特征,则需要根据具体特征值,来分裂子节点。一般而言,当某一个节点中数据只属于某类别或方差较小时,节点不再进行进一步分裂。
决策树生成的核心问题是如何选择节点特征和特征分裂点。

不纯度

        不纯度(impurity)用来表示落在当前节点的样本的类别分布的均衡程度。决策树分裂节点的目标是使得节点分裂前后,不纯度降低(类分布更不均衡)。因此,每次分类节点时,我们选择使得节点分裂前后不纯度下降最大的特征和分裂点。
如下图所示,假设在节点分裂前的数据集为D0={1,2,3,4,5,6,7,8,9,10},分别用编号表示样本.对于银行贷款数据集,我们以特征"收入"和“教育程度"进行节点分隔为例.第一种方式选择特征收入,节点分裂后数据集分为D1、D2,和D3三部分,记为D123.第二种方式选择特征“教育程度",节点分裂后数据分为D4、D5,和D6三两部分,记为D456.假设Imp(.)为节点的不纯度.那么按照第一种方式分裂节点前后,不纯度的下降值为Imp(D0)- Imp(D123).按照第二种方式分裂节点前后,不纯度的下降值为Imp(D0)- Imp(D456).对比两种分裂方式下不纯度下降值的大小,下降值更大的分裂方式为更优的分裂方式。
在这里插入图片描述
        常见三种节点不纯度的度量方法:Gini指数(Gini index),信息熵(entropy)和误分率(misclassification error)

Gini指数

        Gini指数是意大利学者Gini用来判断社会收入分配公平程度的指标,它能够反映社会中各个收入水平的人群数量分布的均衡程度。在决策树场景下,人们借用Gini指数来度量决策树中落在某一个节点的不同类别样本分布的不纯度。

假设数据集一共有C类,在节点t中第c类样本的相对频率为p(c|t),则节点t的Gini指数为
在这里插入图片描述
当节点中属于每个类别的样本数均匀分布,Gini指数取得最大值1-1/c,此时节点不纯度最大;当样本全部属于一个类别时,Gini指数取得最小值为0,此时节点的不纯度最小。

在银行贷款数据集中C=2,若按照收入对根节点进行分裂,则3个叶子节点的Gini指数计算如下
在这里插入图片描述
在这里插入图片描述

假设节点t中样本数为n,节点t经过某种方式分裂后生成了K个子节点,其中第k个子节点tk中的样本数为nk。通过对每一个子节点的Gini指数根据其所包含的样本数进行加权,可以得到分裂后的Gini指数为
在这里插入图片描述
对于不同的分裂方式,我们总是选择使得Gini指数下降值Gini(t0)-Ginispilt最大的方案,其中t0为根节点。易知,
在这里插入图片描述
在这里插入图片描述
则Gini(t0)-Ginispilt=0.260,同理可以计算出根据特征教育程度、婚姻状态、性别分裂根节点后的Gini指数下降值,特征收入的Gini指数下降值最大,选择收入进行分裂。在分裂根节点后,发现在收入中等取值的叶子节点包含了违约样本和未违约样本,所以还需要根据叶子节点再次进行分裂,选择特征的依据与分裂根节点时类似,由此得到完整的决策树,最终的叶子节点只包含一类样本。
在这里插入图片描述

信息熵

在信息论中,信息熵是用来描述信息不确定度的一个概念,在决策树场景下,研究者用信息熵来度量一个节点样本分布的不纯度。假设数据集一共有C类,节点t中第c类样本的相对频率为p(c|t),则节点t的信息熵为
在这里插入图片描述
当节点中的样本均匀分布在每一个类别时,信息熵取得最大值log2C,说明此时节点的不纯度最大;当所有的样本属于某一个类别时,信息熵取得最小值0,说明此时节点的不纯度最小。上述3个节点,熵如下:
在这里插入图片描述
基于节点信息熵的定义,我们可以计算节点分裂前后的信息熵的下降值,称为信息增益(information gain)
在这里插入图片描述
对于当前节点,如果有多个分裂节点的方案,我们以信息增益作为评价分裂方案好坏的标准,选择信息增益最大的分裂方案。在实际应用过程中,信息增益倾向于将决策树的节点分裂成很多的叶子节点(节点的样本数较小),从而容易造成过度拟合问题。

一种克服上述缺点的方法是使用节点分裂的子节点的样本数信息对信息增益进行修正.假设节点t0包含n个数据,经过分裂生成k个子节点,子节点中的样本数分别为{n1,n2,…,nk},则这次分裂信息增益为
在这里插入图片描述
然后使用信息增益率代替信息增益作为评价分裂好坏的标准:
在这里插入图片描述
信息增益率通过分裂信息对信息增益进行调整,能避免节点分裂成很多数量的叶子节点。

误分率

误分率是另外一种度量节点不纯度的方法.假设数据集一共有C类,在节点t中第c类数据的相对频率为p(c|t),则节点t的误分率为
在这里插入图片描述
误分率所代表的含义为,当按照多数类来预测当前节点样本的类别时,被错误分类的数据的比例.当样本均匀地分布在每一个类别时,误差率取得最大值(1-1/c),说明不纯度最大。当样本都属于某一个类别时,误分率取得最小值0,说明不纯度最小。误分率的计算如下:
在这里插入图片描述
对于二分类问题,假设正类样本的相对频率为p,则负类样本的相对频率为1一p.此时,上述三种不纯度度量指标分别为
在这里插入图片描述
在这里插入图片描述
对比三种不纯度度量标准,当相对频率为0或者1的时候,分类效果最好,不纯度都为0.当相对频率在0.5附近时,分类效果最差,三种衡量方法都达到最大值.在升高过程中,在p相同的情况下,用信息嫡度量的不纯度最大,对不佳分裂行为的惩罚也最大.

常见的决策树算法

在这里插入图片描述

剪枝

        决策树算法有可能会产生过于复杂的树(例如树的层数太多、树的节点数过多等),从而使得学习到的决策树模型在测试集上的效果不理想,也即容易产生过度拟合问题.决策树产生过度拟合的原因可能是训练集含有异常数据或噪声.如下图所示,当划分到子节点tj时,节点内的不纯度已经满足要求.如果进一步将子空间tj;继续分裂为叶子节点tm和叶子节点tm-1.虽然在训练集这个分裂操作会使决策树的分类准确率更高,但是到实际应用时这个划分很可能会使决策树的表现变得更差。
在这里插入图片描述
        如果我们学习到了过于复杂的树,可以通过剪枝(pruning)策略来对树的复杂性进行控制。根据剪枝是在决策树生成过程中进行还是决策树生成完成后进行,可以分为预剪枝(prepruning)和后剪枝(postpruning)。预剪枝是指在决策树生成的过程中,设置一个不纯度下降值阈值。当考虑分裂节点时,如果不纯度下降值小于给定的阈值,则停止对节点进行分裂,将该节点标记为叶子节点。后剪枝是指利用训练集完整建立决策树模型,建立完成后再对决策树进行剪枝操作。预剪枝简单直观,而后剪枝被证明在实践中更成功。
        以后剪枝为例,考虑讨论如何进行决策树的剪枝。在这之前,我们首先需要一种度量整棵决策树优劣的指标,通过这种指标我们可以对比剪枝前后的决策树,从而判断是否要进行某一个具体的剪枝操作。假设数据有C种类别,某一棵决策树T包含|T|个节点,其中节点t中的样本量为nt。那么,判断决策树优劣的指标(此处我们称为整体损失函数)可以定义为
在这里插入图片描述
        其中Imp(t)为节点t的某种不纯度度量,如我们介绍的Gini指数、信息嫡或者误分率.上式的第一项为决策树对训练集的拟合程度,第二项为决策树模型的复杂度。第一项减小会导致第二项增大,反之亦然.通过最小化整体损失函数,可以权衡拟合度和复杂度,而复杂度控制参数α代表了我们预先设置的一种权衡倾向。较大的α值意味着对复杂的决策树模型有更高的惩罚。

决策树分析

        我们还可以从空间划分的角度来看决策树,决策树的节点分裂过程实际上等价于对空间的划分.假设决策树将空间划分为M个互不相交的区域,则决策树的预测函数可以表示为如下形式:
在这里插入图片描述
        其中I(·)为指示函数. cm指子空间Rm中样本目标值的某种平均值:当决策树为处理回归问题时,返回该子空间中样本的目标值的平均值;当决策树为处理分类问题时,返回子空间样本的多数类。

        决策树原理简单,易于理解,具有较高的精确度,而且可解释性也很高,对于缺失特征也有很好的处理方式,比如将缺失作为一个新的数值类别。决策树由于使用贪婪算法的思想,即在每次分裂时选择当前情况下带来信息增益最高的属性进行分裂,容易陷入局部最优解.单棵的决策树在确定分类边界时,由于决策特征只涉及单个特征的逻辑判断,导致决策边界是平行于坐标轴的直线,这就限制了决策树对分类边界的表达能力,导致模型的准确性较差。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值