什么是决策树
决策是是一种基本的分类与回归方法。决策树称属性结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以分为是if-then规则的集合,也可以是定义在特征空间与类空间上的条件概率分布,其主要优点是模型具有可读性,分类速度快。学习时,利用损失函数最小化原则建立决策树模型。决策树模型学习通常包含3个步骤:特征选择、决策树的生成和决策树的修剪。决策树三种经典的学习算法为ID3、C4.5、CART。
决策树学习算法
决策树学习本质上是从训练数据中归纳出一组分类规则。能够对训练数据集进行正确分类的决策树有很多个,也可能没有,我们要从中选择一个矛盾较小的决策树,同时又要有很好的泛化能力。
决策树学习用损失函数表示这一目标,通常为正则化的极大似然函数。决策树的学习策略是以损失函数为目标函数的最小化。当损失函数确定以后,学习问题就变成了以损失函数意义下钻则最优决策树的问题,因为从所有的可能的决策树中选取最优的决策树是NP完全问题,所以通常采用启发式的方法,得到的往往是次优的。
特征选择
决策树的学习算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好分类的过程,这一过程对应着对特征空间的划分,也对应着决策树的构建,即决策规则的建立。
特征选择的关键是其准则。常用的准则为:
ID3 — 信息增益
数据集未划分前的信息熵为:
其中,K为数据集类别数。数据集按照某一特征A进行划分之后的条件信息熵:
其中,n为属性A的取值个数。因此,样本集合D在采用属性A来划之后的信息增益为:
ID3算法是最早的决策树学习算法。ID3算法优点是使用简单,但是,有很多不足之处。ID3算法偏向于选用取值数目较多的属性,另外,ID3算法没有对连续值的处理,也没有剪枝算法,容易过拟合。
C4.5 — 信息增益比
样本集合D对特征A的信息增益比为:
其中,n为属性A取值个数。IV(A)表示属性A的内部信息。当A的取值越多,IV(A)越大。因此,采用信息增益比可以抑制上述问题。但是信息增益比倾向于选择属性取值较少的属性,因此,C4.5算法并不会直接选择信息增益比最大的那个,而是采用启发式方法:先从候选划分属性中找出划分属性中信息增益高于平均水平的属性,再从中找出增益比最高的。
CART — 基尼系数
样本集合D的基尼系数:
特征A下集合D的基尼系数:
直观来说,基尼系数反映从数据集D中随机抽取两个样本,其类别标记不一致的概率,因此基尼系数越低,数据集D的纯度越高。
决策树的生成
通常使用信息增益最大、信息增益比最大或基尼系数最小的准则来选择特征。决策树的生成往往通过计算信息增益或其他指标,从根节点开始,递归产生决策树,这相当于用信息增益或其他准则不断地选择局部最优特征。
CART算法与ID3和C4.5算法不同的是,CART算法既可以用于分类也可以用于回归。CART算法在划分数据时采取的是一分为二的方式,而不是一分为多。比如,当特征A有多个取值a1,a2,a3,...,an, 然后取 A是否等于ai为划分依据,将数据集一份为二。对于连续值,则采用选择一个切分点。
对于回归问题,CART采用最小平方差为最优特征和切分点的选择依据。
决策树的剪枝
决策树的剪枝,往往从已生成的树上剪掉一些叶节点或叶节点以上的子树,将其与父节点或根节点作为新的叶节点,从而简化生成的决策树。
剪枝过程的损失函数(代价复杂度函数):
其中,T为任意子树,C(T)为对训练数据的预测误差(如基尼指数),|T|为子树叶节点的个数,α≥0 为参数, Cα(T) 为参数是α 时的子树T的整体损失。参数α 权衡训练数据的拟合程度与模型的复杂度
以 t 为单节点树的损失函数是
以 t 为根节点的子树Tt 的损失函数是
对于固定的α ,必然存在式损失函数最小的子树。易知,当α=C(t)−C(Tt)|T|−1, Tt 与 t 有相同的损失函数值,而t节点更少,因此,t比 Tt 更可取,对 Tt 进行剪枝。
上述算法是摘自《统计学习方法》当中。
本文介绍了决策树的基础知识,包括其作为分类和回归方法的角色,以及ID3、C4.5和CART三种经典算法的工作原理。在特征选择部分,讨论了信息增益、信息增益比和基尼系数等标准。此外,还阐述了决策树的生成过程和剪枝策略,以优化模型的泛化能力。
500

被折叠的 条评论
为什么被折叠?



