《机器学习高频面试题详解》1.9:决策树-剪枝算法
点击上方卡片链接就可以进入专栏,专栏右上角有订阅选项,欢迎大家订阅~
前言
大家好,我是鬼仔,今天带来《机器学习高频面试题详解》专栏的第1.9节:决策树-剪枝算法。这是鬼仔第一次开设专栏,每篇文章鬼仔都会用心认真编写,希望能将每个知识点讲透、讲深,帮助同学们系统性地学习和掌握机器学习中的基础知识,希望大家能多多支持鬼仔的专栏~
目前这篇是试读,后续的文章需要订阅才能查看哦,专栏预计更新30+篇文章(只增不减),具体内容可以看专栏介绍,大家的支持是鬼仔更新的动力!
本文大纲 |
|
一、原理 |
1. 剪枝处理 |
2. 预剪枝 |
|
3. 后剪枝 |
|
4. 形式化定义 |
|
二、面试真题 |
1. 决策树出现过拟合的原因? |
2. 为什么要对决策树进行剪枝处理? |
|
3. 如何对决策树进行剪枝? |
|
4. 剪枝算法的优缺点? |
|
5. 决策树算法的优缺点? |
一、原理
1. 剪枝处理
决策树生成算法本质上是贪心算法,为了尽可能地提高训练集的准确率,结点划分过程将不断重复,可能会导致决策树分支过多,以至于把训练集中的噪音当作所有数据都具有的一般性质,从而导致过拟合。
剪枝是一种有效防止决策树过拟合的方法,它将不必要的结点删去,从而减少决策树的大小,降低复杂度,并增强模型泛化能力。剪枝处理具体可分为预剪枝和后剪枝策略。
2. 预剪枝
预剪枝算法是指在决策树生成结点过程中,对每个结点在划分前先进行评估,评估方法一般为交叉验证,即提前准备独立的验证集。如果当前结点的划分不能提升模型的泛化能力,即在验证集中表现更差,则停止结点划分,并将当前结点标记为叶结点。通过这种限制决策树生长的方式,来防止过拟合。
3. 后剪枝
后剪枝算法是先利用训练集数据生成一颗完整的决策树,然后自底向上地对非叶结点进行评估,评估方式和预剪枝一样,均为交叉验证法。如果将该结点对应的子树替换为叶结点后,验证集上的误差更小,则将该子树替换为叶结点。
4. 形式化定义
在剪枝过程中,我们定义决策树的损失函数(目标函数):
其中,为任意子树,为对训练数据的预测误差(如信
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
专栏作者曾在校招期间拿到包括字节、微信和华为等多家大厂的SSP offer,该专栏主要是为了帮助同学们系统性地学习和掌握机器学习中的基础知识。专栏详细地整理了各大厂的算法岗面经,力争深入浅出地讲解重要知识点,适合人群为准备校招或者实习,且目标岗位为算法岗、数据挖掘岗或者数据分析岗的同学。