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

发布时间:2025-01-06 14:45

深度学习模型的集成学习,如bagging和boosting #生活技巧# #学习技巧# #深度学习技巧#

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

文章目录 1. 集成学习2. 基模型3. 基模型同质性4. 集成方法比较4. Bagging 自助法5. Boosting 提升法6. Stacking 堆叠法7. 参考资料 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} 1−m1​。如果 m m m次采样都没有被采集中的概率是 ( 1 − 1 m ) m (1-\frac{1}{m})^m (1−m1​)m。当 m → ∞ m→∞ m→∞时, ( 1 − 1 m ) m → 1 e ≃ 0.368 (1-\frac{1}{m})^m→\frac{1}{e}≃0.368 (1−m1​)m→e1​≃0.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(提升)

网址:bagging、boosting、Stacking(自助法、提升法、堆叠法) https://www.yuejiaxmz.com/news/view/656086

相关内容

Boosting和Bagging
机器学习——集成学习(装袋法Bagging、提升法Boosting、梯度提升决策树GBDT、随机森林RF)
【sklearn
提升方法与集成学习(学习笔记)
集成学习:投票法、提升法、袋装法
机器学习(七):提升(boosting)方法
集成学习:装袋法Bagging与随机森林
机器篇——集成学习(三) 细说 提升(Boosting) 算法
机器学习笔记20——集成/提升(Boosting)系列算法之提升树(BDT) 算法原理以及python实现
集成学习——提升法Boosting(机器学习)

随便看看