AdaBoost:一个经典的自适应增强集成算法

本文详细介绍了AdaBoost,一种自适应增强的集成学习算法。文章以二分类问题为例,阐述了AdaBoost的算法流程,包括如何计算误差率、确定基模型权重、更新样本权重以及组合模型。此外,还探讨了AdaBoost的损失函数和正则化,以及在回归问题中的应用。通过学习,读者能够理解AdaBoost如何通过调整样本权重和基模型权重来提高预测性能。

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

点击上方“AI派”,选择“设为星标
最新分享,第一时间送达! 640?wx_fmt=gif

本文是《机器学习宝典》第 18 篇,读完本文你能够掌握集成学习中的 AdaBoost。

在前一篇文章中介绍了 Bagging 中的一个经典算法:随机森林 。这篇我们来介绍 Boosting 系列的算法。AdaBoost 算是 Boosting 中最经典的一个算法了,所以这篇我们就介绍下它。

AdaBoost(adaptive boosting)中文名叫自适应增强,它是一种能够自动根据前一个基模型对样本预测的误差率来调整样本权重,然后基于调整权重后的样本继续学习新的基模型,如此反复,直到基模型的个数达到设定的个数停止,最后将所有训练的基模型通过组合策略进行集成,得到最终的模型。在 AdaBoost 中,基模型可以是很多种,比如决策树、神经网络等。在这个过程中,包含了两个可以提升效果的原因:

  1. 提高了那些被前一次基模型错误分类或回归预测误差较大的样本的权重,而降低那些被正确分类或回归预测误差较小样本的权重。这样一来,那些被分错或预测误差较大的数据,在下一次就会得到更大的关注。

  2. 在组合基模型时,增加分类误差率小或回归预测误差较小的基模型权重,使其在组合时的贡献更高,降低分类误差率大或回归预测误差较大的基模型权重,使其在组合时的贡献更低。

在 AdaBoost 学习的过程中,需要解决的问题有以下 4 个:

  1. 如何计算模型的预测的误差率

  2. 如何确定基模型的权重

  3. 如何更新样本的权重

  4. 如何将多个基模型组合在一起

假设我们的训练集为 640?wx_fmt=png,其中 640?wx_fmt=png,总共训练的基模型的个数为 T,第 t 个基模型的在训练集中的每个样本权重为 640?wx_fmt=png

AdaBoost 分类问题算法流程

我们以二分类为例,来说明下一般情况下二分类问题下的 AdaBoost 的算法流程:

1.初始化数据集中的权重分布为:640?wx_fmt=png,其中640?wx_fmt=png

2.令 t = 1,2,…,T,循环:

a. 使用带有权重分布 640?wx_fmt=png 的训练集学习一个基模型640?wx_fmt=png
 b. 计算基模型 640?wx_fmt=png 的误差率 640?wx_fmt=png,其中640?wx_fmt=png 为指示函数
 c. 计算基模型 640?wx_fmt=png 的在最终的集成模型中的权重640?wx_fmt=png
 d. 更新下一次的样本权重分布 640?wx_fmt=png,其中
640?wx_fmt=png
 其中,640?wx_fmt=png,是一个规范化因子,以确保 640?wx_fmt=png 是一个分布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值