集成算法原理:Adaboost

Adaboost算法是一种提升算法,通过迭代方式训练多个弱学习器并整合为强学习器。算法流程包括初始化样本权重,训练弱分类器,计算分类误差率,更新样本权重,最后构建强分类器。Adaboost具有分类精度高、模型灵活、构造简单且不易过拟合的优点,但对异常样本敏感。

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

博客园有位前辈总结得很清晰有条理,借鉴一下:https://www.cnblogs.com/pinard/p/6133937.html

简单把里面我自己要备忘的要点概括一下:
1)基本原理:Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
Adaboost原理图

2)算法要点大纲:
    1)如何计算学习误差率e?
    2) 如何得到弱学习器权重系数α?
    3)如何更新样本权重D?
    4) 使用何种结合策略?
    只要是boosting大家族的算法,都要解决这4个问题。
3)算法流程:
    这里我们对AdaBoost二元分类问题算法流程做一个总结。
    输入为样本集T={(x,y1),(x2,y2),…(xm,ym)},输出为{-1, +1},弱分类器算法, 弱分类器迭代次数K。
    输出为最终的强分类器f(x)
    1) 初始化样本集权重为
    2) 对于k=1,2,…K:
      a) 使用具有权重Dk的样本集来训练数据,得到弱分类器Gk(x)
      b)计算Gk(x)的分类误差率
      c) 计算弱分类器的系数
      d) 更新样本集的权重分布
    3) 构建最终分类器。
4)算法总结:
理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。
    这里对Adaboost算法的优缺点做一个总结。
    Adaboost的主要优点有:
    1)Adaboost作为分类器时,分类精度很高
    2)在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
    3)作为简单的二元分类器时,构造简单,结果可理解。
    4)不容易发生过拟合
    Adaboost的主要缺点有:
    1)对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值