机器学习模型—XGBoost
机器学习模型—XGBoost
XGBoost(Extreme Gradient Boosting)是由陈天奇等人于2014年提出的一个高效可扩展的梯度提升库。它在梯度提升框架的基础上进行了优化和改进,被广泛应用于机器学习竞赛和实际应用中
作为GBDT(Gradient Boosting Decision Tree)的扩展版本,XGBoost在算法理论和工程实现上都做了大量创新,展现出极致的性能表现,因而受到了机器学习从业者和竞赛选手的广泛追捧。
XGBoost的核心创新
核心算法创新
- 利用二阶近似替代一阶近似,更精准地优化目标函数,提高收敛速度
- 支持并行化加速计算,利用核外线程和多线程优化训练和预测
- 自动捕获特征的交互作用,自动组合低有效维度的特征
- 支持各类缺失值处理策略,避免缺失造成样本浪费
系统层面优化
- 利用数据压缩和列式存储,大幅减小内存开销
- 通过缓存优化,避免多次重复计算
- 支持多种稀疏外存优化,解决大规模数据难题
- 自动并行化近似直方图算法
- 自动负载均衡,提高集群计算效率
- 提供多种高效的缓存优化和内核优化
正则化和优化算法丰富
- L1/L2正则化惩罚,控制过拟合
- 支持带约束的树模型学习
- 提供多种随机采样策略,如列采样、行采样
- 支持交替梯度优化算法
模型可解释性
- 提供SHAP值计算,分析各特征的贡献度
- 自动学习出特征重要性排序
- 支持叶子节点计算样本权重
实用扩展
-
<