原文链接:http://tecdat.cn/?p=22482
为什么要使用Boosting?
单一模型的预测往往会有缺陷,为了解决复杂的问题,我们需要集成学习通过组合多个模型来提高机器学习的预测性能。
假设给定包含猫和其他动物图像的数据集,您被要求构建一个模型,可以将这些图像分为两个单独的类。像其他人一样,您将首先使用一些规则来识别图像,如下所示:
图像有尖耳朵:图像判断为猫
图像有一个更宽的嘴结构:图像判断为狗
图像有猫形眼睛:图像判断为猫
图像有锋利的爪子:图像判断为猫
所有这些规则都可以帮助我们识别图像是狗还是猫,但是,如果我们要根据单一规则对图像进行分类,那么预测就会有缺陷。这些规则中的每一个都被单独称为弱学习器,因为这些规则不足以将图像分类为猫或狗。
因此,为了确保我们的预测更准确,我们可以通过使用多数规则或加权平均来组合来自这些弱学习器中的每一个的预测。这构成了一个强大的学习者模型。
在上面的例子中,我们定义了 4 个弱学习器,这些规则中的大多数(即 4 个学习器中有 3 个将图像预测为猫)为我们提供了预测图像是一只猫。因此,我们的最终输出是一只猫。
什么是Boosting?
Boosting 是一种集成学习技术,它使用一组机器学习算法将弱学习器转换为强学习器,以提高模型的准确性。
集成学习是一种通过组合多个学习器来提高机器学习模型性能的方法,它试图从弱分类器的数量中构建一个强分类器。它是通过串联使用弱模型来构建模型来完成的。与单一模型相比,这种类型的学习构建的模型具有更高的效率和准确性。这就是为什么使用集成方法赢得市场领先的比赛,如 Netflix 推荐比赛、Kaggle 比赛等。
AdaBoost是第一个真正成功的为二分类而开发的Boosting算法。AdaBoost是Adaptive Boosting的缩写,是一种非常流行的提升技术,它将多个“弱分类器”组合成一个“强分类器”。
上图以非常简单的方式解释了AdaBoost算法。让我们尝试逐步理解它:
模型1由10个数据点组成,它们由两种类型组成,即加号和减号,其中5个是加号,另外5个是减号,并且每个数据点最初都被分配了相同的权重。第一个模型尝试对数据点进行分类并生成一条垂直分隔线,但它错误地将3加号分类为减号。
模型2由来自先前模型的10个数据点组成,其中3个错误分类的加号被加权更多,以便当前模型尝试更多地正确分类这些加号。该模型生成了一条垂直分隔线,可以正确分类先前错误分类的加号,但在此尝试中,它错误地分类了三个减号。
模型3由来自先前模型的10个数据点组成,其中3个错误分类的减号的权重更高,因此当前模型尝试更多地正确分类这些减号。该模型生成一个水平分隔线,可以正确分类先前错误分类的减号。
模型4将模型1、模型2 和模型3 组合在一起,以构建一个比使用的任何单个模型都要好得多的强大预测模型。
boosting的利弊
与其他类型的模型相比,boosting的明显好处是它能够生成具有高预测准确性的模型。
一个潜在的缺点是拟合的提升模型很难解释。虽然它可能提供了预测新数据因变量的巨大能力,但很难解释它执行此操作的确切过程。
Boosting的种类有哪些?
Boosting 算法分为以下三种类型:
刚才提到的AdaBoost(自适应提升)算法。
梯度提升算法。
XGBoost 算法。
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-2