机器学习-决策树

作者: 文哥的学习日记 | 来源:发表于2017-07-09 09:56 被阅读228次

    1、引言

    决策树(Decision Tree)是数据挖掘中一种基本的分类和回归方法,它呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if−then规则的集合,也可认为是定义在特征空间与类空间上的条件概率分布。下图是一个简单的决策树示例:


    决策树示例

    决策树模型的主要优点是模型具有可读性,分类速度快。在学习时,利用训练数据,根据损失函数最小化原则建立决策树模型;而在预测时,对新的数据,利用决策树模型进行分类。主要的决策树算法有ID3算法、C4.5算法和CART算法。

    一个性能良好的决策树,是一个与训练数据矛盾较小的决策树,同时又具有很好地泛化能力。言外之意就是说,好的决策树不仅对训练样本有很好的分类效果,对于测试集也有较低的误差率。一个决策树的学习过程包括三个步骤:特征选择、决策树的生成以及决策树的修剪。

    2、特征选择


    在信息论与概率统计中,熵表示随机变量不确定性的度量。设X是一个取有限个值得离散随机变量,其概率分布为:


    则随机变量X的熵定义为:

    条件熵
    H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性:
    条件熵
    经验熵和经验条件熵:当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵和条件经验熵。

    信息增益
    信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:

    信息增益
    一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
    于是我们可以应用信息增益准则来选择特征,信息增益表示由于特征A而使得对数据集D的分类的不确定性减少的程度。对数据集D而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。

    信息增益算法
    设训练数据集为D,|D|表示其样本容量,即样本个数。设有K
    个类Ck,k=1,2,⋅⋅⋅,K,|Ck|为属于类Ck的样本个数,∑Kk=1|Ck|=|D|。设特征A有n个不同的取值a1,a2,⋅⋅⋅,an,根据特征A的取值将D划分为n个子集D1,D2,⋅⋅⋅,Dn为Di的样本个数,∑ni=1|Di|=|D|。记子集Di中属于类Ck的样本的集合为Dik。
    具体信息如下:

    信息增益的计算

    信息增益比
    以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比可以对这一问题进行校正。
    信息增益比表示特征A对训练数据集D的信息增益比。gR(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的值的熵HA(D)之比,即:

    信息增益比

    基尼系数
    分类问题中,假设有K个类,样本点属于第k类的概率为pk,则概率分布的基尼系数定义为:

    基尼系数
    若样本集合D根据特征A是否取某一可能值a被分割成D1和D2
    两部分,即:
    对A的划分
    则在特征A的条件下,集合D的基尼指数定义为:
    基尼系数
    基尼系数Gini(D)表示集合D的不确定性,表示经A=a分割后集合D的不确定性。基尼系数越大,样本集合的不确定性越大,与熵类似。
    从下图可以看出基尼指数和熵之半的曲线很接近,都可以近似地代表分类误差率。

    3、决策树的生成

    ID3算法
    ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地建构决策树。

    其具体方法为:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。但是ID3算法只有树的生成,所以该算法生成的树容易产生过拟合。
    具体的算法步骤如下图:


    ID3算法

    C4.5
    与ID3算法相似,C4.5算法对ID3算法进行了改进,C4.5在生成的过程中,用信息增益比来选择特征

    CART
    分类树与回归树(classification and regression tree,CART)模型(Breiman)由特征选择、树生成及剪枝组成,既可用于分类也可用于回归。CART是在给定输入随机变量X条件下输出变量Y的条件概率分布的学习方法。它假定决策树是二叉树,内部取值为“是”(左分支)和“否”(右分支)。
    它的基本步骤为

    1)决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大。
    2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这是用损失函数最小作为剪枝的标准。

    对分类树用基尼系数(Gini index)最小化准则,进行特征选择,生成二叉树,其具体步骤如下:


    分类树

    接下来具体说说回归树是如何进行特征选择生成二叉回归树的。


    回归树

    我们可以通过下面的图来具体的体会回归树的生成过程:


    回归树生成

    4、决策树剪枝

    剪枝
    决策树的过拟合指的是学习时过多地考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树。解决过拟合的办法是考虑决策树的复杂度,对已生成的决策树进行简化,即剪枝(从已生成的树上裁剪调一些子树或叶结点,并将其根结点或父结点作为新的叶结点,从而简化分类树模型)。
    下图展示了决策树剪枝的过程:

    决策树剪枝

    决策树生成只考虑了通过信息增益(或信息增益比)对训练数据进行更好的拟合。而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。决策树生成学习局部的模型,而决策树剪枝学习整体的模型。此损失函数的极小化等价于正则化的极大似然估计,即利用损失函数最小原则进行剪枝就是用正则化的极大似然估计进行模型选择。

    如果你喜欢我写的文章,可以帮忙给小编点个赞或者加个关注,我一定会互粉的!
    如果大家对机器学习感兴趣,欢迎跟小编进行交流,小编微信为sxw2251,加我要写好备注哟!


    我的微信

    相关文章

      网友评论

        本文标题:机器学习-决策树

        本文链接:https://www.haomeiwen.com/subject/dhxjhxtx.html