嘘~ 正在从服务器偷取页面 . . .

机器学习1:决策树


一、决策树的描述

决策树(decision tree)

  • 一种监督学习方法

  • 优点

    • 速度快
    • 易于理解、可解释性强
    • 需要样本量小
  • 任务类型

    • 分类
    • 回归

  • 决策树一般分三步,

    (1)特征选择

    (2)决策树生成

    (3)决策树剪枝

1、度量混乱程度——信息熵

“信息熵”是度量样本级和纯度最常用的一种指标。

热力学里有一个熵的概念,熵就是来形容系统混乱程度的,系统越混乱,熵就越大。信息熵也具有同样的意义,不过它描述的是随机变量的不确定性(也就是混乱程度)。

  • 假定当前样本集合D中第K类样本所占的比例记作:$p_k(k=1,2,…,|y|)$

  • 则它的信息熵计算公式为:
              $H(D)=-\sum\limits_{i=0}^{|y|}p_klogp_k$
                                              因而可计算出例子中的信息熵:

从上面的计算结果中可以看出,信息熵越大,纯度越低。当集合中所有样本均匀混合时,信息熵越大,纯度越低。

信息熵计算练习:

2、信息增益

  • 设离散属性a有V个可能的取值{$a^1$,$a^2$,…,$a^v$}

  • 若用a来进行划分,则会产生V个分支节点

  • 其中第v个分支节点包含了D中所有在属性a上取值为$a^v$的样本,记为$D^v$

  • 那么可计算出属性a对样本集D进行划分所获得的“信息增益”为:

    其中,$\frac{|D^v|}{|D|}H(D^v)$也被称为条件熵

二、构建决策树

ID3决策树算法使用信息增益来构建决策树,对于所有的属性我们先选择信息增益最大的作为根节点,然后计算其他属性的信息增益再选择最大的作为子节点,一直递归调用该操作,直到信息增益很小或者没有特征为止。

ID3算法的优缺点:

  • 优点:

    • 假设空间包含所有的决策树,搜索空间完整
  • 健壮性好,不受噪声影响

    • 算法直观、可解释性强。
  • 缺点:

    • 只能处理离散值的属性。

    • 容易产生过拟合的问题

    • 采用了信息增益作为评价标准

信息增益比

信息增益比定义:$Gain_ratio(D,a)=G_r(D,a)=\frac{Gain(D,a)}{IV(a)}$

其中

称为属性a的“固有值”,属性a的可能取值数目越多(即V越大),则$IV(a)$的值通常就越大。

三、离散化、缺失值、剪枝

1、连续性属性值的离散化

2、缺失值处理中的问题

  • 不完整样本,即样本的属性值缺失

  • 仅使用无缺失的样本进行学习?

   对数据信息极大的浪费

  • 使用有缺失值的样本,需要解决哪些问题?

   Q1:在训练时,如何在属性值缺失的情况下进行划分属性选择?
   
   Q2:在训练时,给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
   
   Q3:在预测时,若属性值缺失,如何计算?

2.1 缺失值处理

Q1:


Q2:
  • 若样本$x$在划分属性a上的取值已知,则将$x$划入与其取值对应的子结点,且样本权值在子结点中保持为$w_x$

  • 若样本$x$在划分属性a上的取值未知,则将$x$同时划入所有子结点,且样本权值在与属性值$a_v$对应的子结点中调整为$\widetilde{r_v}\times{w}$(直观来看,相当于让同一个样本以不同概率划入不同的子结点中去)

Q3:
  • 若样本$x$在属性a上的取值已知,则正常按照属性值在决策树上移动
  • 若样本$x$在属性a上的取值未知:
       - 直接给出分类结果
       - 人为赋予最常见的值,然后继续分类过程

3、剪枝策略

  • 剪枝的原因:提高泛化能力
  • 预剪枝
    • 节点内数据样本低于某一阈值
    • 所有节点特征都已分裂
    • 节点划分前准确率比划分后准确率高
  • 后剪枝
    • 悲观剪枝方法
    • 训练数据集上的错误分类数量来估算未知样本上的错误率

C4.5算法流程图

四、决策树的优缺点分析

  • 优点
  • 可解释性强
  • 图形化和直观化
  • 需要训练的数据更少
  • 可同时用于分类和回归
  • 模型复杂度低
  • 对缺失值的容忍度较高
  • 缺点
  • 很容易出现过拟合,对异常值敏感
  • 学习能力不强

文章作者: Jeremy Yang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jeremy Yang !
  目录