统计学习方法笔记_cbr:第五章 决策树

第五章 决策树

5.1 决策树模型与学习

5.1.1 决策树模型

定义 5.1(决策树):
分类决策树模型是一种描述对实例进行分类的树形结构,决策树由节点有向边组成;节点有两种类型:

结点类型内部结点叶结点
表示一个特征或属性一个类

用决策树分类,从根结点开始,对实例的某一特征进行分类;以此将实例划分至子节点,递归直至叶节点,则将实例分配到类;

5.1.2 决策树与if-then 规则

决策树的路径或与其对应的if-then 规则集合的一条重要性质:互斥(每一个实例仅对应一条路径·)并且完备(对应满足每一条路径);

5.1.3 决策树与条件概率分布

决策树的条件概率分布由每条路径对应的类的条件概率分布组成;

5.1.4 决策树的学习

决策树学习的本质
从训练数据集中归纳出一组分类规则;

选择条件概率模型的需要:有较好的泛化,拟合,预测能力;

决策树的损失函数通常为正则化的极大似然函数;

如何选择最优的决策树?

决策树学习的算法通常是递归的选择最优特征对训练数据划分,分配到子节点,
如果能基本真确分类,构建叶节点,
否则构建内部节点,重复上述过程,直至所有子集被基本正确分类或没有合适特征可分;

预剪枝:提前对特征进行筛选(避免特征过多->分类过多->模型过于复杂->过拟合)

5.2 特征选择

5.2.1 特征选择问题

在当前条件下选择最优特征对训练数据分割;
特征选择的准则:信息增益或信息增益比;

5.2.2 信息增益

:表示随机变量不确定性的量度;
熵的单位:比特(bit) or 纳特(nat);
熵的计算式:
在这里插入图片描述

当等概率分布时,熵取最大值;

在这里插入图片描述

条件熵
在这里插入图片描述

当熵和条件熵是通过数据估计(特别是极大似然估计)得到时,分别称其为,经验熵、条件熵;
定义 5.2(信息增益(://laugh
//表示由于特征A而使得对数据集D的分类的不确定性的减小程度

特征A对训练数据集的信息增益g(D,A),定义为集合D的经验熵H(D)与(特征A给定条件下的)经验条件熵H(D|A)之差,即
在这里插入图片描述
算法
在这里插入图片描述
选择信息增益最大的特征作为最优特征;

5.3.2 信息增益比

定义 5.3 (信息增益比)
特征A对训练数据集D的信息增益比gR(D,A)定义为信息增益g(D,A)与训练数据集D关于特征A的值的熵的HA(D)之比;
在这里插入图片描述

前文是把集合类别作为随机变量,现在是把某一特征作为随机变量(所有的关于特征A的取值的个数为D),按照此特征的特征取值对特征进行划分(某一特征的某一特征取值的个数为Di),计算HA(D);
在这里插入图片描述

5.3 决策树的生成

5.3.1 ID3 算法

算法 5.2 (ID3 算法)
输入:训练数据集D,特征集A,阈值ε;
输出:决策树T
在这里插入图片描述

5.3.2 C4.5的生成算法

由于ID3 算法偏向选择取值个数多的特征,C4.5的算法对其进行改正(使用时还得依据实际情况,选择合适算法)
算法 5.2 (C4.5的生成算法)
把ID3 算法中的信息增益改为信息增益比;

5.4 决策树的剪枝

决策树的剪枝(pruning)往往通过极小化决策树整体的损失函数(loss function)或代价函数(cost function)来实现;
设树T的叶结点个数为|T|;
t是树T的叶结点;
该叶结点有Nt个样本点;
其中k类的样本点有Ntk个,k=1,2,…,K;
Ht(T)为叶结点t上的经验熵;
a≥0为参数;
则决策树学习的损失函数可以定义为
在这里插入图片描述
其中Ca(T)表示模型训练数据的预测误差,即拟合能力;
|T|代表模型复杂度;
参数α>=0,控制两者的影响:

α0
模型复杂度不考虑模型复杂度最小

利用损失函数最小化原则进行剪枝就是用正则化(结构风险最小化)的极大似然估计进行模型的选择;
算法5.4(树的剪枝算法)
输入:生成算法产生的整个树T,参数α;
输出:修剪后的子树Tα;
1.计算每个结点的经验熵;
2.递归的自叶结点向根结点回溯;
3.比较剪枝前后字树的损失函数,若剪枝后损失函数值更小,则剪枝;
4.返回2.直至回溯至根结点,得到损失函数最小得子树Tα;

5.5 CART 算法

CART 组成:
(1)决策树的生成:基于训练数据集生成决策树,生成的决策树要尽量的大;
(2)决策树的剪枝:用验证数据集对以生成的树进行剪枝并选择最优子树;
剪枝标准:损失函数最小化;

5.5.1 CART的生成

决策树的生成就是递归地构建二叉树的过程;对回归树用平方误差最小化准则,

决策树类别回归树分类树
特征选择的准则平方误差最小化准则及基尼指数最小化准则
1.回归树的生成

一棵回归树对应将输入空间(特征空间)划分为M个单元,每个单元对应一个输出值cm;
回归模型表示如下:
在这里插入图片描述
如何选取最优cm值:
满足的条件是平方误差最小化,当cm为单元内xi对应的yi的平均值时,平方误差最小;
在这里插入图片描述
如何对特征空间进行划分:
function_divide()
{
for(j=0;j<J;j++)
{
for(s=0;s<S;s++)
{
暂时划分为两个子区域R1,R2:
在这里插入图片描述
计算最小平方误差:
在这里插入图片描述
/*
c的最优值叫 ^c(hat c)是所有实例xi对应的yi的平均值;在这里插入图片描述

*/

如果min是全局最小值则j为最优切分变量,s为最优切分点;将特征空间划分为两个子区域;递归调用function_divide划分子区域,直至满足停止条件;
}
}
}

最终将输入空间划分为M个区域,R1,R2…RM,生成决策树:
在这里插入图片描述

2.分类树的生成

算法 5.6(CART生成算法)
从根结点开始对每个结点进行一下操作,构建二叉决策树;
(1)选择一个特征A=a;满足为是,不满足为否;将训练数据集分成两类;计算基尼指数;
找出基尼指数最小时对应的A 和 a为最优特征和最优切分点;切分数据集至两个子结点;
(2)对子结点递归调用(1),直至满足停止条件
(3)生成决策树;
停止条件:
1.结点中的样本数小于阈值;
2.样本集的基尼指数小于阈值;
3.没有更多特征;

5.5.2 CART 剪枝

在这里插入图片描述

α权衡训练数据的拟合程度与模型的复杂度;
递归的计算出最小离散数值α,将其对应的以t为根节点子树Tt修剪为单个结点;
得到将与数值ak有关的树枝(以t为根结点的子树Tt)剪掉的最优决策树Ti;
α不断增大,递归选择模型复杂度不断减小的最优决策树;
最终得到最优决策树集合(T0,T1…Tn);
用独立的验证测试集,计算平方误差或基尼指数得到最优子树Tα;

图片素材截至B站简博士

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值