首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
蝶恋纷飞
武汉大学 数据分析师
发布于北京
关注
已关注
取消关注
@林小白zii:
机器学习面经-Xgboost LightGBM
一、简介 XGBoost(Extreme Gradient Boosting)和LightGBM(Light Gradient Boosting Machine)都是梯度提升树(Gradient Boosting Trees)的变种,用于解决各种机器学习问题,如分类、回归和排名。它们都基于集成学习的思想,通过组合多个弱学习器(通常是决策树)来构建一个强大的预测模型。作为机器学习经典的算法,常用来解决各种分类、CTR预估等问题,在各大公司的业务场景也有着广泛的使用。 二、面经 1、XGBOOST的思想是什么? 2、XGBOOST如何寻找最优特征,是有放回还是无放回? 3、XGBOOST中使用了并行化计算,XGBOOST是怎么并行的? 4、XGBOOST的树生长时的精确分裂与近似分裂分别是怎么做的? 5、XGBOOST如何计算特征重要度的? 6、XGBOOST如何停止树的循环生成? 7、XGBOOST二阶泰勒展开去逼近的函数是什么?自变量是什么? 8、为什么要二阶泰勒展开,优势在哪里? 9、如果没有二阶导怎么办? 10、XGBoost与GBDT的联系和区别有哪些? 11、XGBOOST和LightGBM的区别? 12、XGBoost缺失值的处理方法是什么? 13、可以介绍一下XGBOOST中的block结构吗? 14、XGBOOST对类别特征采用one-hot编码,那么其弊端是? 15、XGBOOST是如何做二分类和多分类的? 16、XGBOOST为了控制过拟合,做了什么? 17、XGBOOST的正则项是什么? 18、XGBOOST在处理过拟合的时候,有一个gamma参数,是来干嘛的? 19、XGBOOST的近似直方图算法也类似于LightGBM的直方图算法,为什么XGBOOST的直方图算法要慢很多呢? 20、XGBOOST支持哪几种基分类器? 21、XGBOOST每一轮迭代拟合的是什么? 22、LightGBM对类别特征怎么处理的? 23、Light采用的是many vs many的方式,实现类别特征的划分,具体来说是怎么样的?直方图算法? 24、LightGBM的优势?相对XGBOOST来说的优势,改进? 25、LightGBM做了哪方面的并行? 26、Leaf-wise和Level-wise有什么不同 27、LightGBM中能说说histogram(直方图)算法吗? 28、介绍一下LightGBM中单边梯度采样算法(GOSS)? 29、介绍一下LightGBM中互斥特征捆绑算法(EFB)? 30、LightGBM中特征之间如何捆绑? 三、面经参考回答 1、XGBOOST的思想是什么? 参考回答:XGBOOST的思想简而言之就是不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数f(x),去拟合上次预测的残差。当我们训练完成得到k棵树,我们要预测一个样本的score,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数。最后只需要将每棵树对应的分数加起来就是该样本的预测值。 2、XGBOOST如何寻找最优特征,是有放回还是无放回? 参考回答:XGBoost在训练的过程中给出各个特征的评分,从而表明每个特征对模型训练的重要性。XGBoost利用梯度优化模型算法, 样本是不放回的(想象一个样本连续重复抽出,梯度来回踏步会不会高兴)。但 XGBoost 支持子采样, 也就是每轮计算可以不使用全部样本。 3、XGBOOST中使用了并行化计算,XGBOOST是怎么并行的? 参考回答:XGBOOST的并行化并不是类似于RF(随机森林)那样树与树之间并行化训练。XGBOOST同BOOSTING方法一样,在树的训练过程中是串行的,它的并行体现主要有两个方面,首先,它对gbdt作了一些改进,加了线性回归分类器而不是只有cart回归树,但默认参数还是cart回归。为了能加快并行,xgb对特征进行了预排序,存成了block结构,可以直接快速获得切分点增益了,这里有两处并行的操作,第一步是遍历节点,树的一层节点可以并行做,因为xgb是按层不加区分的去切分每一个结点,每个结点都会尝试分类,所以构建的是一个非常茂盛的树,既然每个结点都要尝试分裂,就可以对每个结点并行去切分。结点的切分要选择一个特征的一个分裂点切分,这一步可以在特征维度上并行。由于gbdt类基模型相关性,做不把串行树做到并行的,所以并行主要在结点分裂和特征分裂上。不过为了防止过拟合,当分裂的增益小于阈值时,就不分裂了,算是预剪枝了。 4、XGBOOST的树生长时的精确分裂与近似分裂分别是怎么做的? 参考回答:精确分裂也叫作贪心分裂,是遍历所有特征中可能的分裂点位置。当数据量非常大难以被全部加载进内存时或者分布式环境下时,贪心算法将不再合适。近似分裂通过特征的分布,按照分位数确定一组候选分裂点,通过遍历所有的候选分裂点来找到最佳分裂点。分位数的确定考虑了样本点在当前特征下的权重,权重值取损失函数的二阶导数在该样本点下的值。分裂算法有两种,一种是精确的分裂,一种是近似分裂算法,精确分裂算法就是把每个属性的每个取值都当作一次阈值进行遍历,采用的决策树是CART。近似分裂算法是对每个属性的所有取值进行分桶,按照各个桶之间的值作为划分阈值,xgboost提出了一个特殊的分桶策略,一般的分桶策略是每个样本的权重都是相同的,但是xgboost使每个样本的权重为损失函数在该样本点的二阶导。 5、XGBOOST如何计算特征重要度的? 参考回答:一般来说,特征重要性分数,衡量了特征在提升决策树构建中的价值,一个属性越多的被用来在模型中构建决策树,它的重要性就相对越高。特征重要性是通过统计Xgboost所有树中各特征被用于最优分裂的加权计数得到,并进行了排序。在单个决策树中通过属性分裂点改进性能度量来计算属性的重要性,由节点负责加权和记录次数。也就说一个属性对分裂点改进性能度量越大(越靠近根节点),权值越大,被越多提升树所选择,属性越重要。比如说一个属性在一个由两棵树构成的xgboost中,得分是由该属性分别在1,2树中作为最优属性的次数乘以权重后的平均值。最终将一个属性在所有提升树中的结果进行加权求和然后求平均,得到重要性评分。 6、XGBOOST如何停止树的循环生成? 参考回答:这里主要通过三个参数来限制树的一个循环生成。设置树的最大深度、当样本权重和小于设定阈值时停止生长以防止过拟合。具体而言: 设定一个阀值:当引入的分裂带来的增益小于设定阀值的时候,我们可以忽略掉这个分裂,所以并不是每一次分裂loss function整体都会增加的,有点预剪枝的意思,阈值参数为(即正则项里叶子节点数T的系数)。 设置超参数max_depth:当树达到最大深度时则停止建立决策树,避免树太深导致学习局部样本,从而过拟合。 设置样本的权重: 样本权重和小于设定阈值时则停止建树。什么意思呢,即涉及到一个超参数:最小的样本权重min_child_weight,和GBM的 min_child_leaf 参数类似,但不完全一样。大意就是一个叶子节点样本太少了,也终止同样是防止过拟合。 7、XGBOOST二阶泰勒展开去逼近的函数是什么?自变量是什么? 参考回答:自变量是叶子结点的权重,每棵树存到叶子结点下,这个叶子结点就有一个权重,XGBOOST第一要学习的是结构,结构就是每一个结点用什么特征去分裂,以及用哪些特征值。 8、为什么要二阶泰勒展开,优势在哪里? 参考回答:主要有两点原因:1、xgboost是以mse为基础推导出来的,在mse的情况下,xgboost的目标函数展开就是一阶项+二阶项的形式,为了后续推导的统一,所以将目标函数进行二阶泰勒展开,就可以直接自定义损失函数了,只要二阶可导即可,增强了模型的扩展性。2、二阶信息能够让梯度收敛的更快,类似牛顿法比SGD收敛更快。一阶信息描述梯度变化方向,二阶信息可以描述梯度变化方向是如何变化的。 9、如果没有二阶导怎么办? 参考回答:gbdt的目标函数与xgboost区别就是带不带正则项(算法内容上)。gbdt对损失函数的优化是直接使用了损失函数的负梯度,沿着梯度下降的方向来减小损失,其是也就是一阶泰勒展开。而xgboost在这里使用了二阶泰勒展开,因为包含了损失函数的二阶信息,其优化的速度大大加快。但如果loss没有二阶导数,就使用一阶导数优化。 10、XGBoost与GBDT的联系和区别有哪些? 参考回答:XGBoost与GBDT两者的联系和区别如下: GBDT是机器学习算法,XGBoost是该算法的工程实现。 XGBoost工具在训练的时候支持并行,它在每棵树寻找分裂点的时候,是可以进行并行计算的,对于每一个特征,他都需要计算这个特征分裂的时候的方差,然后选择一个方差最小的进行分类,这个过程是可以并行进行的,因为它在计算这个特征的分类方差的时候,并不会影响到其他的特征的计算。所以,XGBOOST将各列分块存储,在进行各列的分裂点计算查找时,可以在多线程,或者多台机器上并行进行。 在使用CART作为基分类器时,XGBoost显式地加入了正则项来控制模型的复杂度,正则项包括树的叶子结点个数,有利于防止过拟合,从而提高模型的泛化能力。 GBDT在模型训练时只使用了代价函数的一阶导数信息,XGBoost对代价函数进行二阶泰勒展开,可以同时使用一阶和二阶导数,训练速度更快。 传统的GBDT采用CART作为基分类器,XGBoost支持多种类型的基分类器,比如线性分类器,这个时候相当于带L1和L2正则项的逻辑回归(分类)或者是线性回归(回归)。 Shrinkage(缩减):相当于学习速率,xgboost在进行完一次迭代后,会将叶子结点的权重乘以该系数,主要是为了削弱每一颗树的影响,让后面有更大的学习空间。 列抽样,XGBoost借鉴了随机森林的做法,支持列采样,不仅能降低过拟合,还能减少计算。传统的GBDT没有设计对缺失值进行处理,XGBoost能够自动学习出缺失值的处理策略。 11、XGBOOST和LightGBM的区别? 参考回答:XGBoost与LightGBM两者的联系和区别如下: 切分算法(切分点的选取):XGBoost通过对所有特征都按照特征的数值进行预排序选取最
点赞 10
评论 7
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
06-20 15:40
门头沟学院 运营
人在小红书 阿里暑期offer来了咋弄
投暑期太晚了,五月六号才开始投,所以也投了几个日常实习5月20号左右,拿了一个字节base深圳的商业化运营,一个快手的垂类运营,一个小红书的(目前在岗)5月26左右阿里大文娱打了电话,后来放弃了,觉得大文娱在阿里有点边缘于是5月底入职了小红书入职当天阿里淘天打了电话,想着没事就面面吧。昨天发了offer(暑期实习,据说阿里转正率还可以)要鸽了小红书吗?!和阿里沟通可以6月底入职,所以满打满算在小红书干一个月(小红书mt很好,有转正,但业务不太喜欢
在写面经的LOLO:
好厉害想体验大厂工作怎么都进不去
点赞
评论
收藏
分享
06-17 07:47
同济大学 ARM工程师
25年那几类嵌入式岗位可以无脑入
嵌入式领域中,有几类岗位特别受到市场的青睐,这些岗位通常与当前科技发展的热点趋势紧密相关。以下是2025年一些较为吃香的嵌入式岗位:1.智能物联网全栈开发:⭐⭐⭐⭐随着智能家居、智慧城市等概念的普及,对于能够进行智能设备联网开发的专业人才需求量大增。像小米、格力等公司都在积极打造智能生态系统。2.汽车电子行业:⭐⭐(风险机遇并存)新能源汽车行业的爆发式增长带来了对车载系统开发人员的需求,包括自动驾驶辅助系统等前沿技术的研发。3.机器人核心控制开发:⭐⭐⭐人工智能的发展推动了机器人技术的进步,无论是工业机器人还是服务型机器人,都需要专业的嵌入式工程师来进行核心控制系统的开发。4.医疗设备开发:涉...
点赞
评论
收藏
分享
04-25 19:29
已编辑
宁波大学 测试开发
大一能找啥实习啊
求大家帮忙看看😭😭😭孩子想找工作
被普调的六边形战士很高大:
你我美牛孩
点赞
评论
收藏
分享
昨天 15:35
电子科技大学 Java
日常实习要求那么高吗还是我太菜了,请各位佬狠狠拷打我的简历
我第一次投实习,本来想着先投两个小厂试试水攒攒经验,结果都说不合适直接给连面试的机会也没得,有点绷不住了,请各位佬狠狠拷打我的简历
程序员饺子:
你这学历投小厂知道你早晚要跑路的,肯定不敢要。双9电✌直接all in京区大厂就行了。
简历被挂麻了,求建议
Java学习交流
点赞
评论
收藏
分享
06-19 16:21
门头沟学院 Java
刚开始找实习
投了简历后,都没有约到面试,这是正常的吗?
为了找工作你投递了多少公司?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27届 两进字节!!从计算机小白开始的打怪升级之路!!
1.5W
2
...
27 届前端鼠鼠拿下 3 家大厂 OC,拒 6 面的上岸攻略
9657
华为开奖进展
热聊中
3
...
字节即将LastDay以及大模型应用开发看法
5751
4
...
和女朋友双双进入字节!
5530
5
...
临近暑期实习但技术简历还没写好?大厂学长教你怎么写
5321
6
...
拒绝了美团offer
5112
7
...
大家的简历放照片吗?
4741
8
...
请问, 腾讯云智是大厂吗?
4382
9
...
正在实习的你一定要知道的几件事
4074
10
...
如果没有那么焦虑就好了
2946
创作者周榜
更多
正在热议
更多
#
你找实习最大的坎坷是什么
#
21654次浏览
261人参与
#
蔚来工作体验
#
17763次浏览
66人参与
#
我的职场心眼子段位
#
15761次浏览
449人参与
#
如果可以,你希望哪个公司来捞你
#
90734次浏览
377人参与
#
实习最想跑路的瞬间
#
16694次浏览
129人参与
#
比亚迪精密制造工作体验
#
19631次浏览
39人参与
#
比亚迪工作体验
#
58204次浏览
235人参与
#
机械制造公司评价
#
117866次浏览
302人参与
#
机械/汽车制造公司爆料
#
40084次浏览
207人参与
#
春招别灰心,我们一人来一句鼓励
#
112939次浏览
1294人参与
#
对妈妈没说出口的话
#
44902次浏览
760人参与
#
秋招投简历越早越好吗
#
66265次浏览
629人参与
#
这些公司卡简历很严格
#
37793次浏览
190人参与
#
我的求职精神状态
#
88702次浏览
1045人参与
#
机械人,你被简历秒挂的企业有哪些?
#
40916次浏览
274人参与
#
大疆今年的机械笔试难吗?
#
40904次浏览
452人参与
#
华为存储OD事变
#
129362次浏览
694人参与
#
当你面对裁员会如何?
#
268261次浏览
2388人参与
#
非技术岗投递进展
#
142205次浏览
1255人参与
#
职场破防瞬间
#
241179次浏览
2233人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务