数据挖掘笔记-分类-Adaboost-原理与简单实现

Adaboost是一种有监督机器学习算法,属于集成方法,通过组合多个弱分类器形成强分类器。与Bagging不同,Adaboost中弱分类器的权重不等,根据其表现调整。Adaboost在提高分类精度、允许使用各种弱分类器、避免过拟合和无需特征筛选等方面具有优势。

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

Adaboost(Adaptive Boosting)是一种原理简单,但很实用的有监督机器学习算法。说Boosting算法之前,先说下Bagging算法,他们两个都是把一些弱分类器组合起来进行分类的方法,统称为集成方法(Ensemble Method),虽然每个弱分类器分类的结果不那么准确,但是如果把多个弱分类器组合起来却可以得到相当不错的结果。同时集成方法还可以组合不同的分类器。Bagging算法大致思路是:从整体样本集合中,抽样n<N个样本,针对抽样的集合训练分类器,然后分类器进行投票,最终的结果是分类器投票的优胜结果。代表例子就是随机森林(Random Forest)。随机森林的每个弱分类器是决策树(Decision Tree),输出的类别由多个决策树分类的类别投票决定。但是,这种方法只是将分类器进行简单的组合,实际上并没有发挥出分类器组合的威力来。直到后来Freund and schapire提出了Adaboost算法,这个简单,有效的算法。Adaboost算法不同于Bagging算法的地方是:AdaBoost算法的每个弱分类器组合起来的权重不一样,而Bagging的每个弱分类器的组合权重是相等的。Adaboost原理如下图:

左边矩形表示数据集,中间方形表示弱分类器,后面的三角形表示每个分类器对应的权重, 最后根据每个弱分类器的加权组合来判断总体类别。这是Adaboost算法的整个原理过程。在这个过程中需要注意如下:
1、 每次迭代改变的是样本的分布,或者说是样本数据的权重,而不是重复采样。
2、数据集中每个样本数据对应有一个权重,初始化的时候每条样本数据的权重是一样的,一般为(1 / 样本数量)。后面在每次弱分类器训练完数据后会更新一次样本数据的权重。如何更新会在下面说明。
3、弱分类器的权重alpha是 根据弱分类器的错误率来调整,计算如下图

弱分类器权重计算完成后可以更新样本数据的权重,其实也可以说样本数据的权重间接靠
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值