zoukankan      html  css  js  c++  java
  • 【统计学习】 第5章 决策树

    决策树与if-then规则

    决策树可以看成是if-then规则的集合。由决策束的根节点到叶节点的每一条路径构成一条规则,叶节点的作为规则的结论。下图为决策树用于分类问题的示意图(决策树也能用于回归问题)。
    在这里插入图片描述

    特征选择问题

    如上图,4个条件对应4个特征,问题在于如何确定每个特征从根节点开始往下的依次顺序。选择的依据是使用信息增益,哪一个特征的信息增益最大则将该特征作为决策树上的一个节点,递归的使用该方法直到所有的特征都被选择。

    A为数据集D的一个特征,则信息熵g(D,A)g(D, A)定义为集合D的经验熵H(D)H(D)与特征A对应的经验条件熵H(DA)H(D|A)之差,即:
    g(D,A)=H(D)H(DA)g(D, A) = H(D) - H(D | A )

    C4.5决策树生成算法与信息增益比

    一个特征的取值不仅仅可以取两种,也能取多个(此时决策数就不是二叉树了)。当一个特征的取值较多时,信息增益偏向选取取值较多的特征。为了校正该问题,使用信息增益比来现在特征。

    信息增益比gR(D,A)g_R(D, A) 定义为信息增益g(D,A)g(D, A)与训练数据集关于特征A的不同值的熵HA(D)H_A(D)之比,即
    gR(D,A)=g(D,A)HA(D)g_R(D, A) = frac {g(D, A)} {H_A(D)}
    HA(D)=i=1nDiDlog2DiDH_A(D) = - sum_{i=1} ^{n} frac {|D_i|} {|D|} log_2 frac {|D_i|} {|D|}
    上式中Di|D_i|表示A特征的第ii个取值时,对应数据集D中元素的个数。

    C4.5算法在生成决策树时使用了信息增益比。

    决策树的剪枝

    决策树的生成算法对训练数据分类很准确,但对未知测试数据的分类却没有那么准确,即过拟合现象。决策树的剪枝可以解决过拟合现象,增加决策树的泛化能力。

    剪枝的过程是通过决策树的损失函数计算决策树各个子树的损失,保留损失函数最小的子树。决策树损失函数定义如下:
    Cα(T)=C(T)+αTC_alpha(T) = C(T)+ alpha|T|
    上式中C(T)C(T)为用经验熵表示的模型对训练数据的预测误差,T|T|为模型的复杂程度,αalpha用于平衡模型复杂程度与预测误差。

    CART算法

    CART算法有分类树与回归树两种模型。该模型生成的决策树是一个二叉树,同时使用均方差(对于回归问题)或者基尼指数(对于分类问题)来选择特征。基尼指数是对信息增益的近似(多项式比对数更易计算)。

    因为要生成二叉树,而特征可能会有多个取值,所以在CART算法中不仅仅需要选择最优特征,还需选择最优切分点(将一个特征的多个取值分为两类)。

    CART算法的剪枝,类似与C4.5算法,但增加了通过交叉验证选择不同αalpha值下的最优模型。

  • 相关阅读:
    【Prometheus学习笔记】主机监控 -node_exporter
    【Django学习笔记】-环境搭建
    【Python学习笔记】-虚拟环境virtualenv
    对象存储服务-Minio
    网络流各算法超详细带源码解析
    做题记录节选
    日常
    板刷NOI
    题解 宝石
    题解 矩阵游戏
  • 原文地址:https://www.cnblogs.com/bitbitbyte/p/12536583.html
Copyright © 2011-2022 走看看