专栏介绍:本栏目为 “2021秋季中国科学院大学周晓飞老师的机器学习” 课程记录,不仅仅是课程笔记噢~ 如果感兴趣的话,就和我一起入门Machine Learning吧
目录
- 定义
- 决策树的关键问题
- 1.问题数
- 2.划分(问题)选择
- 非纯度
- 1. 熵度量(Quinlan, C4.5)
- 2. 基尼指数(Gini Index)
- 3. 分类误差
- 决策树划分算法
- ID3(熵,信息增益)
- C4.5(熵,信息增益率)
- CART
- 3.决策树生成
- 4.剪枝处理
本篇博客除了参考老师的课件之外,绝大部分内容参考https://blog.csdn.net/zhaocj/article/details/50503450,老师的课件实在看不懂(悄悄吐槽真的很乱啊),但是这篇博客简直就是令人茅塞顿开的!
决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。
使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。
方法 1
方法 2
候选问题数:
决策树往往采用的是自上而下的设计方法,每迭代循环一次,就会选择一个特征属性进行分叉,直到不能再分叉为止。因此在构建决策树的过程中,选择最佳(既能够快速分类,又能使决策树的深度小)的分叉特征属性是关键所在。这种“最佳性”可以用非纯度(impurity)进行衡量。
应满足两点:
有三个指标来度量这种非纯度:
熵,基尼指数(Gini Index)和分类误差的值越大说明越不纯
目前常用的决策树的算法包括ID3、C4.5和CART。前两种算法主要应用的是基于熵的方法,而第三种应用的是基尼指数的方法。下面我们就逐一介绍这些方法。
如前所述,我们已经有了熵作为衡量样本集合纯度的标准,熵越大,越不纯,因此我们希望在分类以后能够降低熵的大小,使之变纯一些。这种分类后熵变小的判定标准可以用信息增益来衡量,它的定义为:
该式表示在样本集合D下特征属性A的信息增益
信息增益越大,分类后熵下降得越快,则分类效果越好,因此我们在D内遍历所有属性,选择信息增益最大的那个特征属性进行分类。在下次迭代循环中,我们只需对上次分类剩下的样本集合计算信息增益,如此循环,直至不能再分类为止。
C4.5是ID3算法的扩展。ID3应用的是信息增益的方法,但这种方法存在一个问题,那就是它会更愿意选择那些包括很多种类的特征属性,即哪个A中的n多,那么这个A的信息增益就可能更大。为此,C4.5使用信息增益率这一准则来衡量非纯度,即:
CART算法它包括分类树和回归树两种,本篇博客只讨论分类树。
与ID3和C4.5不同,我们选择分类基尼指数最小的那个特征属性作为分类属性。
总结:
- 非纯度要尽可能小
- 熵,基尼指数(Gini Index)和分类误差的值尽可能小
- 信息增益/信息增益率尽可能大(信息增益描述熵下降的程度)
- ID3 C4.5要求越大越好
- 基尼指数尽可能小
决策树生成过程:从顶向下(不断增加一个节点)
ID3 决策树
C4.5 决策树
CART 决策树
将复杂的决策树进行简化的过程称为剪枝,它的目的是去掉一些节点,包括叶节点和中间节点。剪枝常用的方法有预剪枝和后剪枝两种。
期末练习题可以参考这篇博客:【一起入门MachineLearning】中科院机器学习-期末题库-【计算题5+单选题19+单选题20+简答题21】
参考:https://zhuanlan.zhihu.com/p/26703300
参考:https://blog.csdn.net/zhaocj/article/details/50503450