《统计学习方法》第五章决策树学习笔记
来源:互联网 发布:原始股 购买 知乎 编辑:程序博客网 时间:2024/06/06 07:03
决策树这章相关的内容主要分为三部分:特征选择,建树,剪枝。
决策树的种类有ID3,C4.5以及CART 三种。
一 特征选择
1. 熵
熵(entropy)的定义:是表示随机变量X不确定性的度量。
计算公式:
设X是一个取有限个值的离散随机变量,其概率分布为:
则随机变量X的熵定义为:
性质:熵只依赖X的分布,与X的取值无关;熵的范围0≤H(X)≤logn,n为X取值数目;概率分布越均匀,熵取值越大,随机变量不确定性越大。上面公式中的对数以2为底或以e为底,这时熵的单位分别称为比特(bit)或纳特(nat)。
熵越大,随机变量不确定性就越大。熵的取值范围:
2. 条件熵
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。用于特征选择时,该值越小即不确定性越小,其对应的特征越好。
H(Y|X=xi)为X给定条件下X=xi时,Y的条件概率分布的熵。
H(Y|X)实质为H(Y|X=xi)的数学期望。
条件熵计算公式:
3. 信息增益
意义:表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
定义:
其他:决策树学习中的信息增益等价于训练数据集中类与特征之间的互信息。
4. 信息增益比
信息增益的局限性是偏向于选择取值较多的特征,信息增益可以校正这个问题。
特征A对训练数据集D的信息增益比
其中,
二 决策树的生成
1. ID3算法
ID3算法使用信息增益作为特征选择的度量。
结束条件:D中所有实例都属于同一类;信息增益值小于特定的阈值;没有其他特征可以选择了。
构建树的过程中对于选中的某一个特征,其有多少种取值,就分出多少条边。
下层的节点在进行特征选择的时候不会再用到上层用过的特征。
2. C4.5算法
C4.5 对ID3的改进,除了特征选择度量以外,另外两点是可以处理连续值型属性以及处理缺失值。
a. 处理连续值型属性
- 根据数据集D的属性A上的具体数值按照升序排序,得到属性序列值:
{A1,A2,⋯,AN} - 任意两个取值之间的中点作为可能的分割点,将数据集分成两部分,计算每个可能的分割点的信息增益。优化算法是只计算数据标签发生改变的对应两个属性值的中点。
- 对上一步计算得到的信息增益做修正,减去
log2(N−1)|D| (N是连续特征的取值个数,D是训练数据集中的样本数目),此修正的原因是:当离散属性和连续属性并存是,C4.5倾向于选择连续特征做最佳分裂点。 - 选择上一步修正后信息增益最大的分裂点作为该特征的最佳分裂点。
- 计算最佳分裂点的信息增益率作为该特征的信息增益率。
注意:与离散属性不同,若当前节点划分属性为连续属性,该属性还可作为其后代节点的划分属性
例子:收入 40 48 60 72 80 90 类别 否 否 是 是 是 否分裂点只能在
s1=48+602=54 与s2=80+902=85 之间产生。
g(D,A)=H(D)−H(D|A) ,H(D) 不变,H(D|A) 越小越好,H(D|A) 意义是在已知A的条件下,随机变量y的不确定性,只有在发生变化的分裂点上,其不确定性会降低。
以上样例计算结果为:分裂点 44 54 66 76 85 信息增益 0.19 0.45 0.081 0 0.19
b. 处理缺失值
这部分参考周志华《机器学习》P86页,书中还有一个例子。
处理缺失值需要解决两个问题:(1)如何在属性值缺失的情况下进行划分属性选择?(2)给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分。
其实还有一个问题,预测的时候,当前属性值缺失,这个处理思路和上面的第二个问题类似,样本会根据
上面的公式4.12和原来的公式很类似,只是三个参数
三 决策树的剪枝算法
这部分内容不是很明白,需要找个例子看下,此处留着后面再补充。
四 CART算法
分类与回归树(classification and regression tree ,CART)可以用于分类与回归。
ID3 和C4.5 树都是多叉结构,CART树是二叉树,内部节点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。
1. 回归树的生成
一个回归树对应着输入空间(特征空间)的一个划分以及在划分的单元上的输出值。假设已将输入空间划分为M个单元
当输入空间的划分确定时,可以用平方误差
上面算法第一步中公式里面的
2. 分类树的生成
基尼指数:分类问题中,假设有K个类,样本点属于第k类的概率为
对于给定的样本集合D,其基尼指数为:
概率分布的基尼指数与熵意义类似,值越大,其不确定性越大。
如果样本集合D根据特征A是否取某一可能值a被分割成
注意:ID3和C4.5建树时是选取特征,切分点自动根据特征取值确定;CART分类树建树时是选取特征及其切分点。
建树的过程和ID3、C4.5类似,三个结束条件:1.无更多特征(建树时下层的节点仍然会有可能用到上层特征,但不可能是同一切分点);2.节点中的样本数小于预定的阈值;3.样本集的基尼指数大于指定阈值。
3. CART剪枝
后续再整理这部分。
参考:
* 李航 《统计学习方法》
* 周志华 《机器学习》
- 《统计学习方法》第五章决策树学习笔记
- 统计学习方法——第五章决策树
- 统计学习方法笔记:决策树
- 李航 统计学习方法 第五章 决策树 课后 习题 答案
- 统计学习方法笔记七----决策树
- 统计学习方法学习笔记《五》——决策树
- 统计学习方法 第五章
- 《统计学习方法》笔记(六)--决策树
- 《统计学习方法》笔记(5):决策树
- 《统计学习方法》笔记05:决策树模型
- 统计学习方法 笔记与总结 决策树
- 《统计学习方法》学习笔记
- 《统计学习方法》--学习笔记
- 李航《统计学习方法》第五章——用Python实现决策树(MNIST数据集)
- 统计学习方法 李航---第5章 决策树
- 统计学习方法 李航---第5章 决策树
- [统计学习方法]决策树
- 复习统计学习方法-决策树
- jetty web javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory
- Hibernate之底层原理的7点整理和总结
- oracle 提取中文字符串拼音首字母函数,拼音简码提取函数
- SpringMVC-15 Spring整合SpringMVC
- POJ 2495 A Bug's Life【并查集扩展】
- 《统计学习方法》第五章决策树学习笔记
- 实现匹配文件(并自定义命名)的批量拷贝,后续上传改良版
- 关于IE11不能new date,转换时间的方法
- Spring 4 常见异常总结
- 关于双硬盘电脑装Windows纯净系统的问题(已解决)
- 关于ScrollView嵌套listView默认位置为listview顶部的问题
- 【数据结构笔记】1:树和森林,并查集中的部分函数
- centos 行 2: $'\r': 未找到命令 在window 上编写的 sh
- 34. Search for a Range(unsolved)