0

我是数据科学的新手,到目前为止,我了解到 bagging 只会减少高方差,但 boosting 会减少方差和偏差,从而提高训练和测试用例的准确性。

我了解两者的功能。似乎在准确度提升方面总是比 bagging 表现得更好。如果我错了,请纠正我。

是否有任何参数可以使 bagging 或基于 bagging 的算法比 boosting 更好 - 无论是在内存或速度方面,还是在复杂数据处理方面或任何其他参数方面。

4

3 回答 3

1

你是对的。它们都有助于提高模型的准确性。事实上,在大多数情况下,boosting 比 bagging 更好,因为它在每个阶段都在学习。但是,在你的模型过拟合的情况下,boosting 会继续过拟合,而 bagging 在这种情况下会有所帮助,因为树总是在新的数据子集上制作的。简而言之。在遇到过拟合问题的情况下,Bagging 比 boosting 更好。

于 2019-08-26T15:07:16.857 回答
1

bagging 有两个属性可以使它比 boosting 更有吸引力:

  1. 它是可并行化的 - 由于 bagging令人尴尬的并行特性,您可以将训练过程加快 4-8 倍,具体取决于您的 cpu 内核。
  2. Bagging 对噪声的鲁棒性相对更强(论文)。现实生活中的数据很少像我们在学习数据科学时使用的玩具数据集那样干净。Boosting 倾向于过度拟合噪声,而 Bagging 在处理噪声方面相对更好。
于 2019-08-26T15:10:28.457 回答
0

bagging 和 boosting 的目标是完全不同的。Bagging 是一种尝试减少方差的集成技术,因此应该在低偏差但高方差的情况下使用它,例如具有低邻居数的 KNN 或完全生长的决策树。另一方面,Boosting 尝试减少偏差,因此它可以处理高偏差但低方差的问题,例如浅决策树。

于 2022-02-09T09:36:01.303 回答