提升机器学习 | Boosting 和 AdaBoost
Boosting是一种集成建模技术,它试图从弱分类器的数量中构建一个强分类器。它是通过串联使用弱模型来构建模型的。首先,根据训练数据建立模型。然后构建第二个模型,试图纠正第一个模型中存在的错误。继续此过程并添加模型,直到正确预测了完整的训练数据集或添加了最大数量的模型。
AdaBoost是第一个为二元分类而开发的真正成功的 boosting 算法。 AdaBoost是Adaptive Boosting 的缩写,是一种非常流行的提升技术,它将多个“弱分类器”组合成一个“强分类器”。它是由 Yoav Freund 和 Robert Schapire 制定的。他们还因其工作获得了 2003 年哥德尔奖。
算法:
- Initialise the dataset and assign equal weight to each of the data point.
- Provide this as input to the model and identify the wrongly classified data points.
- Increase the weight of the wrongly classified data points.
.
- if (got required results)
Goto step 5
else
Goto step 2 - End
解释:
上图以非常简单的方式解释了 AdaBoost 算法。让我们试着分步理解它:
- B1由 10 个数据点组成,包括加(+)和减(-)两种类型,其中 5 个是加(+),另外 5 个是减(-),并且每个数据点最初都被分配了相等的权重。第一个模型尝试对数据点进行分类并生成垂直分隔线,但它错误地将 3 plus(+) 分类为减号 (-)。
- B2包含来自先前模型的 10 个数据点,其中 3 个错误分类的 plus(+) 的权重更大,以便当前模型尝试更多地正确分类这些 plus(+)。该模型生成了一条垂直分隔线,该线正确分类了先前错误分类的加号(+),但在此尝试中,它错误地分类了两个减号(-)。
- B3包含来自先前模型的 10 个数据点,其中 3 个错误分类的减号(-)的权重更大,以便当前模型尝试更多地正确分类这些减号(-)。该模型生成一个水平分隔线,它正确地分类了先前错误分类的减号(-)。
- B4将 B1、B2 和 B3 结合在一起,以构建一个强大的预测模型,该模型比使用的任何单个模型都要好得多。