资讯

基学习器是什么?同质集成中由同一算法训练出的成员模型

2026-11-053 分钟阅读百科
TL;DR基学习器(Base Learner)是同质集成学习中由同一种“基学习算法”训练得到的个体模型,如随机森林中的决策树、AdaBoost 中的决策树桩;Bagging 偏好方差大的不稳定基学习器,Boosting 常用偏差较大的弱学习器,基学习器的选择与多样性决定集成效果,Stacking 中则另有组合它们的元学习器。

基学习器(Base Learner)是集成学习中的一个概念,指的是组成集成模型的那些单个的模型,并且特指在“同质集成”中,所有成员都由同一种学习算法训练出来的情况,这种学习算法叫作“基学习算法”。比如随机森林由许多棵决策树组成,每一棵决策树就是一个基学习器,决策树算法就是基学习算法。本站另有“个体学习器”词条介绍更一般的概念,这里重点讨论如何选择和使用基学习器。

基学习器与个体学习器

集成学习中的成员模型统称为个体学习器。如果所有的个体学习器都是同一种类型的,这种集成叫同质集成,其中的个体学习器就叫基学习器;如果个体学习器是不同类型的,比如同时包含决策树、支持向量机和神经网络,这种集成叫异质集成,其中的个体学习器通常被称为组件学习器,这时就没有统一的基学习算法了。

Bagging 喜欢什么样的基学习器

Bagging 通过自助采样生成多个不同的训练集,在每个训练集上训练一个基学习器,再把它们的预测平均或投票。它的主要作用是降低方差:每个基学习器都可能因为训练数据的偶然性而在某些地方犯错,平均之后这些随机的错误会相互抵消。因此,Bagging 最适合那些方差大、对训练数据的变化很敏感的“不稳定”学习器:训练数据稍有不同,学到的模型就差别很大。不加剪枝、长得很深的决策树就是典型的例子:它单独使用时容易过拟合,但多棵这样的树平均起来,效果非常好,这正是随机森林的做法。神经网络也是不稳定的学习器。相反,对于线性回归、K 近邻这类比较稳定的学习器,Bagging 带来的提升往往很有限,因为在不同的自助样本上训练出的模型本来就差不多。

Boosting 喜欢什么样的基学习器

Boosting 按顺序训练基学习器,每个新的学习器都去纠正前面学习器的错误,它的主要作用是降低偏差,把很多个能力有限的学习器组合成一个强学习器。因此,Boosting 常常使用偏差较大、结构简单的“弱学习器”,比如只有一次划分的决策树桩,或者深度较浅的决策树。如果基学习器本身太强、太复杂,Boosting 很快就会把训练数据拟合得过于完美,反而容易过拟合。在梯度提升树、XGBoost、LightGBM 等方法中,树的最大深度、叶子节点的数量是需要仔细调节的重要超参数,通常设置得比较小。

选择基学习器的其他考虑

多样性:集成要有效,基学习器之间必须有足够的差异。在同质集成中,由于使用的是同一种算法,多样性主要来自对训练数据、特征或参数的扰动,比如自助采样、随机地选择特征子集、不同的随机初始化。如果基学习器太过稳定,扰动不足以让它们产生差异,集成的效果就有限。计算成本:集成需要训练和存储大量的基学习器,预测时也要逐个计算,因此基学习器的训练和预测速度很重要,这也是决策树成为最常用的基学习器的原因之一:它训练快、预测快,而且不需要对特征进行标准化,能处理各种类型的特征。可解释性:单棵决策树容易理解,但由成百上千棵树组成的集成就很难直接解释了,通常需要借助特征重要性、SHAP 值等方法来分析。

元学习器

在堆叠集成中,除了基学习器之外,还有一个“元学习器”:它以各个基学习器的预测结果作为输入,学习如何把它们最好地组合起来。为了避免过拟合,元学习器通常使用较简单的模型,比如逻辑回归,并且用交叉验证的方式生成它的训练数据,避免直接使用基学习器在自己训练数据上的预测。