决策树(完整)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v : D D
: D D k
中属于第k类的样本子集
: 无缺失值样本所占比例
k : 无缺失值样本中第k类所占比例 p
r v : 无缺失值样本中在属性 a 上取值
av
的样本所占比例
无缺失值的样本子集 信息增益
D
上的
对于问题2:对于有缺失值的样本如何将它从父结点划分到子结点中 x 在划分属性a上的取值已知,则将 x 划入与其取值对 •若样本 应的子结点,且样本权值在子结点中保持为 wx
av
的样本所占比例
: 无缺失值样本所占比例
“纹理”被用于对根结点进行 划分 问题2 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
r v : 无缺失值样本中在属性 a 上取值
av
的样本所占比例
样本划分原则: • 属性值已知,划入与其取值对应的子 结点,样本权值不变,仍为 wx • 属性值未知,划入所有子结点,样本 v wx ,让同一个样 权值调整为 r 本以不同的概率划入不同的子结点中
0.719
0.774
否
是8
Gain( D, 密度,0.381) 4 13 Ent ( D ) [ Ent ( Dt ) Ent ( Dt )] 17 17 0.263
选择“纹理”作为根结点划分属性
与离散属性不同,若当 前结点划分属性为连续属性, 该连续属性还可被再次选作 后代结点的最优划分属性。
验证集:4,5,8,9,11,12
训练集:好瓜 坏瓜 1,2,3,6,7,10,14,15,16,17 6,7,15,17
6,7,15 4,13 (T,F) 5 (F) 6 7,15
17
11,12 (T,T)
减去结点⑥ 4 验证集变为: 7 考察结点顺序: ⑥⑤②③①
8,9 (T,F)
7
9 (F)
15
17
2. 增益率
增益率准则对可取值数目较少的属性有所偏好
著名的C4.5决策树算法综合了信息增益准则和信息率准则的特 点:先从候选划分属性中找出信息增益高于平均水平的属性,再从 中选择增益率最高的。
3. 基尼指数 基尼值
基尼指数
著名的CART决策树算法
• 过拟合:学习器学习能力过于强大,把训练样本自身的一些特点当作了 所有潜在样本都会具有的一般性质,导致泛化性能下降。 • 欠拟合:学习器学习能力低下,对训练样本的一般性质尚未学好。
1,2,3,4,5
6,8,15
10
6
8,15
第(2)种情形:设定为该结点所含样本 最多的类别 利用当前结点的后验分布
15 第(3)种情形:设定为其父结点所含样 本最多的类别 把父结点的样本分布作为当前结点的先验 分布
8
决策树学习的关键是算法的第8行:选择最优划分属性
什么样的划分属性是最优的?
我们希望决策树的分支结点所包含的样本尽可能属于 同一类别,即结点的“纯度”越来越高,可以高效地从根 结点到达叶结点,得到决策结果。
“纹理”属性值缺失的样本编号为:8,10
D \ {8,10}
权值为: wx =1
7 5 3 {8}和{10}同时进入三个分支中,权值分别为: , , 15 15 15
每个属性 ~ d个属性描述的样本 ~ 对样本分类 ~
坐标空间中的一个坐标轴 d维空间中的一个数据点 在坐标空间中寻找不同类样本之间的分类边界
1 1 0 0 Ent ( D ) Ent ( D ) ( log 2 log 2 ) 0 1 1 1 1
1 17
则“编号”的信息增益为:
1 Gain( D, 编号) Ent ( D) Ent ( Dv ) 0.998 v 1 17
远大于其他候选属性 信息增益准则对可取值数目较多的属性有所偏好
留出法:将数据集D划分为两个互斥的集合:训练集S和测试集T
D S T
且
S T
预剪枝
训练集:好瓜 坏瓜 1,2,3,6,7,10,14,15,16,17
精度:正确分类的样本占所有 样本的比例 验证集:4,5,8,9,11,12,13
3 = 7 5 = 7
1,2,3,14 4,5,13 (T,T,F)
8个正例(好瓜)占
对于二分类任务
y 2
以属性“色泽”为例计算其信息增益
根结点的信息熵:
用“色泽”将根结点划分后获得3个分支结点的信息熵分别为:
属性“色泽”的信息增益为:
若把“编号”也作为一个候选划分属性,则属性“编号”的信息 增益为:
根结点的信息熵仍为: Ent ( D) 0.998 用“编号”将根结点划分后获 得17个分支结点的信息熵均为:
二分类学习任务 属性 属性值
• 根结点:包含全部样本 • 叶结点:对应决策结果 “好瓜” “坏瓜” • 内部结点:对应属性测试
决策树学习的目的:为了产生一颗泛化能力强的决策树, 即处理未见示例能力强。
Hunt算法:
无需划分
无法划分 无法划分
不能划分 不能划分
1,2,3,4,5,6,8,10,15
三种度量结点“纯度”的指标: 1. 信息增益 2. 增益率 3. 基尼指数
1. 信息增益 信息熵
香农提出了“信息熵”的概念,解决了对信息的量化 度量问题。
香农用“信息熵”的概念来描述信源的不确定性。
对于二分类任务
y 2
假设我们已经知道衡量不确定性大小的这个量已经存在了,不妨就叫 做“信息量”
• 不会是负数 f 是概率 p • 不确定性函数 的单调递减函数; • 可加性:两个独立符号所产生的不确定性应等于各自不确定性之和,即
f ( p1 p2 ) f ( p1 ) f ( p2 ) f 是负的对数函数,即 同时满足这三个条件的函数 1 f ( pi ) log log pi pi
一个事件的信息量就是这个事件发生的概率的负对数。 信息熵是跟所有事件的可能性有关的,是平均而言发生一个事件得到 的信息量大小。所以信息熵其实是信息量的期望。
x 在划分属性a上的取值未知,则将 x 同时划入所有子 •若样本 结点,且样本权值在子结点中调整为 v wx ,就是让同一个样本以不 r 同的概率划入不同的子结点中。
其中,
wx
是为每个样本
x
赋予的一个权重
r v : 无缺失值样本中在属性 a 上取值
运用: 问题1
av
的样本所占比例
属性值缺失时,如何进行划分属性选择? =属性值缺失时,如何计算缺失属性的信息增益?
现实任务中,尤其在属性数目较多时,存在大量样本出现缺失值。 出于成本和隐私的考虑
1. 属性值缺失时,如何进行划分属性选择?(如何计算信息增益) 2. 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
D:
训练集
: D
(对于缺失属性值的样本如何将它从父结点划分到子结点中) 训练集中在属性a上没有缺失值的样本子集 被属性a划分后的样本子集
过拟合无法彻底避免,只能做到“缓解”。
剪枝,即通过主动去掉一些分支来降低过拟合的风险。 预剪枝 决策树的剪枝策略 后剪枝 预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计, 若当前结点的划分不能带来决策树泛化性能提升,则停止划分并 将当前结点标记为叶结点
后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对 非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来 决策树泛化性能提升,则将该子树替换为叶结点。
8 (F)
验证集精度:
3 7
后剪枝决策树
• 保留了更多的分支 • 欠拟合风险很小 • 泛化能力优于预剪枝 决策树 • 训练时间开销比未减 枝和预剪枝决策树大 得多
1. 生产完全决策树 2. 所有非叶节点逐一 考察
预剪枝决策树
知识回顾:
1. 四类学习任务 2. Hunt算法3种递归返回情形、第8行 3. 3种度量结点“纯度”的指标: • 信息增益 ID3 • 增益率 C4.5 • 基尼指数 CART 1. 过拟合、欠拟合
根结点包含样本集 D 中全部17个样本 ={2,3,4,6,7,8,9,10,11,12,14,15,16,17} 属性“色泽”无缺失值的样例子集 D 包含14个样例: 好瓜(6个) 坏瓜(8个)
14 17
k : 无缺失值样本中第k类所占比例 p
无缺失值样本所占比例
r v : 无缺失值样本中在属性 a 上取值
2. 决策树剪枝 • 预剪枝 • 后剪枝
离散属性:脐部 根蒂 色泽· · ·
连续属性:密度 含糖率· · ·
连续属性离散化技术:二分法 样本集 连续属性
C4.5决策树算法
D
a ,有n个不同的取值,将n个取值从小到大排序: {a1 , a2 ,..., an }
划分点t(数值)将
D
划分为两个子集
t
《机器学习》周志华
• • • • • • 第4章 决策树 第5章 神经网络和深度学习 第6章 支持向量机 第8章 集成学习 第9章 聚类 关联规则学习
第4章 决策树
根据训练数据是否拥有标记信息
学习任务
监督学习(supervised learning) 无监督学习(unsupervised learning) 半监督学习(semi-supervised learning) 强化学习(reinforcement learning)
( xi , yi )
分类、回归
聚类
半监督学习:输入数据部分被标识,部分没有被标识,介于监督学习与非监督学 习之间。
决策树(decision tree)模型常常用来解决分类和回归问 题。常见的算法包括 CART (Classification And Regression Tree)、ID3、C4.5等。
决策树形成的分类边界的明显特点:轴平行,分类边界由若干个与坐标 轴平行的分段组成。
优点:学习结果解释性强,每个划分都对应一个属性取值 2个属性~二维平面
0.381
0.205
不足:
单变量决策树 非叶结点的属性测试 算法第8行 一个属性 (最优划分属性) 寻找最优划分属性
多变量决策树 属性的线性组合 (线性分类器)
E[ log pi ] pi log pi
i 1
n
信息增益
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得 的“纯度提升”越大。 决策树算法第8行选择属性
著名的ID3决策树算法
举例:求解划分根结点的最优划分属性 数据集包含17个训练样例:
8 p1 17 9 p 2 9个反例(坏瓜)占 17
6,7,15,17 8,9 (T,F)
10,16 11,12 (T,T)
预剪枝使得决策树的很 多分支都没有“展开”
优点: • 降低过拟合的风险 • 减少了训练时间开销 和测试时间开销
不足: • 基于“贪心”本质禁止某些分支展开,带来了欠拟合的风险
后剪枝
先从训练集生成一棵完整的决策树,然后自底向上地 对非叶结点进行考察,若将该结点对应的子树替换为叶结 点能带来决策树泛化性能提升,则将该子树替换为叶结点。
{a1, a2 ,..., ai , ai 1,..., an}
Dt
和
Dt
Dt
i a 显然,对相邻的属性取值
t
中取任意值所产生的划分结果都相同
i i 1 a i 1 来说,t在区间 a , a
Dt
密度 0.243 0.245 0.343
好瓜 否 否 否
Dt
根结点包含17个训练样本,密度有17个不同取值 候选划分点集合包含16个候选值 每一个划分点能得到一个对应的信息增益
0.360
0.403 0.437 0.481
否
是1 Biblioteka Baidu2 是3
t 0.381
根结点的信息熵仍为: Ent ( D) 0.998
0.556
0.593 0.680 0.634
是4
否 是5 是6
0.639
0.657 0.666 0.697
否
否 否 是7
Dt
0 0 4 4 Ent ( Dt ) ( log 2 log 2 ) 0 4 4 4 4 8 8 5 5 + Ent ( Dt ) ( log 2 log 2 ) 0.961 13 13 13 13
wa
i 1
d
i i
t
建立合适的线性分类器
wi , t
可以从该结点所含的样本集D和 属性集A上学得