前面我们简单的介绍了决策树的三种算法:ID3、C4.5和CRAT,下面我们继续讨论决策树的下述相关问题;
决策树的剪枝
连续与缺失值的处理
多变量决策树
一、决策树的剪枝
二、连续与缺失值
2.1 连续值处理
2.2 缺失值处理
给定训练数据集D和属性a,令表示D中在属性a上没有缺失值的样本子集,对于上述问题1,显然我们仅可根据
来判断属性a的优劣。假定属性a有V个可取值{
},令
表示
中在属性a上取值为
的样本子集,
表示
中属于第K类(K = 1,2,。。。,|y|)的样本子集,则显然
,
.
假定我们为每个样本x赋予一个权重,并定义;
(缺失样本所占的比例)
(无缺失值样本中第k类所占的比例)
(无缺失值样本中属性a上取值
的样本所占的比例)
基于上述定义,我们可以将信息增益的计算式推广为:
其中
而对于问题2,
1、若样本x在划分属性a上的取值已知,则将x划入与其取值对于的子节点,且样本全权值在子节点中保持为。
2、若样本x在划分属性a上的取值未知,则将x同时划入所有子节点,且样本权值在与属性值对应的子节点中调整为
.
,直观的看就是让同一个样本以不同的概率划入到不同的子节点中去。
三、多变量决策树
四、阅读材料
【Raileanu and Stoffel,2004】对信息增益和基尼指数及保险的理论分析显示,它们仅在2%的情况下会有所不同。
剪枝方法和程度对决策树泛化性能的影响相当显著,在数据带有噪音时通过剪枝甚至可将决策树的泛化性能提高25%。
多变量决策树算法主要有OC1【Murthy et al.,1994】和【Brodley and Utgoff,1995】提出的一系列算法。OC1先贪心的寻找每个属性的最优权值,在局部优化的基础上在对分类边界进行随机扰动以试图找到更好的边界。
【Brodley and Utgoff,1995】则直接引入了线性分类器的最小二乘法,还有一些算法试图在决策树的叶节点上嵌入神经网络,以结合这两种学习机制的有事==优势,如“感知机树”【Utgoff,1989b】在决策树的每个叶节点上训练一个感知机,而【Guo and Geland,1992】则直接在叶节点上嵌入多层神经网络。
一些决策树算法可进行“增量学习”,即在接收到新样本后可对已学得的模型进行调整,而不用重新学习。主要机制是通过调整分支路径上的划分属性次序来对树进行部分重构,代表性算法有ID4,ID5R,ITI等。增量学习可有效的降低每次接受到新样本后的训练时间开销,但多步增量学习后的模型会与基于全部数据训练而得到的模型有较大差别。