集成学习—Boosting,Bagging,Stacking概述

本文介绍了集成学习的三大方法:Boosting、Bagging和Stacking。Boosting通过调整样本分布训练多个弱学习器,并加权组合它们的预测结果。Bagging通过对训练集进行自助采样生成多个子集,训练独立学习器,然后简单平均或投票得到最终预测。Stacking则更复杂,利用元学习器学习各个学习器预测结果与真实标记的映射关系,以达到更好的预测效果。

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

  现实生活中,人们遇到不会的问题常常会向多个人寻求答案,再三斟酌后确定最终答案。为什么要这样大费周章而不只问一个人呢?因为大家都不是权威专家,为了保险起见,通过结合多个人的答案来提高答案的正确性。

  与该思想类似,集成学习(ensemble learning)的思路:通过训练集DD训练出多个不同的学习器,在预测某一新样本时,每个学习器都会给出一个预测结果,综合考虑所有结果,确定最终结果。

  那么,问题就来了!问题一:训练集只有一个,如何训练出不同的学习器?问题二:如何综合每个学习器的预测结果,进而获取靠谱的最终结果?

  针对问题一,主要有以下三种方法:
  1、采用不同类型的算法(如,分类问题可同时采用决策树、逻辑回归等不同类型算法);
  2、采用同类型的算法,但对训练集进行采样,形成不同的训练子集;
  3、采用同类型的算法,但改变训练集的样本分布。

  针对问题二,主要有以下三种方法:
  1、采用所有学习器的预测结果的平均结果;
  2、采用所有学习器的预测结果的投票结果;
  3、采用所有学习器的预测结果的映射结果。

根据采用的方法,集成学习可以细分为三种类型:Boosting,Bagging,Stacking。

Boosting

①利用训练集 D 训练出一个学习器;
根据该学习器的表现改变训练集的样本分布,使预测不好的训练样本在以后得到重视;
③利用改变后的训练集训练出另一个学习器;
④重复②③步骤,直到满足预先设定的停止条件;
⑤预测新样本时,通常将所有学习器的预测结果加权结合(包括加权平均、加权投票等)。

Bagging

①对训练集DD进行 m 自助采样,生成mm个训练子集;

自助采样(bootstrap sampling):现有训练集 D ,包含nn个样本。从 D 中有放回地抽取nn个样本,形成训练子集 D DD中部分样本在 D 中重复出现,部分样本在DD′中从未出现)。mm次自助采样就能形成 m 个训练子集。

②每个训练子集训练出一个学习器,共训练出mm个学习器;
③预测新样本时,通常将所有学习器的预测结果简单结合(包括简单平均、简单投票等)。

Stacking

  该方法较前两种方法理解起来要复杂些。
  首先,我相信大部分人在看到前述问题二的第3种解决办法“采用所有学习器的预测结果的映射结果”时,都有些丈二和尚摸不着头脑。那我为大家解释一下,眼睛看过来!!!
  对某一样本(带标记)来说,学习器 h 1 对它的预测看作特征X1X1,学习器h2h2对它的预测看作特征X2X2,…,学习器hmhm对它的预测看作特征XmXm,它的真实标记看作标记YY。收集若干个样本对应的( X 1 X2X2,…,XmXmYY),形成数据集 d

序号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值