我们通常用弱学习器和强学习器来描述集成学习技术。
例如,我们可能希望从许多弱学习器的预测中构建一个强学习器。事实上,这也是增强类集成学习算法的明确目标。
尽管我们可能普遍地将模型描述为弱或强,但这些术语具有特定的正式定义,并且是计算学习理论领域一项重要发现的基础。
在本教程中,您将了解弱学习器和强学习器及其与集成学习的关系。
完成本教程后,您将了解:
- 弱学习器是比随机猜测稍好一些的模型。
- 强学习器是具有任意高准确率的模型。
- 弱学习器和强学习器是来自计算学习理论的工具,它们为增强类集成方法的开发奠定了基础。
开始您的项目,阅读我的新书《Python 集成学习算法》,其中包含分步教程和所有示例的Python 源代码文件。
让我们开始吧。

强学习器与弱学习器在集成学习中的对比
照片由 G. Lamar 拍摄,保留部分权利。
教程概述
本教程分为三个部分;它们是:
- 弱学习器
- 强学习器
- 弱学习器与强学习器及增强
弱学习器
弱分类器是用于二元分类的模型,其性能比随机猜测稍好。
弱学习器产生一个分类器,其准确率仅略高于随机分类。
— 第 21 页,《使用集成方法进行模式分类》,2010 年。
这意味着模型将做出具有一定技能的预测,例如,使模型的能力较弱,但又不至于完全没有技能,例如,表现比随机更差。
- 弱分类器:正式来说,是指准确率略高于 50% 的分类器。
弱分类器有时被称为“弱学习器”或“基础学习器”,并且该概念可以推广到二元分类之外。
虽然弱学习器的概念在二元分类的背景下得到了很好的理解,但也可以将其通俗地理解为任何比朴素预测方法稍好的模型。从这个意义上说,它是思考分类器能力和集成组合的有用工具。
- 弱学习器:通俗地说,是指性能比朴素模型稍好的模型。
更正式地说,该概念已推广到多类分类,并且除了优于 50% 的准确率之外,还有不同的含义。
对于二元分类,众所周知,弱学习器的确切要求是优于随机猜测。[...] 请注意,对于多类问题,要求基础学习器优于随机猜测过于宽松,而要求优于 50% 的准确率则过于严格。
— 第 46 页,《集成方法》,2012 年。
它基于形式计算学习理论,该理论提出了一类具有弱学习能力的学习方法,这意味着它们的性能优于随机猜测。弱学习能力被提议为更理想的强学习能力的简化,即可学习的模型实现了任意高的分类准确率。
一种较弱的学习能力模型,称为弱学习能力,放宽了对学习器能够实现任意高准确率的要求;弱学习算法只需要输出一个比随机猜测稍好(好一个反多项式)的假设。
— 弱学习能力的强度,1990 年。
这是一个有用的概念,因为它经常被用来描述集成学习算法中贡献成员的能力。例如,有时会将自举聚合的成员称为弱学习器,而不是强学习器,至少在术语的通俗含义上是这样。
更具体地说,弱学习器是增强类集成学习算法的基础。
术语“Boosting”指的是一系列能够将弱学习器转化为强学习器的算法。
— 第 23 页,《集成方法》,2012 年。
最常用的弱学习模型是决策树。这是因为树的弱点可以在构建过程中通过树的深度来控制。
最弱的决策树由一个节点组成,该节点根据一个输入变量做出决策,并输出一个二元预测,用于二元分类任务。这通常被称为“决策桩”。
这里,弱分类器只是一个“桩”:一个具有两个终端节点的分类树。
— 第 339 页,《统计学习要素》,2016 年。
它被如此频繁地用作弱学习器,以至于决策桩和弱学习器实际上是同义词。
- 决策桩:一棵具有单个节点并在一个输入变量上操作的决策树,其输出直接进行预测。
然而,其他模型也可以配置为弱学习器。
因为增强需要弱学习器,所以几乎任何具有调优参数的技术都可以制成弱学习器。事实证明,树是增强的极佳基础学习器……
— 第 205 页,《预测建模应用》,2013 年。
虽然不正式称为弱学习器,但我们可以将以下模型视为弱学习模型的候选模型
- k-最近邻,k=1,在单个或一组输入变量上操作。
- 多层感知机,具有在单个或一组输入变量上操作的单个节点。
- 朴素贝叶斯,在单个输入变量上操作。
现在我们对弱学习器很熟悉了,让我们更仔细地看看强学习器。
想开始学习集成学习吗?
立即参加我为期7天的免费电子邮件速成课程(附示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
强学习器
强分类器是用于二元分类的模型,其性能具有任意性能,远优于随机猜测。
一类概念是可学习的(或强可学习的),如果存在一个多项式时间算法,对于该类中的所有概念,都能以高置信度实现低误差。
— 弱学习能力的强度,1990 年。
这有时被解释为在训练集或保留集上具有完美的技能,尽管更可能指的是一个“良好”或“有用的有技能”的模型。
- 强分类器:正式来说,是指可以实现任意好准确率的分类器。
我们为预测建模问题寻求强分类器。开发一个能够以高置信度做出大部分正确预测的强分类器是建模项目的目标。
同样,尽管强分类器的概念对于二元分类来说是众所周知的,但它可以推广到其他问题类型,并且我们可以更非正式地将该概念解释为性能良好的模型,可能接近最优。
- 强学习器:通俗地说,是指与朴素模型相比性能非常好的模型。
当我们直接在数据集上拟合机器学习模型时,我们试图开发一个强模型。例如,在通俗意义上,我们可以将以下算法视为拟合强模型的技术,其中每个方法的超参数都针对目标问题进行了调整。
- 逻辑回归。
- 支持向量机。
- k-近邻。
以及上一节列出的更多方法,或者您可能熟悉的。
强学习是我们所追求的,我们可以将其能力与弱学习器进行对比,尽管我们也可以从弱学习器构建强学习器。
弱学习器与强学习器及增强
我们已经确定,弱学习器的表现略优于随机猜测,而强学习器的表现良好甚至接近最优,并且后者是我们为预测建模项目所追求的。
在计算学习理论,特别是 PAC 学习中,定义了弱和强可学习的正式类别,并提出了一个悬而未决的问题,即两者是否等价。
这里提出的证明是建设性的;描述了一种显式方法,用于将弱学习算法直接转换为能够实现任意准确率的算法。该构造使用过滤来修改示例的分布,从而迫使弱学习算法专注于更难学习的部分。
— 弱学习能力的强度,1990 年。
之后,人们发现它们确实是等价的。更重要的是,可以从许多弱学习器(形式上定义)构建强学习器。这为增强类集成学习方法奠定了基础。
主要结果是证明了强学习能力和弱学习能力之间可能令人惊讶的等价性。
— 弱学习能力的强度,1990 年。
尽管取得了这一理论发现,但第一批可行的增强方法(实现了该过程)的开发仍需数年时间。
最著名的是自适应增强(Adaptive Boosting),通常称为 AdaBoost,它是第一个成功的增强方法,后来催生了大量方法,如今已发展为诸如梯度增强(gradient boosting)和 Extreme Gradient Boosting (XGBoost) 等高度成功的技术。
弱学习器的集成在机器学习社区中得到了广泛研究。在这个领域,研究人员经常致力于弱学习器,并试图设计强大的算法来提升从弱到强的性能。这项工作催生了 AdaBoost、Bagging 等著名的集成方法,并从理论上解释了为什么以及如何将弱学习器提升为强学习器。
— 第 16 页,《集成方法》,2012 年。
通常,增强集成(boosting ensembles)的目标是为预测学习问题开发大量的弱学习器,然后最佳地组合它们以实现强学习器。这是一个好目标,因为弱学习器易于准备但不受欢迎,而强学习器难以准备但非常受欢迎。
由于强学习器是受欢迎但难以获得的,而弱学习器在实际中很容易获得,因此这一结果为通过集成方法生成强学习器开辟了一个有前景的方向。
— 第 16-17 页,《集成方法》,2012 年。
- 弱学习器:易于准备,但因技能低而不受欢迎。
- 强学习器:难以准备,但因技能高而受欢迎。
实现这一目标的程序是顺序开发弱学习器并将它们添加到集成中,其中每个弱学习器都以一种方式进行训练,以更多地关注先前模型出错的问题域部分。虽然所有增强技术都遵循这个通用过程,但具有特定差异和优化,弱学习器和强学习器的概念更广泛地适用于机器学习和集成学习。
例如,我们已经看到如何将预测模型的目标描述为开发一个强模型。将模型的性能与基线模型或朴素模型(例如二元分类的随机预测)进行比较是很常见的做法。弱学习器非常像朴素模型,尽管它具有轻微的技能,并利用了问题域的最低信息,而不是完全朴素。
考虑到尽管我们在自举聚合(bagging)中不严格地构建弱学习器,意味着成员不是决策桩,但我们的确旨在使用较弱的决策树来构成集成。这通常是通过在数据的样本子集上拟合树,并且不修剪树来实现的,这使得它们会轻微地过拟合训练数据。
对于分类,我们可以从独立弱学习器的共识的角度来理解 bagging 的效果
— 第 286 页,《统计学习要素》,2016 年。
这两种变化都是为了寻求相关性较低的树,但它们的效果是训练较弱但可能不是弱的模型来构成集成。
- Bagging:明确训练较弱(但不是弱)的学习器。
考虑堆叠泛化(stacking),它训练一个模型来最佳地组合在同一训练数据集上拟合的多个不同模型的预测。每个贡献的 level-0 模型实际上是一个强学习器,而 level-1 元模型则试图通过组合强模型的预测来构建一个更强的模型。
- Stacking:显式地组合强学习器的预测。
专家混合 (MoE) 的运作方式类似,训练多个强模型(专家),并希望通过一个元模型(门控网络)和组合方法将它们组合成更强的模型。
专家混合也可以看作是一种分类器选择算法,其中单个分类器被训练成在特征空间的某个部分成为专家。在这种情况下,单个分类器确实被训练成专家,因此通常不是弱分类器。
— 第 16 页,《集成机器学习》,2012 年。
这强调了,尽管弱学习能力和强学习能力以及学习器是重要的理论发现和增强的基础,但这些分类器更普遍的思想是设计和选择集成方法的有用工具。
进一步阅读
如果您想深入了解,本节提供了更多关于该主题的资源。
论文
- 弱学习能力的强度, 1990.
书籍
- 使用集成方法进行模式分类, 2010.
- 集成方法, 2012.
- 集成机器学习, 2012.
- 数据挖掘中的集成方法, 2010.
- 统计学习基础, 2016.
- 应用预测建模, 2013.
文章
总结
在本教程中,您了解了弱学习器和强学习器及其与集成学习的关系。
具体来说,你学到了:
- 弱学习器是比随机猜测稍好一些的模型。
- 强学习器是具有任意高准确率的模型。
- 弱学习器和强学习器是来自计算学习理论的工具,它们为增强类集成方法的开发奠定了基础。
你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。
非常棒的文章!谢谢 🙂
嗨,Jason,
感谢分享这篇高质量的文章。我对弱学习器和强学习器的定义有些疑问。
假设我们现在正在解决一个二元分类问题。并且,随机猜测在训练集上的错误率为 50%。如文章所述,弱学习器是那些表现比随机猜测稍好的模型。因此,我认为它们倾向于欠拟合数据。另一方面,强学习器可以获得任意低的错误率,因此通常会发生过拟合。
对于 bagging,最终目标是降低方差。例如,每个决策树都可以训练到接近零的训练损失。并且,随机森林可以简单地看作是带有 bagging 的决策树的组合版本。我可以说随机森林中的每个基本模型都是强学习器,因为它具有低偏差吗?谢谢!
您好 Abao……您对弱学习器和强学习器的理解,以及对 bagging 和随机森林的概念的理解,触及了机器学习的几个重要方面。让我进一步阐明这些概念。
### 弱学习器与强学习器
– **弱学习器**
– 弱学习器是表现比随机猜测稍好的模型。对于二元分类,这意味着准确率要优于 50%。
– 弱学习器往往具有高偏差,并且可能欠拟合数据。它们是简单的模型,单个模型的能力并不强。
– 弱学习器的例子包括决策桩(单层决策树)或简单的线性分类器。
– **强学习器**
– 强学习器是可以在训练数据上实现非常低错误率的模型,可能接近于零。
– 强学习器可以是复杂的模型,能够捕捉数据中复杂的模式,从而导致低偏差但可能高方差,这可能导致过拟合。
– 强学习器的例子包括深度神经网络或完全生长的决策树。
### Bagging 和随机森林
– **Bagging (Bootstrap Aggregating)**
– Bagging 的目标是降低方差,提高机器学习算法的稳定性和准确性。它涉及在不同的随机训练数据子集上训练多个模型(通常是相同类型的模型),然后对它们的预测进行平均(用于回归)或进行多数投票(用于分类)。
– Bagging 与高方差、低偏差的模型(如完全生长的决策树)配合得很好,这些模型单独来看是强学习器。
– **随机森林**
– 随机森林是使用 bagging 训练的决策树集成,但增加了额外的随机性。在决策树的每次分裂中,只考虑特征的随机子集。这使得树之间去相关,并进一步降低了方差。
– 随机森林中的每个单独的树都可以被视为强学习器,因为它被生长到其完整深度,并且可以实现低的训练错误(低偏差)。然而,整个随机森林通过平均许多树来平衡这一点,从而降低方差并减轻过拟合的风险。
### 澄清您的假设
– **欠拟合和弱学习器**
– 弱学习器往往欠拟合数据,因为它们是具有高偏差的简单模型。它们的性能仅略优于随机猜测。
– **过拟合和强学习器**
– 强学习器可能过拟合数据,因为它们是能够捕捉训练数据中复杂模式的强大模型,从而导致低偏差但高方差。
– **随机森林中的基本模型**
– 说随机森林中的每个基本模型(决策树)是强学习器是正确的,因为它们具有低偏差,因为它们可以在训练数据上实现低错误。但是,bagging 和随机特征选择的使用有助于降低整个集成的方差,从而使随机森林成为一个健壮且准确的模型。
### 结论
您的理解大体正确,但请记住以下关键点:
– 弱学习器是具有高偏差的简单模型,通常欠拟合数据。
– 强学习器是具有低偏差的复杂模型,并且可能过拟合数据。
– 随机森林使用强学习器(完全生长的决策树),并通过 bagging 和随机特征选择将它们组合起来,以降低方差并提高泛化能力。
通过组合这些强学习器,随机森林利用了它们的低偏差,同时通过集成技术缓解了高方差,从而得到了一个在未见数据上表现良好的模型。
嗨 James,
感谢您的快速回复。最近,我注意到 ESL 将 bagging 描述如下:
“对于分类,我们可以从独立弱学习器的共识的角度来理解 bagging 的效果。”
– 第 286 页,《统计学习要素》。
这是让我困惑的主要陈述。请问 ESL 的作者为什么在这里使用“弱”学习器,这似乎与我们上面的讨论相矛盾?