机器学习笔记[二]:决策树

决策树是一种基本的回归和分类的方法。决策树学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对于新的数据,利用决策树模型进行分类。决策树的学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。决策树的生成对应于模型的局部最优,决策树的剪枝对应于模型的全局最优。决策树的类型一般包括ID3、C4.5、CART算法。

决策树

1.决策树的基本流程

决策树是一种树形结构,一颗决策树包含一个根节点、若干个内部节点和若干个叶节点。其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。决策树是一种十分常用的分类方法,需要监督学习,监督学习就是给出一堆样本,每个样本都有一组属性和一个分类结果,也就是分类结果已知,那么通过学习这些样本得到一个决策树,这个决策树能够对新的数据给出正确的分类。
决策树学习的本质上是从训练数据集中归纳出一组分类规则。对训练数据有较强的分类能力的决策树可能有多个或者不存在。我们需要选择一个对训练数据有很好的拟合能力,同时对未知的数据又有较强的泛化能力的决策树。
决策树学习一般用损失函数表示训练的目标。决策树学习的损失函数通常为正则化的极大似然函数。

2.决策树的特征选择

特征选择在于选取对训练数据具有分类能力的特征,特征的分类的能力的强弱需要一些准则进行判断。通常特征选择的准则是信息增益或信息增益比。我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的纯度越来越高。

  • 信息增益
    熵:表示随机变量不确定性的度量。
    信息熵是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占比例为 p k p_{k} pk(1,2,3…,n),则D的信息熵定义为:
    E n t ( D ) = − ∑ k = 1 n p k l o g 2 p k Ent(D)=-\sum_{k=1}^{n}p_{k}log_{2}p_{k} Ent(D)=k=1npklog2pk
    Ent(D)的值越小,则D的纯度越高。表示对D分类的不确定性。
    由定义可知: 0 ⩽ E n t ( D ) ≤ l o g 2 n 0\leqslant Ent(D)\leq log_{2}n 0Ent(D)log2n
    假定离散属性a有V个可能的取值,特征a对训练数据集D进行划分的信息增益定义如下:
    G a i n ( D , a ) = E n t ( D ) − E n t ( D ∣ a ) = E n t ( D ) − ∑ V V = 1 ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D)-Ent(D|a)=Ent(D)-\sum_{V}^{V=1}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v}) Gain(D,a)=Ent(D)Ent(Da)=Ent(D)VV=1DDvEnt(Dv)
    一般而言,熵Ent(D)和条件熵之差成为互信息。信息增益越大,意味着使用该属性a进行划分获得的“纯度提升”越大。
    根据信息增益准则的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较其大小,选择信息增益最大的特征。
    ID3算法虽然提出了新思路,但是还是有很多值得改进的地方。  
    a)ID3没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。
    b)ID3采用信息增益大的特征优先建立决策树的节点。很快就被人发现,在相同条件下,取值比较多的特征比取值少的特征信息增益大。
    c) ID3算法对于缺失值的情况没有做考虑
    d) 没有考虑过拟合的问题
  • 信息增益比(增益率)
    信息增益值的大小是相对于训练数据集而言的,并无绝对意义。信息增益可能对可取值数目较多的属性有偏好,使用信息增益比可以修正此问题。
    特征a对训练数据集的信息增益比定义如下:
    g R ( D , a ) = g a i n ( D , a ) E n t ( D ) g_{R}(D,a) = \frac{gain(D,a)}{Ent(D)} gR(D,a)=Ent(D)gain(D,a)
  • 基尼系数
    用于CART分类树中的特征选择,同时决定该特征的最优二值切分点。

3.决策树的生成

  • ID3算法
    ID3算法的核心是在决策树各个结点上应用信息增益选择特征,递归地构建决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法构建决策树;直到所有特征的信息增益均很小或者没有特征可以选择为止。最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。
    在这里插入图片描述

  • C4.5算法
    C4.5算法相当于对ID3算法进行了改进,在生成决策树的过程中,用信息增益比来选择特征。
    在这里插入图片描述

  • CART算法
    CART生成回归树用平方误差最小化准则,对分类树用基尼系数最小化准则。进行特征选择,生成二叉树。
    在ID3算法中我们使用了信息增益来选择特征,信息增益大的优先选择。在C4.5算法中,采用了信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的问题。但是无论是ID3还是C4.5,都是基于信息论的熵模型的,这里面会涉及大量的对数运算。基尼系数简化模型同时也不至于完全丢失熵模型的优点.CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。
    具体的,在分类问题中,假设有K个类别,第k个类别的概率为 p k p_{k} pk, 则基尼系数的表达式为:

G i n i ( p ) = ∑ K k = 1 p k ( 1 − p k ) = 1 − ∑ K k = 1 p k 2 Gini(p)=\sum_{K}^{k=1}p_{k}(1-p_{k})=1-\sum_{K}^{k=1}p_{k}^{2} Gini(p)=Kk=1pk(1pk)=1Kk=1pk2

4.决策树的剪枝
i. 决策树生成算法生成的树往往对于训练数据拟合很准确,但是对于未知的测试数据分类却没有那么准确。即
出现过拟合现象。
过拟合产生得原因是决策树太复杂。解决的办法是:对决策树剪枝,即对生成的决策树进行简化。
ii. 决策树的剪枝是从已生成的树上裁掉一些子树或者叶结点,并将根结点或者其父结点作为新的叶结点。
剪枝的依据是:极小化决策树的整体损失函数或者代价函数。
iii. 决策树生成算法是学习局部的模型,决策树剪枝是学习整体的模型。即:生成算法仅考虑局部最优,而剪枝算法考虑全局最优。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值