算法原理
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
最新推荐文章于 2021-08-13 08:18:00 发布
算法原理AdaBoost(Adaptive Boosting)自适应Boosting算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。AdaBoost算法本身是通过改变数据分布(样本权重和分类器权重)来实现的,它根据每次训练过程中,每个样本的分类结果是否正确来确定样本输入到下一分类器的权重,然后根据上一分类器的准确率...
摘要由CSDN通过智能技术生成