第五章 决策树
- 决策树(decision tree)是一种基本的分类与回归方法,本章主要讨论用于分类的决策树。
- 决策树模型成树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
- 决策树模型与学习
- 决策树模型:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶节点(leaf node)。内部结点表示一个特征或属性,叶节点表示一个类。
- 决策树与if-then规则
- 决策树与条件概率分布
- 决策树学习:决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程。
- 特征选择
- 特征选择的问题:特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。通常特征选择的准则是信息增益或信息增益比。
- 信息增益:决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
- 信息增益比:信息增益的大小是相对于训练数据集而言的,并没有绝对意义。在分类问题困难时,也就是说在训练数据集的经验熵大的时候,信息增益值会偏大。反之,信息增益值会偏小,使用信息增益比可以对这一问题进行校正。
- 决策树的生成
- ID3算法
- ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归地构建决策树。
- C4.5算法
- C4.5算法与ID3算法相似,C4.5算法对ID3算法进行了改进。C4.5在生成的过程中,用信息增益比来选择特征。
- 决策树的剪枝
- 决策树生成算法递归地产生决策树,直到不能继续下去为止。这样产生的树往往对训练数据的分类很准确,但对未知测试数据的分类却没有那么准确。
- 过拟合的原因在于学习时过多地考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树。
- 解决这个问题的方法是考虑决策树的复杂度,对已生成的决策树进行简化。
- CART算法
- 分类与回归树(classification and regression tree,CART)模型是应用广泛的决策树学习方法。
- CART同样由特征选择、树的生成及剪枝组成,既可以用于分类也可以用于回归。
- CART算法由以下两步组成:
- 决策树生成
- 决策树剪枝
- CART生成
- 回归树的生成:回归树用平方误差最小化准则,进行特征选择,生成二叉树。
- 分类树的生成:分类树用基尼指数(Gini index)最小化准则,进行特征选择,生成二叉树。
- CART剪枝
- 首先从生成算法产生的决策树底端开始不断剪枝,直到根节点,形成子树序列。
- 然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。
- 然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。