我们必须在哪里使用 Bagging 或 Boosting?

机器算法验证 分类 异常值 助推 装袋
2022-03-21 03:44:19

我想知道 Bagging 什么时候比 Boosting 好?如何为我的分类任务选择合适的方法?

我认为当我们的数据集中有很多异常值时,Bagging 肯定比 Boosting 更好。因为这些异常值很容易在每次迭代中被错误分类,并且可能导致模型过度拟合异常值。这是真的吗?您对在 Bagging 和 Boosting 之间选择最佳方法有任何其他想法吗?

1个回答
  • 一般来说,Boosting 比 bagging 具有更高的过拟合风险。
  • 与您提到的异常值类似,错误标记的案例在提升方面比在装袋方面造成的麻烦要严重得多。

  • 如果您可以合理地预期您的子模型本身不会对接近类边界的案例施加足够的权重,我希望 boosting 会产生比 bagging 更好的结果:bagging 在这个特定方面无济于事,但 boosting 会提高-权衡这些案件。

  • 集成模型通常仅在由于模型不稳定导致性能不足的情况下才有帮助。
    模型预测中的方差不确定性至少有两个原因:模型中的方差不确定性(不稳定性)和输入数据的方差不确定性(噪声测量)。聚合预测器提高了稳定性(“模型噪声”被平均),但如果子模型已经稳定(并且噪声来自例如来自输入数据),聚合不会改善预测*。

  • 由于 boosting 是迭代地改进模型,因此您需要一个“外部”独立测试,而对于 bagged 模型,您可以使用 out-of-bag 案例进行测试。

* 根据分类器的类型和聚合的实际过程(例如,提高对靠近类边界的案例的权重),偏差也会受到影响 - 但通常仅在子模型的方差限制范围内:如果您考虑子模型预测和聚合预测的点云,那么聚合预测将在子模型预测的云中。