1、集成学习及Boosting算法
集成学习属于机器学习,它是一种“训练思路”,并不是某种具体的方法或者算法。集成学习的核心思想是把已有的算法进行结合,从而得到更好的效果。集成学习会选择一些简单的基础模型进行组装,组装这些基础模型的思路主要有两种方法:Bagging和Boosting。本文讨论的Adaboost算法就是Boosting算法的其中一种。Boosting和Bagging最本质的差别在于对基础模型不是一致对待的,而是经过不停的考验和筛选挑选出的“精英”,然后给精英更多的投票权,表现不好的基础模型则给较少的投票权,然后综合所有人的投票得到最终结果。大部分情况下,经过Boosting得到的结果偏差更小。
Boosting算法图解
2、什么是Adaboost算法?
Boosting是一种集合技术,试图从许多弱分类器中创建一个强分类器。这是通过从训练数据构建模型,然后创建第二个模型来尝试从第一个模型中纠正错误来完成的。添加模型直到完美预测训练集或添加最大数量的模型。
Adaboost是第一个为二进制分类开发的真正成功的增强算法,这是理解助力的最佳起点,现代助推方法建立在Adaboost基础之上,最著名的是随机梯度增强机。
Adaboost用于短决策树。在创建第一个树之后,每个训练实例上的树的性能用于加权创建的下一个树应该关注每个训练实例的注意力。难以预测的训练数据被赋予更多权值,而易于预测的实例被赋予更少的权重。模型一个接一个地顺序创建,每个模型更新训练实例上的权重,这些权重影响序列中下一个树所执行的学习。构建完所有树之后,将对新数据进行预测,并根据训练数据的准确性对每棵树的性能进行加权。
Adaboost算法图解
3、Adaboost的基本原理
Adaboost算法基本原理就是将多个弱分类器(弱分类器一般选用单层决策树)进行合理的结合,使其成为一个强分类器。Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练好的弱分类器将参与下一次迭代的使用。也就是说,在第N次迭代中,一共就有N个弱分类器,其中N-1个是以前训练好的,其各种参数都不再改变,本次训练第N个分类器。其中弱分类器的关系是第N个弱分类器更可能分对前N-1个弱分类器没分对的数据,最终分类输出要看这N个分类器的综合效果。
Adaboost算法基本原理
4、Adaboost的优缺点
优点:
缺点:
(本文部分内容来自https://easyai.tech/ai-definition/adaboost/)