一、常见Boost集成模型
AdaBoost、GBDT和XGBoost都是集成学习中的提升(Boosting)算法,它们通过组合多个弱学习器来构建一个强学习器。从经验上来说,XGBoost是诸多竞赛的大杀器,在实际业务工作中可能需要用到集成模型的时候也是直接就上XGBoost。但是实际上这几个模型各有优劣,在业务中应当明确我们的建模需求以及各模型的优势,再考虑使用哪一个模型。
1、AdaBoost
- 基本原理:通过不断修改样本权重,增大分错样本的权重,降低分对样本的权重,自适应调整样本权重。每轮添加的弱分类器重点关注前一轮分错的样本,并通过加权投票的方式将所有弱分类器的结果组合起来,形成一个强分类器。
- 关注点:错误分类的样本。
- 优点:简单易懂,易于实现。
- 缺点:对噪声数据和异常值较为敏感。
2、GBDT(梯度提升决策树)
- 基本原理:采用梯度下降法,每一次迭代都是为了优化当前损失函数,进而在损失函数减少的方向上建立一个新的决策树模型。GBDT通过拟合残差(即真实值与预测值之差)来改进模型 。
- 关注点:损失函数的负梯度。
- 关注点:损失函数的负梯度。
- 优点:可以处理各种损失函数和复杂的数据类型,对异常值较为鲁棒。
- 缺点:计算复杂度较高,训练时间较长。
3、XGBoost
- 基本原理:在GBDT的基础上进行优化,引入了正则化项来控制模型复杂度,使用二阶泰勒展开来更精确地逼近损失函数。支持并行处理,提高了模型的训练效率。
- 关注点:损失函数的一阶和二阶导数。
- 优点:精度高、速度快、稳定性好,适用于大规模数据集和高维特征。
- 缺点:参数较多,调参难度较大。