西瓜书《机器学习》阅读笔记之第四章决策树

第4章 决策树

4.1 基本流程

决策树 (decision tree) 是一类常见的机器学习方法. 也称为“判定树”.[P72]

主要思想: 将训练数据属性(特征)进行优先度排序,并将每次的特征作为判定条件(子树的根节点)进行扩展,最后生成一颗树。


决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制. [P72]

西瓜问题的一棵决策树

西瓜书《机器学习》阅读笔记之第四章决策树_第1张图片

  • 决策过程的最终结论对应了我们所希望的判定结果,例如"是"或"不是"好瓜;
  • 决策过程中提出的每个判定问题都是对某个属性的"测试",例如"色泽=?"“根蒂:?”;
  • 每个测试的结果或是导出最终结论,或是导出进一步的判定问题其考虑范围是在上次决策结果的限定范围之内,例如若在"色泽=青绿"之后再判断"根蒂=?",则仅在考虑青绿色瓜的根蒂. [P72]

一棵决策树包含一个根结点、若干个内部结点和若干个叶结点; [P72]

  • 叶结点对应于决策结果,其他每个结点则对应于一个属性测试;
  • 每个结点包含的样本集合根据属性测试的结果被划分到子结点中;
  • 根结点包含样本全集.
  • 从根结点到每个叶结点的路径对应了一个判定测试序列.
  • 决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树!

决策树的生成是一个递归过程

在决策树基本算法中,有三种情形会导致递归返回:

  1. 当前结点包含的样本全属于同一类别,无需划分;
  2. 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
  3. 当前结点包含的样本集合为空,不能划分.

4.2 划分选择

一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的"纯度"(purity)越来越高.

4.2.1 信息增益

信息熵

“信息熵” (information entropy)是度量样本集合纯度最常用的一种指标. [P74]

西瓜书《机器学习》阅读笔记之第四章决策树_第2张图片
[P74]
Ent(D)的值越小,则D的纯度越高!


信息增益

西瓜书《机器学习》阅读笔记之第四章决策树_第3张图片
一般而言,信息增益越大,则意味着使周属性 α 来进行划分所获得的"纯度提升"越大.
因此,我们可用信息增益来进行决策树的划分属性选择


4.2.2 增益率

增益率定义

西瓜书《机器学习》阅读笔记之第四章决策树_第4张图片

4.2.3 基尼指数

基尼值

西瓜书《机器学习》阅读笔记之第四章决策树_第5张图片
Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。
因此,Gini(D)越小,则数据集D的纯度越高。


属性a的基尼指数

西瓜书《机器学习》阅读笔记之第四章决策树_第6张图片
在侯选集合A中,选择那个使得划分后基尼指数最小的属性作为最优化分属性。


4.3 剪枝处理

剪枝 (pruning)是决策树学习算法对付"过拟合"的主要手段 [P78]

决策树剪枝的基本策略有**“预剪枝”(pre pruning)和"后剪枝 "(post pruning) ** [P78]

预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点; [P78]

后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点,能带来决策树泛化性能提升,则将该子树替换为叶结点. [P78]

4.3.1 预剪枝

预剪枝使得决策树的很多分支都没有"展开”, 这不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销.但另一方面,有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高;预剪枝基于"贪心"本质禁止这些分支展开,给预剪枝决策树带来了欠拟含的风险。 [P81]

  • 降低了过拟合的风险
  • 训练时间开销和测试时间开销大大降低

4.3.2 后剪枝

  1. 后剪枝决策树通常比预剪枝决策树保留了更多的分支.
  2. 一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树.
  3. 但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中的所有非叶结点进行逐一考察,因此其训练时间开销比未剪枝决策树和预剪枝决策树都要大得多. [P82]

4.4 连续与缺失值

4.4.1 连续值处理

由于连续属性的可取值数目不再有限, 因 此,不能直接根据连续属性的 可取值来对结点进行划分.此时,连续属性离散化技术可派上用场 . 最简单的策略是采用 二分法 (bi-partition)对连续属性进行处理

西瓜书《机器学习》阅读笔记之第四章决策树_第7张图片

4.4.2 缺失值处理

4.5 多变量决策树

多变量决策树" (multivariate decision tree) 就是能实现这样的"斜划分"甚至更复杂划分的决策树.以实现斜划分的多变量决策树为例,在此类决策树中,非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试;

换言之,每个非叶结点是一个形如∑wiai = t的线性分类器,其中wi叫是属性ai的权重,wi和 t 可在该结点所含的样本集和属性集上学得.

西瓜书《机器学习》阅读笔记之第四章决策树_第8张图片
[P90]

4.6 阅读材料

你可能感兴趣的:(机器学习,机器学习,决策树,剪枝)