西瓜书学习笔记第4章(决策树)

西瓜书学习笔记第4章(决策树)

  • 4.1基本流程
  • 4.2划分选择
    • 4.2.1信息增益
    • 4.2.2增益率
    • 4.2.3 基尼指数
  • 4.3剪枝处理
    • 4.3.1预剪枝(Prepruning)
    • 4.3.2 后剪枝(postpruning)
  • 4.4 连续与缺失值
    • 4.4.1 连续值处理
    • 4.4.2 缺失值处理
  • 4.5 多变量决策树

4.1基本流程

亦称"判定树"根据上下文,本书中的"决策树"有时是指学习方法,有时是指学得的树.

决策树(decision tree)是一类常见的机器学习方法,以二分类任务为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类,这个把样本分类的任务,可看作对“当前样本属于正类吗?"这个问题的“决策”或“判定”过程,顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。

西瓜书学习笔记第4章(决策树)_第1张图片

显然 决策过程的最终结论对应了我们所希望的判定结果。一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。从根结点到每个叶结点的路径对应了一个判定测试序列,决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的“分而治之”(divide-and-conquer)策略。

西瓜书学习笔记第4章(决策树)_第2张图片
决策树的生成是一个递归过程,在决策树基本算法中,有三种情形会导致递归返回:(1)当前结点包含的样本全属于同一类别,无需划分
(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
(3)当前结点包含的样本集合为空,不能划分.
在第(2)种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;
在第(3)种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别,注意这两种情形的处理实质不同:
情形(2)是在利用当前结点的后验分布,而情形(3)则是把父结点的样本分布作为当前结点的先验分布.

4.2划分选择

由算法4.2可看出,决策树学习的关键是第8行,即如何选择最优划分属性.一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度"(purity)越来越高。

4.2.1信息增益

“信息熵”(information entropy)是度量样本纯度的最常用的一种指标。西瓜书学习笔记第4章(决策树)_第3张图片
信息增益(information gain)西瓜书学习笔记第4章(决策树)_第4张图片
一般而言,信息增益越大,则意味着使用属性a进行划分所获得的“纯度提升”越大。
因此,我们可用信息增益来进行决策树的划分属性选择,即在4.2算法第8行选择属性西瓜书学习笔记第4章(决策树)_第5张图片
著名的 ID3 决策树学习算法[Quinlan,1986] 就是以信息增益为准则来选择划分属性.
先算出根节点的信息熵,从根节点到叶节点,每一层均选择信息增益最大的属性作为划分属性。(进行下一层信息增益计算时需重新计算)

4.2.2增益率

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法[Quinlan,1993]不直接使用信息增益,而是使用“增益率”(gain ratio)来选择最优划分属性.采用与式(4.2)相同的符号表示,增益率定义为:西瓜书学习笔记第4章(决策树)_第6张图片
IV(a)称为属性a的固有值(intrinsic value)。属性a的可能取值数目越多(即V越大),则 IV(a) 的值通常会越大。
需注意,信息增益率对可取值数目较少的属性有所偏好,因此C4.5算法并不是直接根据增益率选择最优划分属性,而是使用了一个启发式:

1.先从候选划分属性中选择出信息增益高于平均水平的几个属性
2.再从选择出的属性中选择增益率最高的属性作为划分属性
即C4.5选择的最优划分属性是信息增益高于平均水平信息增益率最大的属性

4.2.3 基尼指数

CART是Classfication and Regression Tree(分类回归树)的简称,这是一种著名的决策树学习算法,分类和回归任务都可用
CART决策树使用“基尼指数”(Gini Index)来选择最优划分属性
西瓜书学习笔记第4章(决策树)_第7张图片
Gini(D)反映随意从样本集中抽取两个样本,其类别标记不一致的概率,以此来度量纯度。基尼值越小越好。我们就选择使得划分后基尼指数最小的属性作为最优划分属性,即在这里插入图片描述

4.3剪枝处理

剪枝(Pruning):是决策树学习算法对付"过拟合"的主要手段。决策树分支过多,可能把训练集中的一些特性当作所有数据都具有的一般性质而导致过拟合。

基本策略有:"预剪枝"和“后剪枝”。剪枝与否则要看剪枝前后决策树的泛化性能的变化情况。
是否过拟合(泛化性能)的度量标准:验证集精度。
决策树泛化性能的评估:这里采用留出法,预留一部分数据做测试集,用测试集的样本在决策树中的判断准确率来作为泛化性能的近似。

4.3.1预剪枝(Prepruning)

预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。

  • 验证集精度:因为“在划分之前所有样例集中在根结点,若不进行划分,根据算法该节点将被标记为叶结点,类别标记为训练样例数最多的类别(最多类不唯一可以任选一类)”。根据这个规则我们将于划分前的验证集精度与划分后验证集精度比较,若后大于前,则不剪掉。

  • 一颗只有一层划分的决策树称为决策树桩(Decision Stump)。
    预剪枝决策树优点
    1.降低了过拟合的风险
    2.显著减少了决策树的训练时间开销和测试时间开销
    预剪枝决策树缺点
    1.需要注意的是,虽然有些分支的当前划分不能提升泛化性能,甚至可能导致泛化性能下降,但在其基础上进行的后续划分却有可能显著提升决策树的泛化性能!
    2.预剪枝基于"贪心"本质禁止这些分支展开,给预剪枝决策树带来了欠拟含的风险。

4.3.2 后剪枝(postpruning)

后剪枝是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

  • 验证集精度:后剪枝也是度量剪之前和剪之后的验证集精度大小决定是否剪枝。(若将分支剪除,则相当于把该分支结点替换成叶子结点,该分支以下的类别都要被标记成多数类,这样比原先的精度会好还是会差?若好则剪)

  • 后剪枝决策树通常比预剪枝决策树保留了更多的分支

后剪枝决策树优点
1.保留更多分支,使得欠拟合风险很小
2.泛化性能往往优于预剪枝决策树

后剪枝决策树缺点
1.后剪枝是在生成决策树后进行的,并且还要自底向上对书中每个非叶结点逐一考察,因此训练时间开销大。

4.4 连续与缺失值

4.4.1 连续值处理

连续属性如何划分?最简单的策略是采用二分法(Bi-Partition),C4.5正是采用这种机制。
排序,找划分点集合,找最优划分点。
西瓜书学习笔记第4章(决策树)_第8张图片
于是,根据这些划分点我们就可以像处理离散值一样考察这些划分点,选取最优的划分点进行样本集合的划分。(划分点 就相当于 划分属性)西瓜书学习笔记第4章(决策树)_第9张图片
需注意的是,与离散属性不同,若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性。

4.4.2 缺失值处理

现实任务中常会遇到不完整样本,即样本的某些属性值缺失。
在此背景下,我们需要解决的两个问题:
(1)如何在属性值缺失的情况下进行划分属性选择?

  • 给定训练集D和属性a,令 D~表示D中在属性a上没有缺失值的样本子集.
  • 对于问题(1),显然我们仅可根据D~ 来判断属性a的优劣。
    西瓜书学习笔记第4章(决策树)_第10张图片
    西瓜书学习笔记第4章(决策树)_第11张图片
    通过在样本集D中选取在属性α上没有缺失值的样本子集,计算在该样本子集上的信息增益,最终的信息增益等于该样本子集划分后信息增益乘以样本子集占样本集的比重。即:西瓜书学习笔记第4章(决策树)_第12张图片
    (2)给定了划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
    若该样本在属性α上的值缺失,则将该样本以不同的权重(即每个分支所含样本比例)划入到所有分支节点中。即让同一样本以不同概率划入到不同子结点当中去。
    C4.5算法采用了以下的方案:
    注:每个样本初始时都被赋予权重wx ,初始化为1
  • 若样本x在划分属性a上的取值已知,则将x划入与其取值对应的子结点,且样本权值在子结点中保持为 wx
  • 若样本x 在划分属性a上的取值未知,则将x同时划入所有子结点,且样本权值在与属性值av 对应的子结点中调整为在这里插入图片描述
    (即让同一样本以不同的概率划分到子结点中,即可看到许多子结点中有同一样本,只是带的权重大小不一样,由r ~ v 决定)

4.5 多变量决策树

  • 若将每个属性视为坐标空间中的一个坐标轴,则d个属性描述的样本就对应了d维空间中的一个数据点,对样本分类则意味着在这个坐标空间中寻找不同类样本的分类边界。
  • 决策树形成的分类边界由若干个与坐标轴平行的分段组成,这些分类边界使得学习结果有较好的可解释性,因为每一段划分都对应了一个属性的取值的划分。
    西瓜书学习笔记第4章(决策树)_第13张图片
  • 但是,当学习任务的真实分类边界比较复杂时,就需要有很多的分段才能有较好的近似,此时的决策树会相当复杂,需进行大量属性测试,时间开销很大。
    西瓜书学习笔记第4章(决策树)_第14张图片
    若能使用斜的划分边界,如图 4.12 中红色线段所示,则决策树模型将大为简化。
    “多变量决策树” (multivariate decision tree) 就是能实现这样的"斜划分"甚至更复杂划分的决策树.
    在这里插入图片描述
    西瓜书学习笔记第4章(决策树)_第15张图片
    思维导图:
    西瓜书学习笔记第4章(决策树)_第16张图片
    参考博文链接:https://blog.csdn.net/qq_38962336/article/details/106397677?spm=1001.2014.3001.5502

你可能感兴趣的:(西瓜书-机器学习(学习笔记),机器学习,面试)