弱学习者如何在 boosting 中变得强?

人工智能 机器学习 梯度提升 助推
2021-10-29 05:08:53

Boosting是指将弱学习器转换为强学习器的一系列算法。它是如何发生的?

3个回答

正如评论中提到的@desertnaut

没有弱学习者变强;原来是弱学习者的集合是强的

Boosting是一种集成多个模型(称为弱学习器)以产生超模型(强学习器)的集成方法。

说明了提升技术

基本上提升是顺序训练弱学习者,每个都试图纠正它的前任。对于 boosting,我们需要指定一个弱模型(例如回归、浅层决策树等),然后我们尝试改进每个弱学习器以从数据中学习一些东西。

AdaBoost是一种提升算法,其中具有单个拆分的决策树用作弱学习器。此外,我们还有梯度提升XG 提升

你需要一堆弱学习者,他们每个人都在数据的一个子集上进行训练。

然后,您只需让所有人做出预测,并了解您可以信任每个人的程度,从而产生加权投票或其他类型的个人预测组合。

在 Boosting 中,我们通过顺序构建弱模型,然后在先前模型的弱指标上构建来改进模型的整体指标。

我们首先将基本的非特定算法应用于该问题,该算法通过采用任意解决方案(如稀疏权重或分配相等的权重/注意力)返回一些弱预测函数。我们通过将权重调整为具有较高错误率的预测,在以下预测中对此进行了改进。经过多次迭代后,我们将其结合起来创建一个具有更好指标的强预测函数。


一些流行的提升算法:

  • AdaBoost
  • 梯度树提升
  • XGBoost