算法原理
AdaBoost(Adaptive Boosting)自适应Boosting算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。AdaBoost算法本身是通过改变数据分布(样本权重和分类器权重)来实现的,它根据每次训练过程中,每个样本的分类结果是否正确来确定样本输入到下一分类器的权重,然后根据上一分类器的准确率,来确定分类器的权重。
使用加权后选取的训练数据代替随机选取的训练样本,这样将训练的焦点集中在比较难分的训练数据样本上;将弱分类器联合起来,使用加权的投票机制代替平均投票机制,让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。
下面我们通过一个实例来详细讨论一下AdaBoost的算法原理。考虑下面的数据分布,图中“+”和“-”表示两种类别,我们用水平或者垂直的直线作为基分类器(sk-learn库中,基分类器默认是决策树)。
1.算法开始前默认均匀分布D,且正负样本数量相等,共10个样本,故每个样本权值为0.1。
2.先进行第一次分类,这第一个分类器有3个点划分错误,根据误差表达式计算可得e1=(0.1+0.1+0.1)/1.0=0.3。
AdaBoost
最新推荐文章于 2022-04-12 06:30:00 发布
AdaBoost是一种自适应Boosting算法,通过调整样本权重和分类器权重来组合多个弱分类器形成强分类器。算法过程包括:初始化样本权重,训练弱分类器,计算误差,更新分类器和样本权重,重复此过程直到达到预定次数。AdaBoost对噪声点敏感,适用于二分类问题,并在实际应用中展示出良好性能。
摘要由CSDN通过智能技术生成