西瓜书--第四章决策树

一、算法原理

决策树(Decision Tree)是一种有监督学习,它能够从一系列有特征和标签的数据中总结出决策(基于分类或回归)规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。
西瓜书--第四章决策树_第1张图片
决策树基本算法的递归返回原因:

  • 当前结点包含的样本属于同一类别无法划分
  • 当前属性集为空或者所有样本在属性上的取值相同无法划分,此时标记为叶结点,并将类别设置为该结点所含样本最多的类别。
  • 当前结点包含的样本集合为空无法划分,将其设置为叶结点并将其类别设置为父结点所含样本最多的类别。

二、划分选择

2.1 信息增益

2.1.1 信息熵

信息熵是用于度量样本集合纯度的指标,是对样本不确定性的度量。假定当前样本集合 D 中第 k 类(样本共有 n 个类别)样本具有的比例是 ,则样本 D 的信息熵定义为:
西瓜书--第四章决策树_第2张图片
Ent(D) 的值越小,说明 D 的纯度越高。

2.1.2 信息增益

  • 信息增益表示得知特征 A 的信息而使得类 y 的信息的不确定性减少程度。定义为集合 D 下的经验熵 Ent(D) 与特征 A 在给定时集合 D 和经验条件熵 H(D|A) 的差值:
  • 若离散属性 a 有 V 个可能的取值 ,用 a 来对样本 D 划分可以得到 V 个分支结点,其中第 v 个分支结点包含了 D 所有在属性 a 上取值为 的样本并将其记作 ;考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重 (也就是概率 ),则可以计算出根据属性 a 划分时得到的信息增益:西瓜书--第四章决策树_第3张图片
  • 信息增益越大,则说明使用属性 a 划分所获得的纯度提升越大,因此可以通过信息增益来进行决策树的划分属性选择,即选择所有属性中信息增益最大的属性作为当前的根结点。

2.2信息增益率

    但实际上信息增益对可取值数目较多的属性有所偏好,为了减少这种偏好带来的负面影响,可以通过增益率代替信息增益作为最优属性的选择依据。增益率的定义如下:

西瓜书--第四章决策树_第4张图片
其中 IV(a) 称作属性 a 的固有值,其定义如下:
西瓜书--第四章决策树_第5张图片
可见当 a 的取值数目越多, IV(a) 通常会越大。
但增益率对取值数目较少的属性有所偏好,因此可以采用先从划分属性中找出信息增益高于平均水准的属性,再从中选择增益率最高的。

2.3 基尼指数

数据集 D 的基尼指数如下定义:
西瓜书--第四章决策树_第6张图片
基尼指数反映了从数据集 D 中抽取两个样本时,这两个样本类别不一致的概率,因此基尼指数越小,样本集 D 的纯度越高。
对于属性 a 的基尼指数定义如下:
西瓜书--第四章决策树_第7张图片
由此可选择划分后基尼指数最小的属性作为当前的根结点。

三、剪枝处理

3.1 剪枝策略

剪枝可以分为预剪枝和后剪枝两种策略:

  • 预剪枝:在决策树的生成过程中,对每个结点划分前进行估计,若当前结点的划分无法带来决策树泛化性能的提升,则停止划分。
  • 后剪枝:先根据训练集生成一棵完整的决策树,然后自底向上地对非叶节点进行考察,若将当前结点标记为叶结点可以带来决策树的泛化性能提升,则将该子树替换为叶结点。
    预剪枝和后剪枝的优缺点如下:
    西瓜书--第四章决策树_第8张图片

四、实战部分(后续加上)

你可能感兴趣的:(机器学习,决策树,机器学习,算法)