决策树是一种基本的回归和分类方法,这里主要讨论分类。分类决策树模型是一种描述对实例进行分类的树形结构,决策树由节点和有向边组成,其中节点分为内部节点和叶节点,内部节点表示一个特征或属性,叶节点表示一个类别。决策树呈树形结构,是基于特征对实例进行分类的过程,同时决策树可以看做是IF-THEN规则的集合(这里有一个重要的性质就是互斥和完备:也就是对每一个实例都有一条路径或规则覆盖,而且是只有一条路径或规则覆盖),也可以看做是定义在特征空间和类空间上的条件概率分布。建立决策树是通过损失函数最小化的原则建立的。决策树学习通常包括三个过程:特征选择,决策树生成,决策树剪枝。主要算法有ID3算法,C4.5算法和CART算法。
决策树学习的本质是从训练数据集中归纳出一组分类规则,我们选择的条件概率模型应该不仅对训练数据有很好的拟合,而且对未知数据有很好的预测。决策树的学习算法通常是递归地选择最优特征,并根据该特征对训练数据进行划分,使得对各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。
特征选择的准则是信息增益或信息增益比。
举个例子:
决策树的生成算法:ID3算法和C4.5算法
ID3算法的核心是在决策树各个子节点上应用信息增益准则选择特征,递归的构建决策树,具体方法是:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子节点;再对子节点递归调用以上方法,构建决策树。直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。ID3算法只有树的生成,容易造成过拟合。
举个例子:
C4.5算法对ID3算法进行了改进,用信息增益比而不是信息增益来选择特征。
为了防止决策树出现过拟合现象,需要对决策树进行简化。在决策树学习中,将已生成的决策树进行简化的过程称为剪枝。决策树的剪枝通过极小化决策树整体的损失函数或者代价函数来实现。决策树生成只考虑了通过提高信息增益(信息增益比)对训练数据进行更好的拟合,而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。决策树生成局部的模型,决策树剪枝学习整体的模型。
分类与回归树模型(CART)是应用广泛的决策树学习方法
CART生成
决策树的生成是递归地构建二叉分类树的过程。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。
CART剪枝算法