MLE / Research Scientist · ML Coding / Design

TikTok XGBoost:梯度提升、二阶目标与树复杂度

把决策树、随机森林与 XGBoost 的训练机制联系起来,说明目标近似与正则。

题目重点:把决策树、随机森林与 XGBoost 的训练机制联系起来,说明目标近似与正则。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 概念讨论树boosting;具体版本/API/默认参数需按实际环境确认,不照搬固定值。

解题路线

  1. 单树按分裂纯度/损失选择局部划分;随机森林用bootstrap和特征随机性训练相对独立树,平均降低方差。XGBoost逐轮加树修正现有预测目标。
  2. 对可微loss在当前预测展开一阶梯度g和二阶h,叶权重由累积G/H与正则共同决定;不是每轮把分类错误样本简单复制。
  3. 经典二阶近似下叶权重−G/(H+λ),叶分数与G²/(H+λ)有关,split gain还扣复杂度罚项。目标假设与约束需成立,不把该式用于任意不可微loss。
  4. 学习率、深度/叶子、行列采样、正则与早停共同控制泛化。缺失值处理和特征工程需保持训练/推理一致,验证分时间/实体。

手动走一遍

平方损失下g=预测−真值,h=1,一叶G为残差和,λ增大会收缩该叶权重。高深度加很多轮可能记忆数据;随机森林与boosting的不同训练方式不能仅按树数量区别。

规模与取舍

训练开销依样本N、特征F、轮数与候选分裂实现;histogram等优化改变常数/复杂度。在线推理随树数和深度增长。

易错点与追问

容易失分的边界

  • Boosting等于独立训练后投票。
  • g/h公式不解释loss假设。
  • 默认参数永远有效。

继续深挖

  • 类别不平衡如何选目标和指标?
  • 树模型与神经模型如何做成本质量对照?
✓已复制微信号!