Adaboost - 权重更新

机器算法验证 自习 助推 adaboost
2022-04-01 00:59:19

我正在自学 AdaBoost - 并阅读以下有用的文章。http://www.inf.fu-berlin.de/inst/ag-ki/adaboost4.pdf我试图理解,如下所示,以下问题:

1)当我们从分类器池中选择和提取时,我们是从给定的分类器池中提取(例如,前 100 棵树的现有池),还是我们(如我假设)从头开始创建最佳分类器(例如一棵具有不同分裂变量的新树)?

2)我没有看到第 3 步(权重更新) - 为什么我们知道新权重是旧权重与eam的倍数以防万一?

在此处输入图像描述

1个回答

对于 1),在这两个方面都是肯定的。您可以将训练新分类器视为从定义为分类算法范围(即所有可能的结果分类器的集合)的“池”中选择最佳分类器。

对于 2),这种重新加权方案只是 adaboost 算法定义的一部分。一个合理的问题是,当然,为什么会这样选择?以这种方式重新加权允许将训练误差与指数递减函数绑定。这是Schapire 和 Freund的Boosting定理 3.1 :

给定算法 1.1 (adaboost) 的符号,令,令为训练集上的任何初始分布。那么组合分类器的加权训练误差有界为λt=12etD1HD1

Pr(H(xi)yi)exp(2tλt2)

您可以使用它来证明,如果您的基础(弱)分类器具有相对于随机性的固定优势(即,无论多么小,对正确性的小偏差),那么 adaboost 会以指数方式快速降低训练误差。这个不等式的证明从根本上使用了关系式(3)。

我应该注意,算法没有什么明显的。我敢肯定,它需要多年的冥想和一壶又一壶的咖啡才能形成最终的形式——所以首字母没有什么问题???响应设置。