《机器学习》第4章 决策树

决策树

4.1 基本流程

  • 决策最终结论是期望的判定结果,例如“是”还是“不是”。

基本算法

《机器学习》第4章 决策树_第1张图片
  • 决策树是递归算法,在该算法中,会导致递归返回的三种情形:

  1. 当前结点包含的样本全属于同一类别(无需划分)

  1. 当前属性集为空,或所有样本在所有属性上的取值相同(无法划分)

  1. 当前结点包含的样本集合为空(不能划分)

4.2 划分选择

  • 决策树的关键在于第8行,即从A中进行属性划分的方法。希望随着划分过程的不断推进,决策树分支节点包含的样本尽可能属于同一类别。

  • 本质上,各种特征选择方法都可以用于决策树的划分属性选择。

4.2.1 信息增益—ID3算法

  • 度量样本集合纯度常用的指标是“信息熵”(information entropy)。

  • 假设当前样本集合中D中,第k类样本所占的比例为pk,那么信息熵的定义为:

  • Ent(D)的取值越小,则D的纯度越高。

  • 属性a对样本集D进行划分所获得的“信息增益”(information gain)定义如下:

  • 信息增益越大代表用属性a来进行划分获得的“纯度”提升越大,于是我们可以使用信息增益进行决策树的划分属性选择,也就是在算法第8行选择属性a,a满足:

  • 著名的“ID3”决策树学习算法(Iterative Dichotomiser,迭代二分器)就是以信息增益为准则选择划分属性。使用西瓜数据集获得的决策树如下所示:

《机器学习》第4章 决策树_第2张图片
  • 信息增益的缺点:对可选值数目多的属性更加偏好,为了避免这种影响“C4.5”算法使用增益率作为替代

4.2.2 增益率—C4.5算法

  • 增益率的定义:

  • 其中IV(a)称为a的“固有值”,定义为:

  • 增益率的缺点:对可选值数目少的属性更加偏好。于是C4.5使用了一种启发式方法:先从属性中找出信息增益高于平均水平的属性,在从中选择增益率最高的。

4.2.3 基尼系数—CART算法

  • CART决策树(Classification and Regression Tree)使用“基尼系数”来选择划分属性。

  • 使用基尼系数(Gini Index)度量数据集D的纯度如下:

《机器学习》第4章 决策树_第3张图片
  • 基尼系数反应了从D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,数据集D的纯度越高。

  • 同样的我们对属性所有可选值进行加权,定义出属性a的基尼指数为:

《机器学习》第4章 决策树_第4张图片
  • 在决策树分支过程中,选择那个是的划分后基尼指数最小的:

4.3 剪枝处理

原理

  • 为了尽可能正确分类样本,决策树会不断分支。但分支过多时会导致训练样本“学”得太好了,以致于把训练集自身的特点当错数据集的一般性质而导致过拟合。可通过主动去掉一些分支来降低过拟合的风险。

  • 剪枝可分为:

  • 预剪枝(Pre-purning):对每个结点在划分前进行估计,如果划分不能带来泛化性能提升,则停止划分。

  • 后剪枝(Post-purning):先生成完整的一棵树,再自底向上对非叶子结点进行考察,若将该结点对应的子树替换为叶子结点能提升泛化性,则进行替换。

泛化性评估

  • 可使用性能评估方法,例如留出法,使用一部分数据作为验证集。

预剪枝优缺点

  • 预剪枝是一种基于“贪心”本质的方法,禁止下一代降低泛化性的结点进行展开。但实际上,有些结点虽然当前划分不能提升泛化性,但是未来后续划分还是有可能继续提升泛化性。因此预剪枝有可能导致欠拟合。

后剪枝优缺点

  • 后剪枝保留的分支比预剪枝更多,欠拟合风险比较小,泛化性能也优于预剪枝。但是显然训练时间开销更大。

4.4 连续与缺失值

4.4.1 连续值处理

  • 遇到连续属性时,不能直接根据属性的可取值进行划分,这时可使用属性离散化方法。

  • 最简单的离散化方法:二分法(C4.5决策树算法采用的机制)

  • 假设连续属性a在数据集D上出现了n个不同的取值,我们可以从小到大排列并使用这些取值的中位点作为候选二分划分点:

  • 这样我们可以像考虑离散属性一样考虑这些候选划分点,例如对信息增益稍加改造:

《机器学习》第4章 决策树_第5张图片
  • 这样我们就可以选择使信息增益最大化的划分点作为二分划分点。

注意

  • 与离散属性不同的是,若当前结点为连续属性,该属性还可以作为其后代结点的划分属性。

4.4.2 缺失值处理

  • 样本属性值缺失时要考虑的两个问题:

  • 问题一:如何划分属性?

  • 问题二:如何划分样本?

  • 我们来看C4.5决策树算法采用的解决方案:

问题一的解决方法

《机器学习》第4章 决策树_第6张图片
《机器学习》第4章 决策树_第7张图片

问题二的解决方法

《机器学习》第4章 决策树_第8张图片

4.5 多变量决策树

  • 如果把每个属性视为坐标空间中的坐标轴,那么决策树形成的分类边界的特点是:轴平行,分类边界是由若干个与坐标轴平行的线段构成。如下图所示:

《机器学习》第4章 决策树_第9张图片
  • 当分类边界较复杂时,轴平行法要划分很多段才能获得较好近似,而多变量决策能够实现斜着划分:

《机器学习》第4章 决策树_第10张图片

原理:非叶结点不再是对某个属性,而是对属性的线性组合进行测试。

  • 每个非叶结点都是一个线性分类器:

  • 多变量决策树尝试获得一个合适的分类器,样例如下:

《机器学习》第4章 决策树_第11张图片

你可能感兴趣的:(笔记,-,OR,&,AI,决策树,算法)