4.1 基本流程
决策过程的最终结论对应了所希望的判定结果。
决策过程中提出的每个判定问题是对某个属性的测试。
一个决策树包含一个根节点,若干个内部节点和若干个叶节点。
叶节点对应决策结果。其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。从根结点到每个叶结点的路径对应了一个判定测试序列.
决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树。
这是一个递归过程,三个情况会递归返回。
1.当前节点包含的样本同属于一个类别,不需要划分。
2.当前属性集为空或者所有样本在所有属性上的取值相同,所有样本在属性值上无区别,因此无法划分。
3.当前节点包含的样本集合为空,不能划分。
4.2 划分选择
决策树学习的关键是如何选择最优划分属性。目的是使决策树的分支节点所包含的样本尽可能属于同一类别。
4.2.1 信息增熵
信息熵:度量样本集合纯度的指标。
假定当前样本集合D中第k类样本所占的比例为
,则D的信息熵定义为
Ent(D)的值越小,则D的纯度越高。
假定离散属性a有V个可能取值,若使用a来对样本集合D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为的样本,记为。计算出的信息熵后,再考虑不同的分支结点所包含的样本数不同,给分支结点赋予权重,即样本数越多的分支结点的影响越大,于是可计算出属性a对样本集D进行划分的信息增益。
信息增益越大,使用该属性a进行划分所得到的纯度提升越大。由此使用信息增益来进行决策树的划分属性选择。
4.2.2 增益率
信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,使用“增益率”来选择最优属性划分。
增益率定义为
其中
其称为属性a的“固有值”。
属性a的可能取值数目越多(V越大),则IV(a)的值通常会越大。
需注意的是,增益率准则对可取值数目较少的属性有所偏好。
4.2.3 基尼指数
CART决策树使用基尼指数来选择划分属性。
数据集D的纯度可以用基尼值来度量:
Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此Gini(D)越小,数据集D的纯度越高。
属性a的基尼指数定义:
在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最优划分属性。
4.3 剪枝处理
剪枝处理:对付过拟合的主要手段。
剪枝分为预剪枝和后剪枝,两则都是为了提升决策树的泛化能力。
可以运用性能评估方法判断决策树泛化性能是否提升。
4.3.1 预剪枝
预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶节点。
优点:降低过拟合风险,减少决策树的训练时间开销和测试时间开销。
缺点:有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高;基于“贪心”本质禁止这些分支展开,可能有欠拟合的风险。
4.3.2 后剪枝
后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
优点:保留了更多分支,欠拟合风险小,泛化性能往往优于预剪枝决策树。
缺点:训练时间开销比未剪枝决策树和预剪枝决策树都要大得多。
4.4 连续与缺失值
4.4.1 连续值处理
属性中会有连续值,连续属性的可取值数目不再有限,不能直接使用连续属性的可取值来对结点进行划分。这时候需要将连续属性离散化,最简单策略是使用二分法对连续属性进行处理。
给定样本集D和连续属性a,假定α在D上出现了n个不同的取值,将这些值从小到大进行排序,记为。基于划分点t可将D分为子集和,其中。包含那些在属性a上取值不大于t的样本,而则包含那些在属性a上取值大于t的样本.显然,对相邻的属性取值与来说, t在区间中取任意值所产生的划分结果相同。因此,对连续属性啊,我们可以考察包含n-1个元素的候选划分点集合
即把区间的中位点作为候选划分点。然后我们就可以像离散属性值一样俩考察这些划分点,选取最优的划分点进行样本集合的划分。
如
其中是样本集D基于划分点t二分后的信息增益。于是,我们就可选择使最大化的划分点。
4.4.2 缺失值处理
我们需解决两个问题:
1.如何在属性值缺失的情况下进行划分属性选择?
2.给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
给定训练集D和属性a,令
![]表示D中在属性a上没有缺失值的样本子集。
-
对于问题1:
显然我们仅可根据来判断属性a的优劣。假定属性a有V个可取值,令表示
![]中在属性a上取值为的样本子集,
表示
![]中属于第k类的样本子集,则显然有,。假定我们为每个样本x赋予一个权重,并定义
(https://img2024.cnblogs.com/blog/3544642/202412/3544642-20241204170308275-1512797624.png)
直观地看,对属性a,p表示无缺失值样本所占的比例,表示无缺失值样本中第k类所占的比例,则表示无缺失值样本中在属性a上取值的样本所占的比例.显然。
因此我们可以将信息增益的计算式推广为
其中
-
对于问题2:
若样本x在划分属性α上的取值已知,则将x划入与其取值对应的子结点,且样本权值在子结点中保持为.若样本x在划分属性α上的取值未知,则将x同时划入所有子结点,且样本权值在与属性值对应的子结点中调整为;直观地看,这就是让同一个样本以不同的概率划入到不同的子结点中去.
4.5 多变量决策树
决策树所形成的分类边界有一个明显特点:轴平行。即它的分类边界由若干个与坐轴平行的分段组成。
多变量决策树:是能实现斜划分或者更复杂划分的决策树。非叶结点不是仅对某个属性,而是对属性的线性组合进行测试,每个非叶结点是一个形如的线性分类器。