AdaBoost算法分类

AdaBoost算法源于PAC Learnability理论,由Schapire在1996年提出,通过结合多个弱分类器形成强分类器。它以决策树为例,通过调整样本权重,逐步降低分类错误率,达到高性能且不易过拟合的效果。AdaBoost与Bagging、随机森林等集成学习方法不同,其个体学习器之间存在强依赖,需串行训练。

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

前言

在我们学习AdaBoost算法之前我们可以先来了解一下起源,增加一下学习兴趣。
boost 算法系列的起源来自于PAC Learnability(PAC 可学习性)。这套理论主要研究的是什么时候一个问题是可被学习的,当然也会探讨针对可学习的问题的具体的学习算法。这套理论是由Valiant提出来的,也因此(还有其他贡献哈)他获得了2010年的图灵奖。同时 ,Valiant和 Kearns首次提出了 PAC学习模型中弱学习算法和强学习算法的等价性问题,即任意给定仅比随机猜测略好的弱学习算法 ,是否可以将其提升为强学习算法 ? 如果二者等价 ,那么只需找到一个比随机猜测略好的弱学习算法就可以将其提升为强学习算法 ,而不必寻找很难获得的强学习算法。 也就是这种猜测,让无数牛人去设计算法来验证PAC理论的正确性。

不过很长一段时间都没有一个切实可行的办法来实现这个理想。细节决定成败,再好的理论也需要有效的算法来执行。终于功夫不负有心人, Schapire在1996年提出一个有效的算法真正实现了这个夙愿,它的名字叫AdaBoost。AdaBoost把多个不同的决策树用一种非随机的方式组合起来,表现出惊人的性能!第一,把决策树的准确率大大提高,可以与SVM媲美。第二,速度快,且基本不用调参数。第三,几乎不Overfitting(过拟合)。我估计当时Breiman和Friedman肯定高兴坏了,因为眼看着他们提出的CART正在被SVM比下去的时候,AdaBoost让决策树起死回生!Breiman情不自禁地在他的论文里赞扬AdaBoost是最好的现货方法(off-the-shelf,即“拿下了就可以用”的意思)。(这段话摘自统计学习那些事)(摘自浅谈 Adaboost 算法
在了解到了起源后我们先看一张图
这里写图片描述
通过个体学习器存在强依赖关系,必须串行序列化,代表是Boosting。
不存在强依赖关系,并行序列化,代表是Bagging、随机森林。

  • 什么是集成学习?

    这里写图片描述
    将多个个体学习器通过一定的模块,最后输出。个体学习器通常是一些现有的学习算法从训练数据中产生,例如决策树、神经网络算法,通过这些弱分类器得到最终的强分类结果。

    AdaBoost算法理论

    训练数据样本每一个样本,并赋予一个权重,这些权重构成了向量D。一开始,这些权重都初始化均分。首先在训练数据上训练出一个弱分类器(在二分类情况下错误率高于50%)并计算该分类器的错误率,然后在同一数据集上再次训练弱分类器。第二次训练中调整每个样本的权重值(也就是下文中的D),其中第一次分错的样本权重会增加,分对了的样本权重会减少。最后通过与权重值alpha相乘之和的到预测结果。

  • 给定一个训练数据集T={(x1,y1),
    (x2,y2)…(xN,yN)},yi属于标记集合{-1,+1}。首先,初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权重:1/N。

    D1=(w11,w12,...,w1N)

    w1i=1N

    i=1,2,...,N

    • 进行多轮迭代,用m = 1,2, …, M表示迭代的第多少轮,使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值