《统计学习方法》笔记第五章(未完)

决策树是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。
它可以认为是if-then规则的集合 ,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。
决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。
这些决策树学习的思想主要来源于Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及由Breiman等人在1984年提出的CART算法。
本章首先介绍决策树的基本概念,然后通过ID3和C4.5介绍特征的选择、决策树的生成以及决策树的修剪,最后介绍CART算法。

5.1决策树模型与学习

5.1.2 决策树与if-then规则
可以将决策树看成一个if-then规则的集合。将决策树转换成if-then规则的过程是这样的:由决策树的根节点到叶结点的每一条路径构建一条规则;路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。决策树的路径或其对应的if-then规则集合具有一个重要的性质:互斥并且完备。这就是说,每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖。这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件。

5.1.3决策树与条件概率分布

5.2 特征选择
特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的,经验上扔掉这样的特征对决策树学习的精度影响不大。通常特征选择的准则是信息增益或信息增益比。
5.2.2信息增益
在信息论与概率统计中,熵是表示变量不确定性的度量。设X是一个取有限个值的离散型随机变量,其概率分布为:
在这里插入图片描述
信息增益表示得知特征X的信息而使得类Y的信息不确定性减少的程度。
信息增益
特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差。即
在这里插入图片描述
一般地,熵H(Y)与条件熵H(Y|X)之差成为互信息,决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
决策树学习应用信息增益准则选择特征,给定训练数据集D和特征A,经验熵H(D)表示对数据集D进行分类的不确定性。而经验条件熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性,那么他们的差,即信息增益,就表示由于特征A而使得对数据集D的分类的不确定性减少的程度。显然,对于数据集D而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。

案例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,比较各特征的信息增益值。由于特征A3(有自己的房子)的信息增益值最大,所以选择特征A3作为最优特征。
信息增益的理解:
划分前样本集合D的熵是一定的 ,entroy(前),
使用某个特征A划分数据集D,计算划分后的数据子集的熵 entroy(后)
信息增益 = entroy(前) - entroy(后)
书中公式:
对于待划分的数据集D,其 entroy(前)是一定的,但是划分之后的熵 entroy(后)是不定的,entroy(后)越小说明使用此特征划分得到的子集的不确定性越小(也就是纯度越高),因此 entroy(前) - entroy(后)差异越大,说明使用当前特征划分数据集D的话,其纯度上升的更快。而我们在构建最优的决策树的时候总希望能更快速到达纯度更高的集合,这一点可以参考优化算法中的梯度下降算法,每一步沿着负梯度方法最小化损失函数的原因就是负梯度方向是函数值减小最快的方向。同理:在决策树构建的过程中我们总是希望集合往最快到达纯度更高的子集合方向发展,因此我们总是选择使得信息增益最大的特征来划分当前数据集D。

缺点:信息增益偏向取值较多的特征
原因:当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的,因此信息增益更大,因此信息增益比较 偏向取值较多的特征。

5.2.3信息增益比
信息增益值的大小是相对于训练数据集而言的,并没有绝对意义。在分类问题困难时,也就是说在训练数据集的经验熵大的时候,信息增益值会偏大。反之,信息增益值会偏小。使用信息增益比可以对这一问题进行校正。这是特征选择的另一准则。
在这里插入图片描述
5.3 决策树的生成
5.3.1 ID3算法
ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征。
具体方法是:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;再对子结点递归地调用以上方法,构建决策树;知道所有特征的信息增益均很小或者没有特征可以选择为止。最后得到一个决策树,ID3相当于用极大似然法进行概率模型的选择。
5.3.2 C4.5的生成算法
C4.5算法与ID3算法相似,C4.5算法对ID3算法进行了改进,C4.5在生成的过程中,用信息增益比来选择特征。

5.4决策树的剪枝
决策树生成算法递归地产生决策树,直到不能继续下去为止,这样产生的树往往对训练数据的分类很准确,但对位置的测试数据的分类却没有那么准确,即出现过拟合现象。过拟合的原因在于学习时过多地考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树。解决这个问题的方法是考虑决策树的复杂度,对已生成的决策树进行简化。
在决策树学习过程中将已生成的树进行简化的过程称为剪枝。具体地,剪枝从已生成的树上裁掉一些子树或叶结点,并将其根结点或父节点作为新的叶结点,从而简化分类树模型。
本节介绍一种简单的决策树学习的剪枝算法。
决策树的剪枝往往通过极小化决策树整体的损失函数(loss function)或代价函数(lost function)来实现。
设树T的叶结点个数为|T|,t是树T的叶结点,该
在这里插入图片描述
式(5.14)中,
C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,
|T|表示模型复杂度,参数α≥0控制两者之间的影响,较大的α促使选择较简单的模型(树),较小的α促使选择较复杂的模型(树),α=0意味着 只考虑与模型与训练数据的拟合程度,不考虑模型的复杂度。
C(T)计算的是每一个叶结点的经验熵,如果不考虑模型复杂度及过拟合风险,每一个叶结点都只含一个类别,此时的C(T)=0,是最小的,但是这样极易产生过拟合。
剪枝,就是当α确定时,选择损失函数最小的模型,即损失函数最小的子树。当α值确定时,子树越大,往往与训练数据的拟合越好,但是模型的复杂程度就越高;相反,子树越小,模型的复杂度就越低,但是往往与训练数据的拟合不好。损失函数正好表示了对两者的平衡。
可以看出,决策树生成只考虑了通过提高信息增益(或信息增益比)对训练数据进行更好的拟合。而决策树的剪枝通过优化损失函数还考虑了减少模型复杂度。决策树生成学习局部的模型,而决策树剪枝学习整体的模型。
式(5.11)或式(5.14)定义的损失函数的极小化等价于正则化的极大似然估计。所以,利用损失函数最小原则进行剪枝就是正则化的极大似然估计进行模型选择。
算法如下:
在这里插入图片描述
在这里插入图片描述
5.5 CART算法
分类与回归树(classification and regression tree,CART)是应用广泛的决策树学习方法。CART同样由特征选择树的生成剪枝组成,既可以用于分类也可以用于回归。以下将用于分类与回归的树统称为决策树。
CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部节点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。
CART算法由以下两部组成:
(1)决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;
(2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
5.1.1 CART生成
决策树的生成就是递归地构建二叉决策树的过程。
对回归树用平方误差最小化准则
对分类树用基尼指数(Gini index)最小化准则,进行特征选择,生成二叉树
1.回归树的生成
一个回归树对应着输入空间(即特征空间)的一个划分以及在划分的单元上的输出值。假设已将输入空间划分为M个单元R1,R2,…,Rm,并且在每个单元Rm上有一个固定的输出值Cm,于是回归树模型可表示为:
在这里插入图片描述
实际上,回归树总体流程类似于分类树,分枝时穷举每一个特征的每一个阈值,来寻找最优切分特征j和最优切分点s,衡量的方法是平方误差最小化。分枝直到达到预期的终止条件(如叶子个数上限)就停止。

附实例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当然,处理具体问题时,单一的回归树肯定是不够用的。可以利用集成学习中的boosting框架,对回归树进行改良升级,得到的新模型就是提升树(Boosting Decision Tree),再进一步,可以得到梯度提升树(Gradient Boosting Decision Tree,GBDT),再进一步可以升级到XGBoost。
2.分类树的生成
分类数用基尼指数选择最有特征,同时决定该特征的最优二值切分点。
在这里插入图片描述
在这里插入图片描述
基尼系数Gini(D)表示集合D的不确定性,基尼系数Gini(D,A)表示A =a分割后集合D的不确定性。基尼指数越大,样本集合的不确定性也就越大,这一点与熵相似。
在这里插入图片描述
算法5.6(CART生成算法)
在这里插入图片描述
在这里插入图片描述
算法停止计算的条件是节点中的样本个数小于预订阈值,或样本集的基尼指数小于预订阈值(样本基本属于同一类),或者没有更多特征。
案例:
在这里插入图片描述
在这里插入图片描述
5.5.2 CART剪枝
CART剪枝泼从“完全生长”的决策树的底端剪去一些子树,使决策树变小(模型边简单),从而能够对未知数据有更准确的预测。CART剪枝算法由两步组成:

  1. 首先从生成算法产生的决策树T0底端开始不断剪枝,直到T0的根节点,形成一个子树序列{T0,T1,…,Tn};
  2. 然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。

1.剪枝,形成一个子树序列
在剪枝过程中,计算子树的损失函数:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值