决策树基本概述:
- 算法类别:一种基本的分类和回归方法;
- 基本结构:呈现树形结构,在分类问题中表示基于特征对实例进行分类的过程。
- 主要优点:模型具有可读性,分类速度快。
- 一般步骤:特征选择、决策树的生成和决策树的修剪。
5.1.决策树模型与学习
决策树的定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。
决策树分类过程:从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子结点。递归执行上述过程直到到达叶节点。
决策树的规则构建:由决策树的根节点到叶节点的每一条路径构建一条规则;路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。
规则集合的性质:互斥并且完备。也就是说,每一个实例都被且仅被一条路径或一条规则所覆盖。
决策树与条件概率分布:决策树可以表示给定特征条件下类的条件概率分布,换句话说,也就是在当某个样本的某个或某些特征值确定后,判定其属于各个类别的概率,这个概率是条件概率。最终选择条件概率最大的一个类作为分类结果。
决策树学习:
- 决策树学习的本质:从训练数据集中归纳出一组分类规则。
- 可能的决策树数量:与训练数据集不相矛盾的决策树可能有多个,也可能一个都没有。
- 损失函数:通常是正则化的极大似然函数。
- 求解算法:因为从可能的决策树中直接选取最优决策树是NP完全问题,因此通常采用启发式算法,近似求解该最优化问题,这样得到的决策树是次最优的。常用的学习算法有ID3、C4.5和CART。
- 算法流程:通常是一个递归地选择最优特征,并根据该特征对训练集数据进行分割,使得对各个子数据集有一个最好的分类的过程。
- 过拟合与剪枝:决策树很容易发生过拟合问题,因此需要对生成的树自下而上进行剪枝,使得树变得简单,从而具有更好的泛化能力。具体的,就是去掉过于细分的叶子结点,使得其回退到父结点甚至更高的结点,然后将父结点或更高的结点改为新的叶结点。
5.2.特征选择
特征选择概述:特征选择在于选择对训练数据具有分类能力的特征,这样可以提高决策树学习的效率。
常用的选择准则:信息增益或信息增益比。、
信息熵:
- 表示内容:表示随机变量不确定性程度。
- 计算公式:
- 度量单位:如果上面的表达式中对数以2为底,则单位称为比特;如果上面的表达式中对数以自然对数e为底,则单位称为纳特。
- 变化范围:
- 特征选择的趋向性:偏向于选择取值较多的特征。
- 条件熵:条件熵H(Y|X)表示在已知随机变量X的取值的条件下随机变量Y的不确定性。
- 经验熵和经验条件熵:由于熵的计算中需要求出概率,当概率是使用数据估计(尤其是最大似然估计法)得到时,所对应的熵与条件熵分别被称为经验熵和经验条件熵。
信息增益:
- 表示内容:得知随机变量X的信息而使得类别Y的信息不确定性减少的程度。
- 信息增益定义:特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差。
- 使用信息增益准则的特征选择原理:不同的特征往往有不同的信息增益,信息增益大的特征具有更强的分类能力。
- 使用信息增益准则的特征选择方法:对训练数据集D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
信息增益计算例题(暂略)
特征增益比:
- 优点:校正了信息增益选择取值较多的特征的问题。
- 定义:特征A对训练数据集D的信息增益比gr(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的值的熵HA(D)之比。
5.3.决策树的生成
ID3算法:从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点,再对子结点递归调用以上方法生成决策树。直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一棵决策树。
C4.5算法:C4.5算法和ID3算法相似,C4.5算法对ID3算法进行了改进,使用信息增益比代替信息增益来选择特征。
5.4.决策树的剪枝
决策树的问题:决策树在学习的过程中过多地考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树,因此会有过拟合问题。
剪枝的定义:剪枝是决策树中将已经生成的树进行简化的过程。具体的,剪枝从已经生成的树上裁掉一些子树或叶子结点,并将其根节点或父结点作为新的叶结点,从而简化分类树模型。
整体与局部的学习:决策树的生成过程学习局部的模型,决策树剪枝学习整体的模型。
决策树的剪枝算法:对于每一个结点计算其剪枝前后的损失函数值,如果剪枝后损失函数值变小,则可以进行剪枝。重复这个过程直到不能继续为止。
5.5.CART算法
CART算法地位:分类与回归树模型CART是应用广泛的决策树学习方法。
CART算法功能:同样既可以用于分类也可以用于回归。
CART的结构:假设决策树是二叉树,内部结点特征的取值都是“是”或“否”,左分支为“是”,右分支为“否”。这样的决策树等价于递归地二分每个特征,将输入空间划分为有限个单元,并在这些单元上确定预测的概率分布。
CART的算法流程:
- 决策树生成:基于训练数据集生成决策树,生成的决策树要尽可能大。
- 决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
分类树的特征选择准则:基尼指数