标签题目
XGBoost相关面试题
XGBoost 为什么比传统 GBDT 快?
XGBoost 比传统 GBDT 快,主要来自工程和算法两方面优化:二阶近似、预排序或直方图、稀疏感知、列块并行、缓存友好访问、正则化剪枝和分布式训练。回答要避免只说“并行”,因为 boosting 的树轮次本身仍然有依赖。
如何用 XGBoost 处理不平衡分类问题?
用 XGBoost 处理不平衡分类,要同时调整训练目标、样本权重、采样策略、评估指标和阈值。面试回答不能只说调 `scale_pos_weight`,还要说明为什么 accuracy 不可靠,以及如何用 PR-AUC、Recall、F1 和业务成本验证。
XGBoost 的特征重要性是如何得到的?
XGBoost 特征重要性通常来自树分裂统计,例如 split 次数、带来的增益和覆盖样本量。回答要说明这些指标的含义和偏差。
XGBoost 如何实现正则化和并行化?
XGBoost 的正则化体现在目标函数和树结构约束中,并行化主要体现在特征分裂候选和直方图统计等计算过程,而不是每棵树完全独立并行。
XGBoost 如何处理缺失值,为什么目标函数要二阶展开?
这题聚焦 XGBoost 两个核心机制:缺失值通过学习默认分裂方向处理,二阶展开用梯度和 Hessian 近似目标函数以高效评估分裂收益。
XGBoost 是决策树还是回归树,训练过程怎样?
XGBoost 是梯度提升树框架,基学习器通常是 CART 回归树。即使用于分类任务,每棵树的叶子输出也是连续分数,用来拟合当前目标函数的一阶、二阶梯度残差方向。训练过程是逐轮加树,每轮基于当前预测计算梯度统计,枚举分裂点最大化增益,确定树结构和叶子权重,再更新整体预测。
为什么 XGB+LR 可以提高模型效果,XGB 在其中充当什么角色?
XGB+LR 中 XGB 通常充当自动特征组合和非线性分桶器,把样本映射到各棵树的叶子节点,再将叶子索引 one-hot 后交给 LR 学线性权重。它能把原始特征空间中的非线性关系转成稀疏组合特征,同时保留 LR 训练快、可校准、部署简单的优点。
XGBoost 主要缓解偏差还是方差问题?它如何通过 Boosting、正则化、Shrinkage、采样和树结构约束影响泛化?
这题的标准回答不是简单选偏差或方差,而是说明 Boosting 主体上通过逐轮拟合残差或负梯度降低偏差,同时 XGBoost 又用正则化、Shrinkage、采样、树深限制和早停来控制方差。回答要能讲出二阶梯度、叶子权重、分裂增益、复杂度惩罚等机制,并结合验证集曲线判断模型是在欠拟合还是过拟合。