一、概念与基础
3、决策树
基本算法:
3.1划分选择
希望分支结点所包含的样本尽可能属于同一类别,即“纯度purity”越来越高
3.1.1信息增益information gain
信息熵information entropy:度量样本集合纯度最常用的一种指标
信息增益:
3.1.2增益率gain ratio
3.1.3基尼指数Gini index
→CART决策树(分类回归树):在ID3基础上进行优化的决策树
当CART是分类树时,采用GINI值作为节点分裂的依据;
当CART是回归树时,采用样本的最小方差作为节点分裂的依据
3.2剪枝pruning
决策树学习算法**对付“过拟合”**的主要手段
基本策略:
1)预剪枝prepruning:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点
2)后剪枝postpruning(先从训练集生成一棵完整的决策树,然后自底向上对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点)
→判断决策树泛化性能是否提升?→使用第2节说的“性能评估”
3.2.1预剪枝
优点:降低过拟合的风险,显著减少决策树的训练时间开销和测试时间开销
缺点:有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高,预剪枝基于“贪心”本质禁止这些分支展开,带来欠拟合的风险
3.2.2后剪枝
优点:通常比预剪枝决策树保留了更多分支,欠拟合风险很小,泛化性能往往优于预剪枝
缺点:训练时间开销比未剪枝和预剪枝都要大得多
3.3连续与缺失值
3.3.1连续值处理
上面都是讨论了基于离散属性来生成决策树,但现实学习任务中常会遇到连续属性→连续属性离散化技术
→最简单的策略是采用二分法(bi-partition)对连续属性进行处理,这正是C4.5决策树算法中采用的机制
3.3.2缺失值处理
不完整样本,即样本的某些属性值缺失,不能简单地放弃不完整样本(对数据信息极大的浪费),故要考虑利用有缺失属性值的训练样例进行学习
解决问题(C4.5算法所使用的方案):
①如何在属性值缺失的情况下进行划分属性选择?
②给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
3.4多变量决策树multivariate decision tree
3.5增量学习incremental learning
有一些决策树学习算法可进行“增量学习”,即在接收到新样本后可对已学得的模型进行调整,而不用完全重新学习,主要机制是通过调整分支路径上的划分属性次序来对树进行部分重构,代表算法有ID4,ID5R,ITI等。
优点:有效降低每次接收到新样本后的训练时间开销
缺点:多步增量学习后的模型会与基于全部数据训练而得的模型有较大差别
机器学习基础系列文章回顾:
机器学习基础(一):简介
机器学习基础(二):模型评估与选择
参考书目:
周志华.《机器学习》