4. 提出一种提高分类器性能的方法并通过实验验证。 Adaboost:基于错误提升分类器的性能
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器,比起弱分类器,这个“强”分类器的错误率会低很多。
Adaboost算法本身是改变数据分布实现的,它根据每次训练集之中的每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改权值的新数据送给下层分类器进行训练,然后将每次训练得到的分类器融合起来,作为最后的决策分类器。以下给出 Adaboost算法的运行过程:
1. 训练数据中的每个样本,并赋予其一个权重,这些权重构成向量D,一开始时权重D初始化为
相等的值;
2. 先在训练样本上训练得到第一个弱分类器并计算分类器的错误率 ;
3. 在同一数据集上再次训练弱分类器,在分类器的二次训练中,会重新调整每个样本的权重,其
中第一次分类正确的样本的权重将会降低,而分类错误的样本权重将会提高 ;
4. 为了从所有弱分类器中得到最终的分类结果,Adaboost为每个分类器都分配了一个权重值
alpha,这一组值是基于每个弱分类器的错误率进行计算的。 其中,错误率由以下公式定义: