Adaboost算法
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
算法概述
1、先通过对N个训练样本的学习得到第一个弱分类器; 2、将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器; 3、将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器 4、最终经过提升的强分类器。即某个数据被分为哪一类要由各分类器权值决定。

与boosting算法比较

  1. 使用加权后选取的训练数据代替随机选取的训练样本,这样将训练的焦点集中在比较难分的训练数据样本上;   
  2. 将弱分类器联合起来,使用加权的投票机制代替平均投票机制。让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。

与Boosting算法不同的是:AdaBoost算法不需要预先知道弱学习算法学习正确率的下限即弱分类器的误差,并且最后得到的强分类器的分类精度依赖于所有弱分类器的分类精度,这样可以深入挖掘弱分类器算法的能力。

算法优缺点
优点
1)Adaboost是一种有很高精度的分类器 2)可以使用各种方法构建子分类器,Adaboost算法提供的是框架 3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单 4)简单,不用做特征筛选 5)不用担心overfitting(过度拟合)
缺点
1)容易受到噪声干扰,这也是大部分算法的缺点
2)训练时间过长
3)执行效果依赖于弱分类器的选择