《机器学习高频面试题详解》1.9:决策树-剪枝算法

点击上方卡片链接就可以进入专栏,专栏右上角有订阅选项,欢迎大家订阅~

前言

大家好,我是鬼仔,今天带来《机器学习高频面试题详解》专栏的第1.9节:决策树-剪枝算法。这是鬼仔第一次开设专栏,每篇文章鬼仔都会用心认真编写,希望能将每个知识点讲透、讲深,帮助同学们系统性地学习和掌握机器学习中的基础知识,希望大家能多多支持鬼仔的专栏~

目前这篇是试读,后续的文章需要订阅才能查看哦,专栏预计更新30+篇文章(只增不减),具体内容可以看专栏介绍,大家的支持是鬼仔更新的动力!

本文大纲

一、原理

1. 剪枝处理

2. 预剪枝

3. 后剪枝

4. 形式化定义

二、面试真题

1. 决策树出现过拟合的原因?

2. 为什么要对决策树进行剪枝处理?

3. 如何对决策树进行剪枝?

4. 剪枝算法的优缺点?

5. 决策树算法的优缺点?

一、原理

1. 剪枝处理

决策树生成算法本质上是贪心算法,为了尽可能地提高训练集的准确率,结点划分过程将不断重复,可能会导致决策树分支过多,以至于把训练集中的噪音当作所有数据都具有的一般性质,从而导致过拟合。

剪枝是一种有效防止决策树过拟合的方法,它将不必要的结点删去,从而减少决策树的大小,降低复杂度,并增强模型泛化能力。剪枝处理具体可分为预剪枝和后剪枝策略。

2. 预剪枝

预剪枝算法是指在决策树生成结点过程中,对每个结点在划分前先进行评估,评估方法一般为交叉验证,即提前准备独立的验证集。如果当前结点的划分不能提升模型的泛化能力,即在验证集中表现更差,则停止结点划分,并将当前结点标记为叶结点。通过这种限制决策树生长的方式,来防止过拟合。

3. 后剪枝

后剪枝算法是先利用训练集数据生成一颗完整的决策树,然后自底向上地对非叶结点进行评估,评估方式和预剪枝一样,均为交叉验证法。如果将该结点对应的子树替换为叶结点后,验证集上的误差更小,则将该子树替换为叶结点。

4. 形式化定义

在剪枝过程中,我们定义决策树的损失函数(目标函数):

C_\alpha(T)=C(T)+\alpha\left| T \right|

其中,为任意子树,为对训练数据的预测误差(如信

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

机器学习高频面试题详解 文章被收录于专栏

专栏作者曾在校招期间拿到包括字节、微信和华为等多家大厂的SSP offer,该专栏主要是为了帮助同学们系统性地学习和掌握机器学习中的基础知识。专栏详细地整理了各大厂的算法岗面经,力争深入浅出地讲解重要知识点,适合人群为准备校招或者实习,且目标岗位为算法岗、数据挖掘岗或者数据分析岗的同学。

全部评论
马住,睡前学习,比较催眠
点赞 回复 分享
发布于 2023-02-09 17:36 陕西
进我的收藏夹里吃灰吧!
点赞 回复 分享
发布于 2023-02-09 17:30 山东

相关推荐

不愿透露姓名的神秘牛友
07-03 16:46
今天本来好好的,结果带教老师当着众人的面,直接大声叫我的名字,我过去还没站稳,劈头盖脸就是一句:“你这搞的什么玩意啊!没带脑子上班吗”那语气、那眼神,仿佛我做了什么十恶不赦的大事。我到底干啥了?不过是一些小疏漏,谁刚开始实习不会犯错啊?可她倒好,不仅不耐心指导,还这样贬低我。我满心的热情和期待,瞬间被浇了个透心凉🥶我也是爹妈疼爱的宝贝,来实习是为了学习、成长,不是来被人随意羞辱的!真心希望遇到的带教老师能多些耐心和善意,毕竟谁都有从零开始的时候,这样的“教育”方式,真的只会让人越来越没自信
longerluck...:前几年实习(初创公司),我们老板每月不固定会举行会议,叫我们几个实习生谈一下生活看到或听到的一些事情,并给出看法,当时我就正常讲了下我所见到的,没有个人看法,老板直接当着众人的面骂了我,那时候我真是感觉尴尬的要死(毕竟还有其他正式员工在)后面没待多久我就提出离职(因为当时我还负责一个项目),我leader叫我不要走,说给我涨工资,我反正觉得这种公司我是待不下去了,官味太重了,最后我还是跑路
实习吐槽大会
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
Rena1ssanc...:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
评论
17
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务