对xgboost、lightgbm面向面试题的理解

intro:

最近在公司做项目,用xgboost、lightgbm分析特征重要性,做个baseline,正好写下对xgboost和lightgbm最新的理解

Chap01:

正好看到一道面试题:

我面试候选人时必问的一个问题

  1. GBDT中的梯度是什么对什么的梯度?
  2. 给一个有m个样本,n维特征的数据集,如果用LR算法,那么梯度是几维?
  3. 同样的m*n数据集,如果用GBDT,那么梯度是几维?m维?n维?m*n维?或者是与树的深度有关?或者与树的叶子节点的个数有关?

就这样一个简单的问题,面试过2位数的候选人了,回答正确的不到5个。回答错误的人中,包括一个前阿里P7,和一个kaggle比赛中多次进入top 5%的“竞赛达人”。
作者:石塔西
链接:https://www.zhihu.com/question/62482926/answer/526988250
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Chap02:

xgboost 优化目标函数:

loss function满足泰勒展开的条件

变化为 

其中 f(x) = l(y_{i},\hat{y}_{i}^{t-1}),即当前i样本实际值t-1轮预测值的差,这是个常数项

并且

可以看出来g_{i}h_{i}与t轮(当前轮无关),是常数。g为f(x)在x=x_0处的导数,f(x)是已知函数。

以平方损失函数为例:

Loss = \sum_{i=1}^{n}(y_{i}-(\hat{y}_{i}^{t-1}+f_{t}(x_{i})))^{2},对应的f(x) = (y_{i}-\hat{y}_{i}^{t-1})^2

g=\partial f(x) /\partial \hat{y}^{t-1} = 2(\hat{y}^{t-1} - y_{i}), h = 2 (g、h都为常数)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试中问到关于XGBoost的问题时,你可以参考以下一些常见的问题和回答: 1. XGBoost是什么?它的优点是什么? - XGBoost是一种梯度提升树算法,它是基于决策树的集成学习算法。 - XGBoost的优点包括高性能、可扩展性强、准确性高、灵活性好、对缺失值和异常值有较好的处理能力等。 2. XGBoost相对于其他机器学习算法有什么特点? - XGBoost采用了正则化技术,使得模型更加稳定和鲁棒。 - XGBoost使用了并行计算和缓存技术,大大提升了训练速度。 - XGBoost对于特征工程的要求相对较低,可以直接使用原始数据进行训练。 3. XGBoost中的主要参数有哪些?如何调参? - 主要参数包括学习率(learning rate)、树的数量(n_estimators)、最大深度(max_depth)等。 - 调参可以使用网格搜索、随机搜索等方法,通过交叉验证来选择最佳的参数组合。 4. XGBoost如何处理缺失值和异常值? - XGBoost可以自动处理缺失值,不需要手动进行填充。 - 对于异常值,XGBoost采用了正则化技术,使得模型对异常值具有一定的鲁棒性。 5. XGBoost如何处理类别型特征? - XGBoost可以通过one-hot编码或者label encoding来处理类别型特征。 这些问题可以帮助你对XGBoost有一个基本的了解,并在面试中回答得更加自信和准确。当然,在面试前你也可以进一步了解XGBoost的原理、应用场景以及更多的调参技巧等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值