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

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

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

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

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

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

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

9.3 信息、信息量与信息熵

(1)信息是什么?

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

(2)信息量是什么?

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

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

(3)信息熵是什么?

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

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

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

9.4 信息增益的计算过程

9.5 剪枝处理是怎么回事

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

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

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

相关推荐
Beau_Will5 分钟前
数据结构-树状数组专题(1)
数据结构·c++·算法
迷迭所归处9 分钟前
动态规划 —— 子数组系列-单词拆分
算法·动态规划
爱吃烤鸡翅的酸菜鱼10 分钟前
Java算法OJ(8)随机选择算法
java·数据结构·算法·排序算法
寻找码源1 小时前
【头歌实训:利用kmp算法求子串在主串中不重叠出现的次数】
c语言·数据结构·算法·字符串·kmp
Matlab精灵1 小时前
Matlab科研绘图:自定义内置多款配色函数
算法·matlab
诚丞成1 小时前
滑动窗口篇——如行云流水般的高效解法与智能之道(1)
算法
Chef_Chen1 小时前
从0开始学习机器学习--Day33--机器学习阶段总结
人工智能·学习·机器学习
databook1 小时前
『玩转Streamlit』--布局与容器组件
python·机器学习·数据分析
肖永威2 小时前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
带多刺的玫瑰2 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法