统计学习五:1.决策树基本概念

全文引用自《统计学习方法》(李航)

决策树(decision tree) 是一种常用的分类与回归方法。决策树的模型为树形结构,在针对分类问题时,实际上就是针对输入数据的各个特征对实例进行分类的过程,即通过树形结构的模型,在每一层级上对特征值进行判断,进而到达决策树叶子节点,即完成分类过程。
决策树的主要优点是模型的可读性较强,分类的速度快。在学习时,主要利用训练数据,根据损失函数最小化原则去构建决策树;在预测时,通过决策树对输入数据进行分类。
决策树的学习过程主要分为三步,即特征选择、决策树的生成、决策树的剪枝。这些决策树学习的主要思想,来源于Quinlan在1986N年提出的ID3算法和1993年提出的C4.5算法。同样,Breiman等人也在1984年提出CART算法。
本文主要介绍决策树的基本原理和其中涉及到概念,在以后介绍决策树的特征选择,ID3及C4.5等算法以及决策树的生成和剪枝等操作。

1. 决策树模型和学习

1.1 决策树模型的定义

分类决策树模型是指一种描述对实例进行分类的树形结构模型。决策树由节点和有向边组成,节点分为内部节点和叶节点,内部节点表示训练数据的某个属性或特征,用以进行分类决策,叶节点表示某种具体的类。
决策树的分类过程,就是从根节点开始,对输入实例的某一个特征进行测试,根据测试的结果选择进入哪一个子节点,而此子节点又代表了对该特征的取值。此时递归地进行测试和选择,直到到达叶节点。最后,叶节点所代表的类就是该实例的分类结果。

1.2 决策树与if-then规则

在理解决策树模型时,可以将决策树看成一组if-then规则的集合。将决策树转化为if-then规则集合,就是去搜索决策树上由根节点到所有叶子节点的所有路径,每一条路径就代表了一条规则。而路径上的内部节点,就对应着对该节点上特征的判断,而叶节点的类就代表了该条路径对应的规则。
通过决策树与if-then规则集合的转化,我们可以看出,决策树具有如下性质:

  • 每个实例都有且只有一条路径可以从决策树的根节点到达叶子节点
  • 决策树的每个内部节点对实例特征的判断都是互斥的,即实例在判断出到达一个子节点时,不可能存在到达另一子节点所代表的子树上。
1.3 决策树与条件概率分布

决策树模型还可以表示在给定的特征条件下,类的条件概率分布。类的条件概率分布可以表示为对特征空间的一种划分。将特征空间根据各个特征值不断进行划分,就将特征空间分为了多个不相交的单元,在每个单元上定义一个类的概率分布,这样,这条由根节点到达叶节点的路径就成了一个条件概率分布。假设X表示特征的随机变量,Y表示类的随机变量,那么这个条件概率可以表示为$P(Y|X)$,根据输入的实例,由路径找到对应单元的各个类的条件概率,并将该输入实例分为条件概率最大的一类中,就可以完成对实例的分类。

1.4 决策树的学习

决策树的学习目的是根据训练数据集构建一棵决策树模型,使它能够对新输入的实例进行正确的分类。
从if-then规则集的角度看待决策树,其学习的本质就是从训练数据集中归纳出一组分类规则。这组规则可能完美符合训练集的所有数据,也可能与训练集中的少数实例点相矛盾,而矛盾的点,我们就可以将其看做训练集中的噪声点。
从条件概率的角度看待决策树,其学习的本质就是从训练集中找出一个符合要求的估计条件概率模型。由于基于特征空间划分的类的条件概率模型理论上由无穷多个,因此学习的过程就是去寻找一个不仅对训练数据有很好的拟合效果,对测试数据也具有很好的预测能力的条件概率模型。
决策树学习用损失函数来表示学习的目标,其损失函数通常是正则化的极大似然函数,学习的策略就是以损失函数为目标函数的最小化。当损失函数确定时,模型的学习就转换为在损失函数意义下选择最优决策树的问题。
决策树学习算法通常是一种递归地进行最优特征选择,并根据所选择的特征对训练数据集进行划分,并进行树的构建的过程。具体的过程如下:

  1. 构建根节点,将所有数据放在根节点,选择一个最优的特征,按照这一特征将训练数据集划分为多个子集;
  2. 判断若一个子集中的所有实例均为一类,即通过根节点所选的特征值已经能够将此部分数据正确分类,那么就构建一个叶节点;
  3. 判断若一个子集中的实例不能够被正确分类,那么递归地对这些子集进行选择最优特征,并进行分类,构建相应节点,不断递归下去,直到所划分的子集能够被正确分类并构建出叶子节点为止。

通过以上过程,就可以构建出一棵对训练数据有很好的分类能力的决策树
以上构建的决策树,对训练数据分类效果很好,但通常对未知的数据并没有很好的分类能力,即泛化能力较差,容易产生过拟合。为此,可以对生成的数据进行剪枝,去掉过于细分的叶节点,使其退回到父节点,甚至更高的节点,并将父节点或更高的节点作为叶节点。同时,若输入的训练数据集特征较多,也可以挑选出对数据分类影响最大的几类特征作为分类特征,从而减小决策树的复杂度。
由以上可以看出,决策树的学习过程主要分为特征选择、决策树的生成和决策树的剪枝。决策树可以看做为一个条件概率模型,因此决策树的深度就代表了模型的复杂度,决策树的生成代表了寻找局部最优模型,决策树的剪枝代表了寻找全局最优模型。

posted @ 2018-09-20 12:44  之语  阅读(1598)  评论(0编辑  收藏  举报