什么时候想使用 AdaBoost?

机器算法验证 机器学习 助推 adaboost
2022-03-24 21:46:38

正如我在工作中反复提到的 AdaBoost 分类器一样,我想更好地了解它的工作原理以及何时需要使用它。我已经继续阅读了一些我在谷歌上找到的论文和教程,但是我仍然无法理解分类器的某些方面:

  1. 我见过的大多数教程都说 AdaBoost 是寻找许多分类器的最佳加权组合。这对我来说很有意义。没有意义的是 AdaBoost 似乎只接受一个弱学习器的实现(即 MALLET)。这有什么意义?如果只有一个分类器提供给 AdaBoost,它不应该只返回权重为 1 的相同分类器吗?它如何从第一个分类器产生新的分类器?

  2. 什么时候真正想要使用 AdaBoost?我读过它应该是最好的开箱即用分类器之一,但是当我尝试提升 MaxEnt 分类器时,我得到了 70% 以上的 f 分数,AdaBoost 谋杀了它并给了我 f- 15% 左右的分数具有非常高的召回率和非常低的精度。所以现在我很困惑。我什么时候想使用 AdaBoost?如果可能的话,我正在寻找更多直观而非严格的统计答案。

1个回答

Adaboost 可以使用具有不同参数的同一分类器的多个实例。因此,以前的线性分类器可以组合成非线性分类器。或者,正如 AdaBoost 人喜欢说的那样,多个弱学习器可以成为一个强学习器。可以在底部找到一张漂亮的图片

基本上,它与任何其他学习算法一样:在某些数据集上有效,在某些数据集上无效。肯定有数据集在那里,它擅长。也许你还没有选择合适的弱学习器。你试过逻辑回归吗?在添加学习者的过程中,您是否想象过决策边界是如何演变的?也许你可以说出出了什么问题。