决策树

来源:互联网 发布:相似度算法 编辑:程序博客网 时间:2024/05/16 09:13

简述

决策树是一类常见的机器学习方法,是基于树结构来进行决策的,决策过程中提出的每个判定问题都是对某个属性的测试,每个测试的结果或是导出最终结论,或是导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内。决策过程的最终结论对应了我们所希望的判定结果。

一般的,一颗决策树包含一个根节点、若干个内部节点和若干个叶结点,叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根节点包含样本全集,从根节点到每个叶结点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一颗泛华能力强,即处理未见示例能力强的决策树,结构图如图所示:

这里写图片描述

划分选择

由图中可以看出,决策树的关键是如何选择最优划分属性,一般而言,随着划分过程不断进行,希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。

“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk,则信息熵定义为 Ent(D)=|y|k=1pklog2pk 值越小,则D的纯度越高。另考虑到不同的分支结点所包含的影响越大,因此可计算出用属性a对样本集D进行划分所获得的“信息增益”假定离散属性a有V个可能的取值,若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv,信息增益定义为:Gain(D,a)=Ent(D)Vk=1|Dv|/|D|Ent(Dv)

信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大,因此,可用信息增益来进行决策树的划分属性选择。信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,可以选择“增益率”来选择最优划分属性,增益率定义为:Gainratio(D,a)=Gain(D,a)/IV(a)

其中 IV(a)=Vv=1|Dv|/|D|log2(|Dv|/|D|)

增益率准则对可取值数目较少的属性有所偏好,因此,并不是直接选择增益率最大的候选划分属性,而是先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

剪枝处理

剪枝是决策树学习算法对付“过拟合”的主要手段,在决策树学习中,为了尽可能正确分类训练样本,结点划分过程将不断重复,有时会造成决策树分支过多,可能会导致过拟合,因此,可通过主动去掉一些分支来降低过拟合的风险。

剪枝的基本策略有“预剪枝”和“后剪枝”,预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶结点;后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

多变量决策树

与传统的“单变量决策树”不同,在多变量决策树的学习过程中,不是为每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。

0 0
原创粉丝点击