三大SOTA Boosting算法总结和调优一、算法总结XGBoost继承性:对GBDT(Gradient Boosting Decision Tree)的改进。改进点:在速度、精度上相较于GBDT有所提升。通过二阶泰勒展开来近似损失函数,并加入正则化项来控制模型的复杂度,有效防止过拟合。模型树的构造方式:使用按层生长的决策树构建策略,即每次分裂同一层的所有叶子节点。类别特征处理:不能够自动处理类别特征,需要手动处理变成数值后才能输入到模型中。LightGBM继承性:对XGBoost的改进。改进点:在保持精度的基础上,进一步提升了训练速度和降低了内存消耗。采用基于梯度的单边采样(GOSS)和互斥特征捆绑(EFB)技术。模型树的构造方式:使用按叶子生长的决策树构建策略,即每次选择增益最大的叶子节点进行分裂。类别特征处理:需要给出“类别特征名称”,会自动对齐进行处理。CatBoost继承性:也是对XGBoost的改进。改进点:专注于处理类别特征,提供了高效的类别特征处理机制,同时也在速度和精度上有所提升。采用排序提升(Ordered Boosting)技术来处理类别特征。模型树的构造方式:使用对称树结构,决策树是完全二叉树。类别特征处理:给出“类别特征索引”,通过“目标变量统计”等特征编码方式实现高效处理类别特征。二、超参调优方法网格搜索法(Grid Search)原理:穷举法,需要事先给定每个超参数的穷举集合,然后遍历所有可能的组合,找到最优的超参数组合。优缺点:优点:简单易懂,能够找到全局最优解(在给定集合内)。缺点:需要给定集合,且优化的超参数不能过多,否则计算量会非常大。适用场景:适用于超参数数量较少,且对计算资源要求不高的场景。模块调用:在sklearn中通过model_selection的GridSearchCv实现。随机搜索法(Random Search)原理:在指定的超参数集合中随机抽样,然后对抽样到的超参数进行实验,找到最优的超参数组合。优缺点:优点:相比网格搜索法,有时会更高效,因为仅对抽样到的超参数进行实验。缺点:不一定可以找到最优的超参数,因为抽样具有随机性。适用场景:适用于超参数数量较多,且对计算资源有一定要求的场景。模块调用:在sklearn中通过model_selection的RandomizedSearchCv实现。贝叶斯优化(Bayesian Optimization)原理:基于高斯过程、贝叶斯原理的参数优化方法。通过构建目标函数的概率模型,并利用该模型来选择下一个要评估的超参数组合,从而逐步逼近最优解。优缺点:优点:优化效果最好,可以适用于多个超参数。缺点:实现相对复杂,需要一定的先验知识。适用场景:适用于超参数数量较多,且对优化效果有较高要求的场景。模块调用:通过第三方库bayes_opt中的BayesianOptimization实现。三、总结XGBoost、LightGBM和CatBoost作为目前经典的SOTA Boosting算法,在速度、精度和类别特征处理等方面各有优势。在实际应用中,可以根据具体的数据集特征和需求选择合适的算法。同时,超参调优对于提升模型性能至关重要,可以根据实际情况选择合适的调优方法,如网格搜索法、随机搜索法和贝叶斯优化等。通过合理的调优,可以进一步提升模型的性能,使其更好地适应实际应用场景。



































