1.简单介绍
Boosting是由Michael Kearns的一个问题:“若弱学习算法是否可以成为强学习算法(或者弱分类器是否可以成为强分类器)”引发的。假设某个分类算法只比随机猜测的准确度高,那么如何才能得到错误率将近0的分类器呢?该答案由Rob Schapire给出,即采用多个学习或分类算法,吸取多方面的经验。
2.Bagging
自举汇聚法(boostrapaggregating),也称为bagging方法,是从原始数据集选取S次生成与原始数据集大小相等的S个新的数据集。每个数据集都是通过在原始数据集中随机选择一个样本来进行替换而得到的(可能有重复值)。这样基于S个数据集就可以得到S个分类器,然后对于新的数据,则进行投票结果。还有一些更先进的bagging方法,如随机森林。
3.Boosting
3.1基本详情
3.2Boosting基本流程
4.算法实例
函数buildStump用于训练弱分类器,这里所用的弱分类器是单层决策树;在adaBoostTrainDS函数为主函数,根据传入的numIt设置弱分类器的个数,然后每次调用buildStump进行弱分类器训练,并调整权重。在adaBoostTrainDS中,退出的条件为:1.达到了numIt的个数 2.error为0,达到其中之一即推出。adaClassify根据训练好的若分类器对新数据进行分类。
from numpy impor