决策树是一种机器学习的方法。决策树的生成算法有ID3, C4.5和C5.0等。决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。
一、信息熵(Information Entropy)
信息熵用于度量样本集合浓度,决策树的构建过程就是不断降低信息熵到0的过程。
样本集合D,第k类样本所占比例为
。则样本D信息熵为:
。
二、信息增益(ID3)
信息增益 = 信息熵-条件熵
假定离散属性
有
个可能的取值
,若使用
来对样本集D进行划分,则会产生
个分支节点,其中第v个分支对应样本
,可根据上述信息熵公式计算
的信息熵,考虑到不同分支包含样本数不同,给分支节点赋予权重
。用属性
对样本集D进行划分后“信息增益” :
。
我们选择信息增益来进行决策树的划分属性选择。
即:
,选择信息增益最大的属性,该属性对样本熵减少能力越强。
ID3基于信息增益选择划分属性。但是采用信息增益来进行划分属性的决策有一个潜在的问题,当某一个属性的取值种类非常多时,对应每一个属性取值的样本子集,其分类的信息熵可能会变得很小。为了说明,采用一种极端情况,把“编号”也当作一种可以作为划分依据的属性。则在这种情况下,每一个编号属性对应一个实例,且其分类是确定的,则基于“编号”属性划分的条件熵=0,则信息增益很大,但这样的划分是没有意义的,信息增益准则对取值数目较多的属性有所偏好,为了减小这种偏好,C4.5 决策树采用信息增益率 (gain ratio) 来选择最优划分属性。
三、信息增益率(C4.5)
信息增益率:
其中:
最后一点需要注意的是,增益率准则虽然减少了对取值数目较多的属性依赖,但是增加了对取值数目较少的属性偏好。因此, C4.5 并没有直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出 信息增益 高于 平均水平 的属性,再从中选择 增益率 最高的。
四、剪枝处理
剪枝(pruning)是决策树算法对付“过拟合”的主要手段,为了提高决策树的泛化能力,可通过主动去掉一些分支来降低过拟合的风险。
预剪枝:
在决策树生长过程中,对每个结点在划分前先进性估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。若划分后验证集精度高于划分前验证集精度,则允许划分。
预剪枝优缺点
优点:降低过拟合风险,显著减小了决策树训练时间开销。
缺点:虽然有些分支的当前划分虽不能提升泛化性能,但在其基础上的后续划分却又可能导致性能提升,预剪枝给决策树带来了欠拟合的风险。
后剪枝:
针对一颗完整的树,自低向上地对非叶结点进行考察,若将该节点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
后剪枝优缺点
优点:后剪枝欠拟合风险很小,泛化性能往往优于预剪枝决策树。
缺点:训练时间开销大。