bagging、boosting、Stacking(自助法、提升法、堆叠法)

本文介绍了集成学习的基本概念,强调了通过组合多个弱学习器来创建更强大、更稳健的模型。重点讨论了三种集成方法:Bagging(如随机森林)用于减少方差,Boosting(如Adaboost和Gradient Boosting)用于降低偏置,以及Stacking用于利用多个异质模型的预测。此外,还详细解释了Bagging中的Bootstrap采样和Out-of-Bag(OOB)数据,以及Boosting中的权重调整策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建日期:2021.01.20
修改日期:2021.01.20

1. 集成学习

集成学习是一种机器学习范式。在集成学习训练多个模型(通常称为弱学习器)解决相同的问题,并将它们结合起来以获得更好的结果。

最重要的假设是:当弱模型被正确组合时,我们可以得到更精确和/或更鲁棒的模型。

2. 基模型

弱学习器就是基模型。作者认为基模型更准确,因为基模型未必是效果不好的或者弱的,是在特定的业务环境下评价不是很好。

在大多数情况下,基本模型本身的性能并不是非常好,或是因为它们具有较高的偏置(例如,低自由度模型),或是因为他们的方差太大导致鲁棒性不强(例如,高自由度模型)。

很重要的一点是:我们对弱学习器的选择应该和我们聚合这些模型的方式相一致。如果我们选择具有低偏置高方差的基础模型,我们应该使用一种倾向于减小方差的聚合方法;而如果我们选择具有低方差高偏置的基础模型,我们应该使用一种倾向于减小偏置的聚合方法。

3. 基模型同质性

集成学习中的基模型可以是同质的,也可以是不同质的。

  • 使用单一的基础学习算法,有以不同方式训练的同质弱学习器。
  • 使用不同的基础学习算法,些异质的弱学习器组合成异质集成模型。
4. 集成方法比较

降方差(bagging),减偏差(boosting),提升预测准确性(stacking)

  • bagging(Bootstrap aggregating自举汇聚法,自助法)

    • 该方法通常考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来。
    • Bagging代表算法-RF(随机森林)。
    • 属于并行方法。
  • boosting(提升法)

    • 该方法通常考虑的也是同质弱学习器。它以一种高度自适应的方法顺序地学习这些弱学习器(每个基础模型都依赖于前面的模型),并按照某种确定性的策略将它们组合起来。
    • 提升法又分为自适应提升(adaboost )和梯度提升(gradient boosting)。
    • 属于串行方法。
  • stacking(堆叠法)

    • 该方法通常考虑的是异质弱学习器,并行地学习它们,并通过训练一个「元模型」将它们组合起来,根据不同弱模型的预测结果输出一个最终的预测结果。
    • 分阶段方法。
4. Bagging 自助法

给定一个训练集 D D D,样本个数为 m m m,Bagging算法从中均匀、有放回地选出 n n n个样本,形成子集 D i , i = 1 , 2 , . . . , t D_i, i=1,2, ..., t Di,i=1,2,...,t,作为新的训练集。

D i D_i Di练集上使用分类、回归等算法,则可得到 t个模型,再通过取平均值、取多数票等方法综合产生预测结果,即可得到Bagging的结果。

对于一个样本 D i D_i Di,它在某一次含 m m m个样本的训练集的随机采样中,每次被采集到的概率是 1 m \frac{1}{m} m1。不被采集到的概率为 1 − 1 m 1-\frac{1}{m} 1m1。如果 m m m次采样都没有被采集中的概率是 ( 1 − 1 m ) m (1-\frac{1}{m})^m (1m1)m。当 m → ∞ m→∞ m时, ( 1 − 1 m ) m → 1 e ≃ 0.368 (1-\frac{1}{m})^m→\frac{1}{e}≃0.368 (1m1)me10.368。也就是说,在bagging的每轮随机采样中,训练集中大约有36.8%的数据没有被采样集采集中。

对于这部分大约36.8%的没有被采样到的数据,我们常常称之为袋外数据(Out Of Bag, 简称OOB)。这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力。

在这里插入图片描述

5. Boosting 提升法

根据它们的上一轮的分类准确率给予不同的权重。加和弱学习者之后,数据通常会被重新加权,来强化对之前分类错误数据点的分类,其中一个经典的提升算法例子是AdaBoost。
在这里插入图片描述

6. Stacking 堆叠法

将训练好的所有基模型对整个训练集进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测。

在这里插入图片描述
在这里插入图片描述

7. 参考资料

(1)常用的模型集成方法介绍:bagging、boosting、stacking
(2)集成学习总结 & Stacking方法详解
(3)机器学习笔记(8)——集成学习之Bootstrap aggregating(Bagging)装袋算法
(4)Stacking算法
(5)机器学习(4):集成算法(Bagging、Boosting、Stacking)
(6)Bootstrap(自助法),Bagging,Boosting(提升)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值