西瓜书读书笔记 task03

2021/7/22 23:06:31

本文主要是介绍西瓜书读书笔记 task03,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第四章 决策树

4.1基本流程

image
从逻辑角度就是 很多if else语句的组合
从集合角度,根据某种准则划分特征值空间
最终目的:将样本越分越细 且越来越纯(接近我们希望的划分的结果)

决策树的生成是一个递归过程:
当前属性集为空,或是所有样本在所有属性上取值同,无法划分

把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别

利用当前结点的后验分布

当前结点包含的样本集合为空,不能划分

把当前结点标记为叶结点,但将其类别设定为父结点所含样本做多的类别

把父结点的样本分布作为当前结点的先验分布

4.2划分选择

信息熵(information entropy)是度量样本集合纯度最常用的一种指标. 假定当前样本集合 D 中第 k 类样本所占的比例为 Pk (k = 1,2,. . . , |Y|),则 D 的信息熵定义为:
image

信息熵的三个性质:

单调性:发生概率越高的事件,其携带的信息量越低;
非负性:信息熵可以看作为一种广度量,非负性是一种合理的必然;
累加性:即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和,这也是广度量的一种体现。

信息增益

ID3决策树算法 使用信息增益(Information Gain)选择划分属性。
偏好:信息增益对可取数目较多的属性有所偏好。

属性a的信息增益公式定义为:
image
其中,D指样本集;a指属性;v 和V指a所有可能的取值;Dv指属性值为v vv时划分得到的子集。
信息增益越大,意味着由这个属性来进行划分对纯度的提升越大,即对决策的帮助越大。所以对每个属性均求出信息增益,再取最大的那个,就是最优划分属性。

信息增益最优属性公式定义:
image

增益率
如果一个属性对每个样本的取值都是不同的,那么针对这个属性的每个取值只包含一个样本并且分支结点的纯度已达最大,这样的决策树显然没有泛化能力,无法对新样本进行预测。因为新的样本在这个属性的值与决策树所学习的均不相同。因为信息增益准则对可取值数目较多的属性有偏好。所以增益率要对信息增益进行优化。
增益率公式定义:
image
基尼系数
属性a的基尼指数公式定义为:
image

选基尼指数最小的那个属性作为最优化分属性:
image

4.3剪枝处理

剪枝(pruning)是决策树学习算法对付过拟合的主要手段。
决策树剪枝的基本策略有预剪枝(prepruning)和后剪枝(post-pruning)。
预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
预剪枝基于“贪心”本质禁止一些分支展开,给预剪枝决策树带来了欠拟合的风险。

后剪枝:先从训练集生成一棵完整的决策树,然后自底向上的对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
后剪枝决策树通常比预剪枝决策树保留更多的分支。一般情形下,后剪枝决策树欠拟合的风险很小,泛化性能往往优于预剪枝决策树。但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上的对树中所有非叶结点进行逐一考察,因此其训练时间开销比未剪枝和预剪枝决策树都要大得多。

4.4连续与缺失值

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

缺失值处理:不完整的样本(即样本的某些属性值缺失,如何在属性值缺失的情况下进行划分属性选择,给定划分属性,若样本在该属性上缺失,样本如何划分)--->让同一个样本以不同的概率划入到不同的子结点中去
image

4.5多变量决策树

把样本放到坐标系中去考虑:
决策树形成的分类边界有一个明显的特点:轴平行,即他的分类边界和若干个与坐标轴平行的分段组成。
image

如果能用斜的边界来搞定,那么模型会得到简化:引出多变量决策树(MDT)

MDT中每个节点不再针对某个属性,而是属性的线性组合。
换言之,每个节点是一个线性分类器。
image



这篇关于西瓜书读书笔记 task03的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程