第九章《搞懂算法:决策树是怎么回事》笔记

决策树算法是机器学习中很经典的一个算法,它既可以作为分类算法,也可以作为回归算法。

9.1 典型的决策树是什么样的

决策树算法是依据"分而治之"的思想,每次根据某属性的值对样本进行分类,然后传递给下个属性继续进行分类判断。

9.2 决策树算法的关键是什么

找到这棵具体的决策树的关键在于判断根节点的属性,根节点选择哪个特征变量是最为关键的, 究竟应该选择哪个特征变量是整个决策树算法的核心所在。因为一旦选定了根节点,我们就可 以依此类推选择根节点的子节点,直到叶节点。通过递归方法,我们就得到了一棵决策树。有了一棵决策树,我们循环调用就可以得到若干棵决策树。

如何选择根节点呢?选择的原则就是其信息增益最大,也就是尽可能消除决策的不确定性。

9.3 信息、信息量与信息熵

(1)信息是什么?

1928 年哈特莱给出过"信息"的一个定义:"信息就是不确定性的消除。"

(2)信息量是什么?

信息量的量化计算最早也是由哈特莱提出的,他将消息数的对数值 定义为信息量。具体来说,假设信息源有 m 种等概率的消息,那么信息量就是 。哈特莱的公式中有个假设条件,那就是"结果是等概率出现的"。

信息论定义信息量为 。其中,Xi 表示某个发生的事件,p 表示这个事件发生的 概率。

(3)信息熵是什么?

信息熵是信息论创立者香农受到热力学"熵"这个概念的启发而创立的,它度量了信源的 不确定性程度。如果说,信息量计算公式()度量的是某一个具体事件发生时所携 带的信息量,那么信息熵就是最终结果出来之前所有可能结果的信息量的期望值。

根据信息论,信息熵的计算公式为:。信息熵越大,表示事件结果的不确定性越大;信息熵越小,表示事件结果的确定性越大。

信息增益是两个信息熵的差异,表示信息熵的变化程度,在决策树算法中有着重要的应用。

9.4 信息增益的计算过程

9.5 剪枝处理是怎么回事

通过剪枝处理来去掉一些分支,从而降低过拟合风险。

决策树剪枝处理有两种方式:预剪枝和后剪枝。预剪枝是指决策树生成节点前评估当前节 点的划分是否能够带来决策树泛化能力的提升。如果当前节点的划分不能带来决策树泛化能力 的提升,则以当前节点为叶节点并停止划分。后剪枝是指先通过训练样本数据生成一棵完整的 决策树,然后自底向上对非叶节点进行评估和替换。如果某个节点的子树被替换成叶节点后, 决策树泛化能力得到了提升,那么就进行替换。

9.6 编程实践:手把手教你写代码

相关推荐
dialect_6 小时前
KMP算法
开发语言·c++·算法
reikocao7 小时前
卡尔曼滤波的动态机制:P如何改变融合权重
算法
漂流瓶jz7 小时前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典
夕除7 小时前
Redis 过期策略
redis·笔记·面试
吞下星星的少年·-·8 小时前
Div.2 CF 1130B题(构造,贪心)
算法·贪心·构造
是main不是漫9 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
Nuanyt9 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
深圳市快瞳科技有限公司10 小时前
野外鸟类AI识别落地实录:输入适配、结构化输出、去重聚合与置信度分流的工程实践
算法·计算机视觉·鸟类识别·鸟类ai识别·野外鸟类观测·林业调查
叼烟扛炮10 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮11 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip