提升方法AdaBoost算法完整python代码
提升方法简述
俗话说,“三个臭皮匠顶个诸葛亮”,对于一个复杂的问题,一个专家的判断往往没有多个专家的综合判断来得好。通常情况下,学习一个弱学习算法比学习一个强学习算法容易得多,而提升方法研究的就是如何将多个弱学习器转化为强学习器的算法。
- 强学习算法:如果一个多项式的学习算法可以学习它,而且正确率很高,那就是强可学习的。
- 弱学习算法:如果一个多项式的学习算法可以学习它,正确率仅仅比随机猜测略好,那就是弱可学习的。
AdaBoost算法简述
AdaBoost是adaptive boosting(自适应boosting)的缩写,运行过程如下:赋予训练集中的每个样本一个权值D,一开始权值都是相等的,然后训练一个弱分类器并计算错误率,分类正确的样本会降低权重,而分类错误的样本会提高权重,接着再次根据权重训练一个弱分类器,这么做是为了让新的弱分类器在训练中更加关注未被分类正确的样本。为了综合所有弱分类器的结果,每个分类器都有一个权重α,基于错误率ε计算的。
ϵ=未正确分类的样本数目所有样本数目</