机器学习西瓜书&南瓜书 决策树

本文深入探讨了决策树的基本流程,重点关注信息增益、增益率和基尼指数在划分选择中的作用。介绍了ID3、C4.5和CART算法的不同划分策略,以及连续值处理和缺失值处理的方法。同时,讨论了决策树的剪枝处理以防止过拟合,并简要提及了多变量决策树的概念。
摘要由CSDN通过智能技术生成

机器学习西瓜书&南瓜书 决策树

1. 基本流程

决策树是一类常见的机器学习方法。以二分类为例,希望从给定训练集学得一个模型用以对新示例进行分类。决策树在决策过程中提出的每个判定问题都是对某个属性的“测试”,每个测试的结果或是导出最终结论,或是导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内。

决策树学习的目的是为了产生一颗泛化能力强,即处理未见示例能力强的决策树,及基本流程遵循简单且直观的“分而治之”策略,如下图:

在这里插入图片描述

在决策树基本算法中,有三种情况会导致递归返回:

  • 当前结点包含的样本全属于同一类别,无需划分
  • 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
    • 把当前结点标记为叶子结点,并将其类别设定为该结点所含样本最多的类别
  • 当前结点包含的样本集合为空,不能划分
    • 把当前结点标记为叶子结点,但其类别设为父结点所言样本最多的类别

2. 划分选择

在前面讲到,决策树算法的关键点是从当前属性集中选取最优化分属性,一般而言,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的”纯度“越来越高。

2.1 信息增益

”信息熵“(information entropy)是度量样本集合纯度最常用的一种指标。假设当前样本集合D中第k类样本所占的比例为 p k ( k = 1 , 2 , . . . ∣ Y ∣ ) p_k (k=1, 2, ... |\mathcal{Y}|) pk(k=1,2,...Y),则D的信息熵定义为:
E n t ( D ) = − ∑ k = 1 ∣ Y ∣ p k log ⁡ 2 p k Ent(D) = -\sum_{k=1}^{\left|\mathcal{Y}\right|}p_k\log_2p_k Ent(D)=k=1Ypklog2pk
计算信息熵时约定:若p=0,则 p log ⁡ 2 p = 0 p\log_2p=0 plog2p=0,Ent(D)的最小值为0,最大值为 log ⁡ 2 ∣ Y ∣ \log_2\left|\mathcal{Y}\right| log2YEnt(D)的值越小,则D的纯度越高。

属性a对样本集D进行划分所获得的”信息增益“(information gain)如下:
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D V ∣ ∣ D ∣ E n t ( D V ) Gain(D, a) = Ent(D) - \sum_{v=1}^{V}\frac{\left|D^V\right|}{\left|D\right|}Ent(D^V) Gain(D,a)=Ent(D)v=1VDDVEnt(DV)
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的”纯度提升“越大。因此可用信息增益来进行决策树的划分属性选择,即选择 a ∗ = arg ⁡ a ∈ A m a x G a i n ( D , a ) a_*=\arg_{a \in A}maxGain(D, a) a=argaAmaxGain(D,a),著名的ID3(Iterative Dichotomiser 迭代二分器)决策树学习算法就是以信息增益为准则来选择划分属性。

2.2 增益率

信息增益会对取值数目较多的属性有所偏好,如使用编号作为划分属性,则编号划分产生的每一个分治仅包含一个样本,这时分支结点的纯度已达最大,但这时决策树不具有泛化能力。

为减少偏好可能带来的不利影响,著名的C4.5决策树算法不直接使用信息增益,而是使用”增益率“(gain ratio)来选择最优化分属性,其定义如下:
G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain_ratio(D, a) = \frac{Gain(D, a)}{IV(a)} Gainratio(D,a)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值