带答案面经分享-面试中最常考的树模型!

大厂常考决策树模型面试题总结 问题1:ID3、C4.5、CART树的算法思想 ID3算法的核心是在决策树的每个节点上应用信息增益准则选择特征,递归地构架决策树。 C4.5算法的核心是在生成过程中用信息增益比来选择特征。 (1)经验熵 刻画了对数据集进行分类的不确定性。 (2)经验条件熵 刻画了在特征 A 给定条件下,对数据集分类的不确定性。 (3)信息增益 刻画了由于特征 A 的确定,从而使得对数据集的分类的不确定性减少的程度。 信息增益:数据集 D 的经验熵与关于特征 A 的经验条件熵的差值。 问题2:ID3、C4. 阅读详情

树模型可以说在机器学习的面试中,是面试官最喜欢问的一类问题,今天小编就带你一起回顾一下去年校招中我所经历的树模型相关的问题,这次带答案呦~~(答案是小编的理解,如果有遗漏的地方,欢迎大家在留言区指正,同时,如果有更多关于树模型的题目,也欢迎在留言区补充)

问题目录:
1、决策树的实现、ID3、C4.5、CART(贝壳)
2、CART回归树是怎么实现的?(贝壳)
3、CART分类树和ID3以及C4.5有什么区别(贝壳)
4、剪枝有哪几种方式(贝壳)
5、树集成模型有哪几种实现方式?(贝壳)boosting和bagging的区别是什么?(知乎、阿里)
6、随机森林的随机体现在哪些方面(贝壳、阿里)
7、AdaBoost是如何改变样本权重,GBDT分类树的基模型是?(贝壳)
8、gbdt,xgboost,lgbm的区别(百度、滴滴、阿里,头条)
9、bagging为什么能减小方差?(知乎)

其他问题:
10、关于AUC的另一种解释:是挑选一个正样本和一个负样本,正样本排在负样本前面的概率?如何理解?
11、校招是集中时间刷题好,还是每天刷一点好呢?
12、现在推荐在工业界基本都用match+ranking的架构,但是学术界论文中的大多算法算是没有区分吗?end-to-end的方式,还是算是召回?
13、内推刷简历严重么?没有实习经历,也没有牛逼的竞赛和论文,提前批有面试机会么?提前批影响正式批么?
14、除了自己项目中的模型了解清楚,还需要准备哪些?看了群主的面经大概知道了一些,能否大致描述下?

1、决策树的实现、ID3、C4.5、CART(贝壳)

这道题主要是要求把公式写一下,所以决策树的公式大家要理解,并且能熟练地写出来。这里咱们简单回顾一下吧。主要参考统计学习方法就好了。

ID3使用信息增益来指导树的分裂:


C4.5通过信息增益比来指导树的分裂:


CART的话既可以是分类树,也可以是回归树。当是分类树时,使用基尼系数来指导树的分裂:


当是回归树时,则使用的是平方损失最小:


2、CART回归树是怎么实现的?(贝壳)

CART回归树的实现包含两个步骤:
1)决策树生成:基于训练数据生成决策树、生成的决策树要尽量大
2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。

这部分的知识,可以看一下《统计学习方法》一书。

3、CART分类树和ID3以及C4.5有什么区别(贝壳)

1)首先是决策规则的区别,CART分类树使用基尼系数、ID3使用的是信息增益,而C4.5使用的是信息增益比。
2)ID3和C4.5可以是多叉树,但是CART分类树只能是二叉树(这是我当时主要回答的点)

4、剪枝有哪几种方式(贝壳)

前剪枝和后剪枝,参考周志华《机器学习》。

5、树集成模型有哪几种实现方式?(贝壳)boosting和bagging的区别是什么?(知乎、阿里)

树集成模型主要有两种实现方式,分别是Bagging和Boosting。二者的区别主要有以下四点:
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的.
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化.而权值是根据上一轮的分类结果进行调整.
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大.
3)预测函数:
Bagging:所有预测函数的权重相等.
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重.
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果.

6、随机森林的随机体现在哪些方面(贝壳、阿里)

随机森林的随机主要体现在两个方面:一个是建立每棵树时所选择的特征是随机选择的;二是生成每棵树的样本也是通过有放回抽样产生的。

7、AdaBoost是如何改变样本权重,GBDT分类树的基模型是?(贝壳)

AdaBoost改变样本权重:增加分类错误的样本的权重,减小分类正确的样本的权重。

最后一个问题是我在面试之前没有了解到的,GBDT无论做分类还是回归问题,使用的都是CART回归树。

8、gbdt,xgboost,lgbm的区别(百度、滴滴、阿里,头条)

首先来看GBDT和Xgboost,二者的区别如下:

1)传统 GBDT 以 CART 作为基分类器,xgboost 还支持线性分类器,这个时候 xgboost 相当于带 L1 和 L2 正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。
2)传统 GBDT 在优化时只用到一阶导数信息,xgboost 则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。顺便 一下,xgboost 工具支持自定义代价函数,只要函数可一阶和二阶求导。
3)xgboost 在代价函数里加入了正则项,用于控制模型的复杂度。正则项里包含了树的叶子节点个数、每个叶子节点上输出的 score 的 L2 模的平方和。从 Bias-variance tradeoff 角度来讲,正则项降低了模型的variance,使学习出来的模型更加简单,防止过拟合,这也是 xgboost 优于传统GBDT 的一个特性。
4)Shrinkage(缩减),相当于学习速率(xgboost 中的eta)。xgboost 在进行完一次迭代后,会将叶子节点的权重乘上该系数,主要是为了削 弱每棵树的影响,让后面有更大的学习空间。实际应用中,一般把 eta 设置得小一点,然后迭代次数设置得大一点。(补充:传统 GBDT 的实现 也有学习速率)
5)列抽样(column subsampling)。xgboost 借鉴了随机森林的做法,支 持列抽样,不仅能降低过拟合,还能减少计算,这也是 xgboost 异于传 统 gbdt 的一个特性。
6)对缺失值的处理。对于特征的值有缺失的样本,xgboost 可以自动学习 出它的分裂方向。
7)xgboost 工具支持并行。boosting 不是一种串行的结构吗?怎么并行的? 注意 xgboost 的并行不是 tree 粒度的并行,xgboost 也是一次迭代完才能进行下一次迭代的(第 t 次迭代的代价函数里包含了前面 t-1 次迭代 的预测值)。xgboost 的并行是在特征粒度上的。我们知道,决策树的学习最耗时的一个步骤就是对特征的值进行排序(因为要确定最佳分割点),xgboost在训练之前,预先对数据进行了排序,然后保存为 block 结构,后面的迭代中重复地使用这个结构,大大减小计算量。这个block结构也使得并行成为了可能,在进行节点的分裂时,需要计算每 个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行。
8)可并行的近似直方图算法。树节点在进行分裂时,我们需要计算每个特征的每个分割点对应的增益,即用贪心法枚举所有可能的分割点。当数据无法一次载入内存或者在分布式情况下,贪心算法效率就会变得很低,所以 xgboost 还 出了一种可并行的近似直方图算法,用于高效地生成候选的分割点。

再来看Xgboost和LightGBM,二者的区别如下:

1)由于在决策树在每一次选择节点特征的过程中,要遍历所有的属性的所有取 值并选择一个较好的。XGBoost 使用的是近似算法算法,先对特征值进行排序 Pre-sort,然后根据二阶梯度进行分桶,能够更精确的找到数据分隔点;但是 复杂度较高。LightGBM 使用的是 histogram 算法,这种只需要将数据分割成不同的段即可,不需要进行预先的排序。占用的内存更低,数据分隔的复杂度更低。
2)决策树生长策略,我们刚才介绍过了,XGBoost采用的是 Level-wise 的树 生长策略,LightGBM 采用的是 leaf-wise 的生长策略。
3)并行策略对比,XGBoost 的并行主要集中在特征并行上,而 LightGBM 的并 行策略分特征并行,数据并行以及投票并行。

9、bagging为什么能减小方差?(知乎)

这个当时也没有答上来,可以参考一下博客:https://blog.youkuaiyun.com/shenxiaoming77/article/details/53894973

树模型相关的题目以上就差不多了。接下来整理一些最近群友提出的问题,我觉得有一些可能作为面试题,有一些是准备校招过程中的经验:

10、关于AUC的另一种解释:是挑选一个正样本和一个负样本,正样本排在负样本前面的概率?如何理解?

我们都知道AUC是ROC曲线下方的面积,ROC曲线的横轴是真正例率,纵轴是假正例率。我们可以按照如下的方式理解一下:首先偷换一下概念,意思还是一样的,任意给定一个负样本,所有正样本的score中有多大比例是大于该负类样本的score?那么对每个负样本来说,有多少的正样本的score比它的score大呢?是不是就是当结果按照score排序,阈值恰好为该负样本score时的真正例率TPR?理解到这一层,二者等价的关系也就豁然开朗了。ROC曲线下的面积或者说AUC的值 与 测试任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score是等价的。

11、校招是集中时间刷题好,还是每天刷一点好呢?

我的建议是平时每天刷3~5道,然后临近校招的时候集中刷。另外就是根据每次面试中被问到的问题,如果有没答上来的,就针对这一类的题型多刷刷。

12、现在推荐在工业界基本都用match+ranking的架构,但是学术界论文中的大多算法算是没有区分吗?end-to-end的方式,还是算是召回?

学术界论文往往不针对整个推荐系统,而只针对match或者ranking阶段的某一种方法进行研究。比如DeepFM、Wide & Deep,只针对ranking阶段。而阿里有几篇介绍embedding的论文,只介绍match阶段的方法。end-to-end的方式,在match和ranking阶段都有吧。

13、内推刷简历严重么?没有实习经历,也没有牛逼的竞赛和论文,提前批有面试机会么?提前批影响正式批么?

内推一般不刷简历,应该起码会给一个笔试机会。没有实习经历,也没有牛逼的竞赛和论文,提前批的面试机会就得看运气了,一般竞争激烈的大厂估计是没有机会的。网上一般都说提前批不影响正式批,但肯定是有影响的,因为你的面试记录都会记录在公司的面试系统中的,面试官都可以看到你之前的面试记录。

14、除了自己项目中的模型了解清楚,还需要准备哪些?看了群主的面经大概知道了一些,能否大致描述下[皱眉]?

算法题、机器学习&深度学习方法、当然有的公司还会考一些对于业务的理解。

欢迎扫码关注:

7.20-7.26 字节推荐算法(DATA-EDU)5道面试题分享 文末彩蛋:七月在线干货组最新升级的《2021大厂最新AI面试题 [含答案和解析, 更新到前121题]》免费送! 1、bert蒸馏了解吗 知识蒸馏的本质是让超大线下teacher model来协助线上student model的training。 bert的知识蒸馏,大致分成两种。 第一种,从transformer到非transformer框架的知识蒸馏 这种由于中间层参数的不可比性,导致从teacher model可学习的知识比较受限。但比较自由,可以把知识蒸馏到一个非常小的model,但效果肯定会差一些。 阅读详情

相关推荐

算法工程师面试总结

从年后回来,3月份就开始找工作,分别面试了去哪网、小米、360、同城艺龙、58同城、蚂蚁金服、滴滴、字节跳动、百度。从一个面试小白转为一个面霸。一开始有很多很好的机会因为没有好好准备错失良机,好在不抛弃不放弃的精神让我相信天生我才必有用的道理,还好坚持了下去。我经常说耐得住寂寞,坚持下去,一定有好结果,这次又应验了,收获了满意的offer。下面把一些被提问的次数较高的问题罗列一下,日后慢慢...

占卜师的博客 1048

机器学习面试中最常考的树模型(附答案)

树模型可以说在机器学习的面试中,是面试官最喜欢问的一类问题,今天小编就带你一起回顾一下去年校招中我所经历的树模型相关的问题,这次带答案呦~~(答案是小编的理解,如果有遗漏...

算法channel 1485

机器学习面试浅谈

前几天接到心仪公司的机器学习面试邀请,由于之前一直做数据分析,并没有太多机器学习实战经验,深知不足,于是开始了两天没日没夜的‘考前突击’,总结了很多自认为有用的东西;出乎意料的是面试全程并未问到专业知识,大多是从平时做的工作中挖掘我的态度及能力。不论结果如何,这是我反思最多的一次面试,有些看似不起眼的问题也许正潜伏着最大的机会。感想不多说,趁自己还有激情,把这两天突击的东西记下总结起来,方便以后复...

Fuxy_0624的博客 480

算法面经总结(9)决策树

1、

qq_43250450的博客 435

Android GNSS 可视卫星星空图/卫星天顶图 原理及画法介绍

目录1 概念介绍2 绘制步骤2.1 获取卫星信息2.2 绘制底图 效果图: 1 概念介绍 首先介绍一下方位角和高度角的概念: 方位角:是从某点的指北(地理北极)方向线起,依顺时针方向到目标方向线之间的水平夹角。 高度角:从一点至观测目标的方向线与水平面间的夹角。 卫星天顶图 即是根据每一颗卫星的方位角和高度角将其画在以观测位置为中心的天顶图上。 天顶图其底图为由外向内的三个圆和四条直线。三个圆由外向内依次代表高度角0°、30°、60°,中心点代表90°;四条直线分别表示正北-正南、东北-西南、正东

x1471898145的博客 1万+

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5447

机器学习模型——树模型常见面试问题

一、bagging和boosting的区别 1.样本选择:   bagging采用bootstraping的方式进行随机有放回的取样,各轮训练集之间是独立的;   boosting每轮训练的样本是固定的,改变的是样本的权重。 2.样本权重   bagging采取的是均匀取样,每个样本的权重相同;   boosting根据错误率调整样本权重,错误率越大的样本权重越大。 3.预测函数   bagging所有预测函数的权重相同;   boosting中误差越小的预测函数权重越大。 4.并行计算   bagging

行者无疆的博客 640

SAP Group Reporting入门指南(1)--开篇及系统环境搭建

文章介绍了SAP GR的发展历程、与BPC的对比优势,数据收集的多种方式(实时同步、外部导入等)以及合并整体流程,并推出《SAP Group Reporting入门指南》专栏。

bflyfish的博客 284

随机森林部分练习

机器学习过程中,随机森林部分练习

qq_48220470的博客 788

Open3D 点云变换【2025最新版】

点云平移、旋转、缩放、欧式变换的python代码实现。博客长期更新,本文最近更新时间为:2025年1月16日。

点云侠的博客 37万+

YOLOv13零基础手把手教程:在 YOLOv13 中集成 SFSConv,YOLOv13让目标检测更上一层楼

YOLOv13本教程详细介绍了如何在YOLOv13中集成SFSConv模块以提升目标检测性能。YOLOv13 SFSConv创新性地结合了分数伽柏滤波和分数傅里叶变换,通过空间处理单元(SPU)和频率处理单元(FPU)解耦处理特征。实验表明,该模块可使准确率提升5.21%,mAP提高11.45%。教程从原理分析到代码实现,系统讲解了SFSConv的数学基础、模块设计,并提供了在YOLOv13中集成该模块的详细步骤,包括配置文件修改、核心代码实现等。

FJN110的博客 2177

面试必备:一文讲透树模型

决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。 不同于线性模型【数学描述:f(W*X +b)】是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后,再做出决策(也就是决策边界是非线性的,这提高了模型的非线性能力)。 一、树模型的概括 决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单判别西瓜质量的决策树模型示例(注:以下西瓜示例,数据随机杜撰的,请忽略这么小的西瓜瓜~): 学习这

Python学习与数据挖掘 1376

Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框

在9.0的系统产品rom定制化开发中,在一些产品中会出现在首次开机的时候,由于在开机动画播放完以后会出现几秒短暂的黑屏情况,然后进入默认Launcher,这在产品体验上 也是感觉到有点差,所以会要求在去掉这个首次开机黑屏的效果,和在启动过程中的 android is starting这个提示框的这些效果优化,接下来就分析下相关功能, 然后实现这个功能的开发

安卓兼职framework和app工程师的博客 3246

树模型面试笔记

带答案面经分享-面试中最常考的树模型

Cybenko 283

代谢组数据分析(五):代谢组的功能富集分析

本文介绍了代谢组数据分析中的功能分析,包括代谢物富集分析、GSEA和ssGSEA方法。文章详细阐述了分析原理、应用背景、数据准备、统计方法以及结果解释,强调了在代谢通路和代谢物ID对应关系建立、差异代谢物筛选、富集程度计算等方面的关键步骤。通过这些方法,可以揭示差异代谢物在生物过程中的作用,为疾病研究和药物开发提供依据。

专注生信领域 5983

让 ABAP 内表真正释放内存:从 CLEAR、FREE 到打破 Table Sharing 的实战技巧

ABAP内表内存管理的关键在于理解其运行时结构:DELETE操作仅逻辑删除行而不会释放内存,CLEAR或FREE才能真正回收内存。常见的误区包括误判空表状态和忽视内表共享机制。实际应用中,大表筛选后应采用VALUE表达式或逐行插入方式重建表体以释放内存。典型案例显示,正确处理内表内存可显著降低SAP Gateway和批处理程序的内存消耗,提升系统稳定性。开发时需结合调试工具观察内存状态,避免因共享机制导致无效回收。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 325

【NLP算法面经】拼多多、猿辅导、网易云音乐算法面试大乱斗(附大模型面题)

先介绍下个人情况,本科金融,辅修数学,研究生转应用统计,主要申算法去岗,从今年三月开始找暑期实习开始,一直看大佬们的各种面经,现在总结了一下7月至今的各种面试回报大家。以上是目前为止面的,总结来看,算法岗基本都是项目+机器学习、深度学习算法原理+手撕代码,个人手撕代码基本都能搞定,但是之前没什么项目经验,在快手实习之前也是偏数据分析的岗位,刚转到算法岗两周,也没什么能讲的,聊到项目就容易崩,非科班也没论文,申算法岗还是太难了。有空继续更新,希望能帮到大家。

一个程序猿的AI转型之路 1559

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【面试】腾讯+头条 算法双杀面经

作者| 常青czq整理|NewBeeNLP面试锦囊之面经分享系列,持续更新中赶紧后台回复"面试"加入讨论组交流吧写在前面本人21届渣硕,本硕华南某985,有过两...

hecongqing的博客 577

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

嵌入式面经111题答案汇总(含技术答疑)_嵌入式项目源码分享

本人是2020年毕业于广东工业大学研究生:许乔丹,有国内大厂CVTE和世界500强企业工作经验,整理超全面111道嵌入式面试题目答案解析(承诺提供专栏内容免费技术答疑)面试过程口头提问的问题答案汇总,承诺提供免费技术答疑,以及其他的交流,如要怎么入门c++,简历如何写,算法题如何刷等等,实现校招全陪伴!

a763450633的博客 1134

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

embedding_lookup + deepFM + TensorFlow基础知识总结 + 常考树模型

因此,使用embedding_lookup的话,我们不需要将数据转换为one-hot形式,只需要传入对应的feature的index即可。 embedding_lookup 解释的很好、deepFM解释的也很清楚,有详细的示例说明 TensorFlow基础知识总结 (写的很好,简单易懂详细) session的两种方式,一般用第2种,因为不用sess.close() sess = tf.Sessi...

Better_Y0808的博客 476

面经:整理汇总

本文来自晓文面试总结昨天相继看到腾讯、Oppo等公司的校招提前批已经开始,你们是否感受到了压力呢?没关系,小编今天给你整理一下咱公众号和其他公众号发布的一些有关校招面经的...

算法channel 495

【面经】腾讯NLP实习面经(Offer已拿)

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要6分钟跟随小博主,每天进步一丢丢编辑:CVer作者:然然姐https://zhuanlan.zhihu.com/p/1125229...

zenRRan的博客 631

月度总结 | 福利面经 | 机器学习 共20题(附答案)

【机器学习炼丹术】主要是个人学习笔记的整理与分享。作者的文风诙谐幽默,通俗易懂的讲解机器学习领域与图像处理领域中的各种模型、算法、竞赛top方案与知识点。作者是清华大学出版社的签约作家,...

weixin_40920183的博客 786

社招面试总结

老公司架构调整,调整后的工作内容和自己的职业规划不符,就离开了。碰巧有同学在腾讯,叫他帮忙内推去面试了一下,第一次只面完了四面,在总经理面前表现不是很好,四面没有通过,不过整个流程下来,觉得腾讯的社招面试还真的挺有含量的,去面试了,不过也没有通过,对自己的前一阶段的工作都是很好的总结和提升的机会。 我觉得面试流程跟面试的岗位还是有挺大的相关性,不过我觉得研发的岗位应该都是大同小异,下面...

dianliao7817的博客 425

面经总结系列(一): 58同城算法工程师

本专栏主要为总结各小中大厂的面经系列总结,内容涵盖了多个热门技术领域,包括但不限于算法、机器学习、CV、NLP、大模型、测开、大数据、数分等,内容包括问题及详细答案,此外金邀请了行业内经验丰富的技术专家和面试官,分享面试经验和技巧,帮助求职者顺利通关各类技术面试。

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1687
上一篇: 对GCN,Transformer, XLNet, ALBERT, CRF等技术仍然一知半解?再不学习就OUT了!
下一篇: 两道腾讯最爱考的数据分析面试题 | 附解题思路
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值