adaboost算法_AdaBoost概述

v2-02d7c1a956bd7d2fde79c5944b7af793_1440w.jpg?source=172ae18b

作者:陈超

“本文共3400余字,数学公式原理不深,预计阅读时间15分钟”

AdaBoost是Adaptive Boosting的简称,属于集成算法(Ensemble Method)中Boosting类别中的一种。AdaBoost是非常成功的机器学习算法,由Yoav Freund和RobertSchapire于1995年提出,他们因此获得了2003年的哥德尔奖(Gödel Prize)。本文将从下面几个方面对AdaBoost进行展开:

  • 算法思想和算法简易流程
  • 算法实例和算法总结
  • 从广义加法模型看AdaBoost
  • sklearn库相关函数

一 算法思想和算法简易流程

在Agro的《XGBOOST(一)》一文中介绍了集成算法以及作为集成算法典型代表的Boosting算法。XGBOOST算法属于Gradient Boosting框架,是Boosting算法家族的一种。作为Boosting算法家族中出现更早也同样闻名的另外一种算法便是本文要论述的AdaBoost算法。Gradient Boost和AdaBoost 最显著的相同点都在于前一轮训练结果将用来调整本轮训练的样本,从而优化本轮训练出的模型,使得整个的模型更加精确。不同点在于Grandient Boost改变的是本轮训练的样本标签,而AdaBoost 则侧重于调整本轮样本的样本权重,从而改变样本的分布

读者可以通过AdaBoost的算法流程来发现这一不同。算法的简易流程表述如下:

1. 确定样本集

2. 初始化样本数据的权重,如每个样本的权重为1/n(假设样本个数为n)

3. 进行1,2,...,T轮迭代

a. 归一化样本权重

b. 对样本集进行训练,并计算训练误差

c. 选择误差最小的分类器作为本轮的分类器

d. 根据预测结果更新样本数据的权重:预测错误样本增加权重,预测正确样本降低权重

e. 计算分类器的权重

4. 根据分类器的预测结果及其权重加权表决最终结果

下面是一个AdaBoost的训练迭代变化图,我们可以看到在每次迭代中版本的权重的变化,分类错误的样本权重的逐渐加大,而分类正确的样本权重逐渐减少的过程。

v2-b629af21db21693e3ff571e122e0e066_b.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值