李航统计学习方法 Chapter5 决策树(上)

简介: 李航统计学习方法 Chapter5 决策树

第5章 决策树


1.分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。


2.决策树学习旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。因为从可能的决策树中直接选取最优决策树是NP完全问题。现实中采用启发式方法学习次优的决策树。


决策树学习算法包括3部分:特征选择、树的生成和树的剪枝。常用的算法有ID3、C4.5和CART。


3.特征选择的目的在于选取对训练数据能够分类的特征。特征选择的关键是其准则。常用的准则如下:


(1)样本集合D 对特征A 的信息增益(ID3)


image.png

其中,H ( D )是数据集D 的熵,H ( D i ) 是数据集D i 的熵,H(D|A)是数据集D 对特征A 的条件熵。 D i 是D 中特征A AA取第i ii个值的样本子集,C k  是D 中属于第k kk类的样本子集。n 是特征A 取 值的个数,K KK是类的个数。


(2)样本集合D 对特征A AA的信息增益比(C4.5)


image.png


其中,g ( D , A ) 是信息增益,H ( D )是数据集D 的熵。


(3)样本集合D 的基尼指数(CART)


image.png

特征A 条件下集合D 的基尼指数:


image.png


4.决策树的生成。通常使用信息增益最大、信息增益比最大或基尼指数最小作为特征选择的准则。决策树的生成往往通过计算信息增益或其他指标,从根结点开始,递归地产生决策树。这相当于用信息增益或其他准则不断地选取局部最优的特征,或将训练集分割为能够基本正确分类的子集。


5.决策树的剪枝。由于生成的决策树存在过拟合问题,需要对它进行剪枝,以简化学到的决策树。决策树的剪枝,往往从已生成的树上剪掉一些叶结点或叶结点以上的子树,并将其父结点或根结点作为新的叶结点,从而简化生成的决策树。


特征选择



image.png

熵只与X的分布有关,与X取值无关

定义0log0=0,熵是非负的

表示随机变量不确定性的度量

对数以2为底或以e为底(自然对数),这时单位分别为比特(bit)或纳特(nat),相差一个系数

image.png

条件熵


随机变量(X,Y)联合概率分布为

image.png


条件熵 H(Y|X)表示在已知随机变量X 的条件下随机变量Y 的不确定性


image.png


其中p i = P ( X = x i ) , i = 1 , 2 , … , n


当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵和经验条件熵


信息增益


特征A 对训练数据集D DD的信息增益g ( D ∣ A ),定义为集合D 的经验熵H ( D )与特征A给定的条件下D DD的经验条件熵H ( D ∣ A )之差


image.png

熵H ( Y )与条件熵H ( Y ∣ X )的差称为互信息(mutual information)


决策树中的信息增益等价于训练数据集中的类与特征的互信息


考虑ID这种特征, 本身是唯一的。按照ID做划分, 得到的经验条件熵为0, 会得到最大的信息增益。所以, 按照信息增益的准则来选择特征, 可能会倾向于取值比较多的特征


信息增益比


  • 使用信息增益比可以对上面倾向取值较多的特征的问题进行校正,这时特征选择的另一准则


image.png


其中,image.png n 是特征取值的个数。


决策树的生成


ID3算法


输入:训练数据集D DD, 特征集A AA,阈值ϵ \epsilonϵ

输出:决策树T TT


如果D 中所有实例属于同一类C k ,则T 为单节点树,并将类C k 作为该节点的类标记,返回T 如果A 是空集,则T 为单节点树,并将实例数最多的类作为该节点类标记,返回T 计算g, 选择信息增益最大的特征A g 如果A g 的信息增益小于ϵ ,则置T 为单节点树,D 中实例数最大的类C k 作为类标记,返回T 否则,依A g = a i 将D划分若干非空子集D i ,D i 中实例数最大的类C k 作为类标记,构建子结点,由结点及其子结点 构成树T ,返回T D 训练集,A − A g 为特征集,递归调用前面步骤,得到T i ,返回T i 不过对于ID3算法来说,只有树的生成,所以该算法生成的树容易产生过拟合。


利用ID3算法,可以构建例5.1的树


image.png



C4.5的生成算法


与ID3相似,改用信息增益比来选择特征

输入:训练数据集D , 特征集A ,阈值ϵ


如果D 属于同一类C k  ,T 为单节点树,类C k 作为该节点的类标记,返回T 如果A 是空集, 置T 为单节点树,实例数最多的作为该节点类标记,返回T 计算g , 选择信息增益比最大的特征A g 如果A g 的信息增益比小于ϵ,T 为单节点树,D 中实例数最大的类C k 作为类标记,返回T 否则,依A g = a i 将D划分若干非空子集D i ,D i 中实例数最大的类C k 作为类标记,构建子结点,由结点及其子结点 构成树T TT,返回T D i 训练集,A − A g 为特征集,递归调用前面步骤,得到T i ,返回T i


ID3和C4.5在生成上,差异只在准则的差异


决策树的剪枝


树的剪枝


决策树的剪枝往往通过极小化决策树整体的损失函数或代价函数来实现的树T 的叶结点个数为∣ T ∣ ,t是树T 的叶结点,该结点有N t 个样本点,其中k kk类的样本点有N t 个,H t ( T ) (T)为叶结点t tt上的经验熵, α ⩾ 0为参数,决策树学习的损失函数可以定义为

image.png

其中


image.png


时有

image.png

其中C ( T ) 表示模型对训练数据的误差,∣ T ∣表示模型复杂度,参数α ⩾ 0 控制两者之间的影响


较大的α 促使选择较简单的模型(树)

较小的α 促使选择较复杂的模型(树)

α = 0 以为只考虑模型与训练的拟合程度,不考虑模型的复杂度


剪枝算法

输入:生成算法生成的整个树T ,参数α


输出:修剪后的子树T α


计算每个结点的经验熵


递归地从树的叶结点向上回缩


假设一组叶结点回缩到其父结点之前与之后的整体树分别是T B 和T A ,其对应的损失函数分别是C α ( T A ) 和C α ( T B ) ,如果C α ( T A ) ⩽ C α ( T B ) )则进行剪枝,即将父结点变为新的叶结点返回2,直至不能继续为止,得到损失函数最小的子树T α


决策树的剪枝算法可以由一种动态规划的算法实现


CART


  • 决策树的生成就是递归地构建二叉决策树的过程。对回归树用平方误差最小化准则,对分类树用基尼系数最小化准则,并进行特征选择,生成二叉树
相关文章
|
6月前
|
算法 数据挖掘 Python
【数据挖掘】决策树中C4.5与CART算法讲解及决策树应用iris数据集实战(图文解释 附源码)
【数据挖掘】决策树中C4.5与CART算法讲解及决策树应用iris数据集实战(图文解释 附源码)
126 1
|
6月前
|
机器学习/深度学习 算法
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
223 0
|
机器学习/深度学习 算法 数据挖掘
Chapter1 统计学习方法概论
第1章 统计学习方法概论 1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行分析与预测的一门学科。统计学习包括监督学习、非监督学习、半监督学习和强化学习。 2.统计学习方法三要素——模型、策略、算法,对理解统计学习方法起到提纲挈领的作用。 3.本书主要讨论监督学习,监督学习可以概括如下:从给定有限的训练数据出发, 假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给训练数据及未知测试数据在给定评价标准意义下有最准确的预测。 4.统计学习中,进行模型选择或者说提高学习的泛化能力是一个重要问题。如果只考虑减少训
Chapter1 统计学习方法概论
|
机器学习/深度学习 算法 Python
机器学习:李航-统计学习方法-代码实现
机器学习:李航-统计学习方法-代码实现
255 0
机器学习:李航-统计学习方法-代码实现
|
算法 JavaScript
李航统计学习方法 Chapter5 决策树(下)
李航统计学习方法 Chapter5 决策树(下)
李航统计学习方法 Chapter5 决策树(下)
|
机器学习/深度学习 Python
李航统计学习方法 Chapter4 朴素贝叶斯法
李航统计学习方法 Chapter4 朴素贝叶斯法
李航统计学习方法 Chapter4 朴素贝叶斯法
|
机器学习/深度学习 算法 Python
李航统计学习方法 Chapter6 逻辑斯蒂回归
李航统计学习方法 Chapter6 逻辑斯蒂回归
李航统计学习方法 Chapter6 逻辑斯蒂回归
|
算法 Python
李航统计学习方法 Chapter6 最大熵模型(上)
李航统计学习方法 Chapter6 最大熵模型(上)
李航统计学习方法 Chapter6 最大熵模型(上)
|
算法 知识图谱 Python
李航统计学习方法 Chapter6 最大熵模型(下)
李航统计学习方法 Chapter6 最大熵模型(下)
李航统计学习方法 Chapter6 最大熵模型(下)
下一篇
无影云桌面