AdaBoost算法及改进
2021-06-28李瑞帅
李瑞帅
1前言
AdaBoost因良好的分类能力,简单易实现,在数据挖掘、人脸识别与行人检测中都获得了广泛的关注。本文主要介绍AdaBoost算法的理论、训练方法与本文基于特征量化的改进算法。
2AdaBoost简介
AdaBoost算法(自适应增长算法),由Yoav Freund和Robert Schapire提出并進行理论完善。AdaBoost算法是一种迭代算法,每经过一次迭代,增加一个新的弱分类器,最终分类结果由所有弱分类器加权投票,根据投票结果是否大于阈值确定样本标签,当整个训练样本集的分类错误率小于给定值时停止训练过程。
AdaBoost的训练过程其实就是一个迭代的提升分类器学习能力的过程,方法如下:
3AdaBoost算法改进
AdaBoost具有良好的分类表现,并且在检测过程运行速度较快,但分类器的训练过程的时间花费非常大,在一些要求实时进行学习更新的系统中应用受到限制。对于分类器而言学习速度与分类准确性同样重要,在实时学习系统或处理数据流时分类算法必须具备快速自学习的能力。对AdaBoost算法改进出发点就是:不损失分类精度的前提下尽可能的提高训练速度。
训练所使用的特征集的特征之间并不是完全独立的,而是具有很高的相关性。利用这一性质,通过选择合适的模板特征,大部分的特征点可根据其与模板特征的关系进行预剔除。
进行弱分类器训练之前,预先对特征数据使用最简单的线性划分法进行量化,避开了弱分类器训练中的样本排序过程,并且极大地减少了循环遍历的次数。
4结论
通过研究当前AdaBoost算法的改进方向与思路,实现了一种通过量化训练样本特征值的方法加快训练速度,该方法在训练时间上具有很大的优势,虽然在处理小样本,低维特征时效果不如传统AdaBoost训练算法精度高,但当样本数目大,特征向量维度高时,通过增加弱分类器的数目能够获得与传统方法媲美的分类精度,并保持速度上的优势。
火箭军士官学校