论文部分内容阅读
1前言
AdaBoost因良好的分类能力,简单易实现,在数据挖掘、人脸识别与行人检测中都获得了广泛的关注。本文主要介绍AdaBoost算法的理论、训练方法与本文基于特征量化的改进算法。
2AdaBoost简介
AdaBoost算法(自适应增长算法),由Yoav Freund和Robert Schapire提出并进行理论完善。AdaBoost算法是一种迭代算法,每经过一次迭代,增加一个新的弱分类器,最终分类结果由所有弱分类器加权投票,根据投票结果是否大于阈值确定样本标签,当整个训练样本集的分类错误率小于给定值时停止训练过程。
AdaBoost的训练过程其实就是一个迭代的提升分类器学习能力的过程,方法如下:
AdaBoost算法的每一个弱分类器[hi]根据其对样本空间分类的误差[εi]影响样本的权值[Di]的分布,进而减小上级分类中分类错误的样本在下级被错分的可能。同样弱分类器利用其对应的分类误差[εi]计算得到投票权重[βi],得到最终强分类器:[H=sign(i=1Tβi×Pi-θ)],[Pi]为[hi]对应的分类标签,[θ]为强分类器的阈值。
3AdaBoost算法改进
AdaBoost具有良好的分类表现,并且在检测过程运行速度较快,但分类器的训练过程的时间花费非常大,在一些要求实时进行学习更新的系统中应用受到限制。对于分类器而言学习速度与分类准确性同样重要,在实时学习系统或处理数据流时分类算法必须具备快速自学习的能力。对AdaBoost算法改进出发点就是:不损失分类精度的前提下尽可能的提高训练速度。
训练所使用的特征集的特征之间并不是完全独立的,而是具有很高的相关性。利用这一性质,通过选择合适的模板特征,大部分的特征点可根据其与模板特征的关系进行预剔除。
进行弱分类器训练之前,预先对特征数据使用最简单的线性划分法进行量化,避开了弱分类器训练中的样本排序过程,并且极大地减少了循环遍历的次数。
給定样本的特征向量空间[A=XT1,XT2,…,XTN],特征向量[Xi=Xi1,Xi2,…,Xik],将特征向量的取值范围量化到[nBins]各不同的[bin],具体方法如下:
1)查找整个特征空间的特征值取值范围,即求[Xmin=minA列]与[Xmax=maxA列];
2)计算量化数据的步长:[step=(Xmax-Xmin)∕(nBins-1)]
[?]*MERGEFORMAT(3.8)
3)将特征值线性划分:[A=int((X-Xmin)∕step)]
[?]*MERGEFORMAT(3.9)
经过上述过程的处理,样本的特征被量化到固定的[nBins]个值上,为简化最优阈值(在[1-nBins]之间)的选取提供了条件。接下来统计样本特征空间的加权直方图,权值为样本权值,得到每一个[Bin]所对应的权值和,然后计算积分直方图。
4结论
通过研究当前AdaBoost算法的改进方向与思路,实现了一种通过量化训练样本特征值的方法加快训练速度,该方法在训练时间上具有很大的优势,虽然在处理小样本,低维特征时效果不如传统AdaBoost训练算法精度高,但当样本数目大,特征向量维度高时,通过增加弱分类器的数目能够获得与传统方法媲美的分类精度,并保持速度上的优势。
火箭军士官学校
AdaBoost因良好的分类能力,简单易实现,在数据挖掘、人脸识别与行人检测中都获得了广泛的关注。本文主要介绍AdaBoost算法的理论、训练方法与本文基于特征量化的改进算法。
2AdaBoost简介
AdaBoost算法(自适应增长算法),由Yoav Freund和Robert Schapire提出并进行理论完善。AdaBoost算法是一种迭代算法,每经过一次迭代,增加一个新的弱分类器,最终分类结果由所有弱分类器加权投票,根据投票结果是否大于阈值确定样本标签,当整个训练样本集的分类错误率小于给定值时停止训练过程。
AdaBoost的训练过程其实就是一个迭代的提升分类器学习能力的过程,方法如下:
AdaBoost算法的每一个弱分类器[hi]根据其对样本空间分类的误差[εi]影响样本的权值[Di]的分布,进而减小上级分类中分类错误的样本在下级被错分的可能。同样弱分类器利用其对应的分类误差[εi]计算得到投票权重[βi],得到最终强分类器:[H=sign(i=1Tβi×Pi-θ)],[Pi]为[hi]对应的分类标签,[θ]为强分类器的阈值。
3AdaBoost算法改进
AdaBoost具有良好的分类表现,并且在检测过程运行速度较快,但分类器的训练过程的时间花费非常大,在一些要求实时进行学习更新的系统中应用受到限制。对于分类器而言学习速度与分类准确性同样重要,在实时学习系统或处理数据流时分类算法必须具备快速自学习的能力。对AdaBoost算法改进出发点就是:不损失分类精度的前提下尽可能的提高训练速度。
训练所使用的特征集的特征之间并不是完全独立的,而是具有很高的相关性。利用这一性质,通过选择合适的模板特征,大部分的特征点可根据其与模板特征的关系进行预剔除。
进行弱分类器训练之前,预先对特征数据使用最简单的线性划分法进行量化,避开了弱分类器训练中的样本排序过程,并且极大地减少了循环遍历的次数。
給定样本的特征向量空间[A=XT1,XT2,…,XTN],特征向量[Xi=Xi1,Xi2,…,Xik],将特征向量的取值范围量化到[nBins]各不同的[bin],具体方法如下:
1)查找整个特征空间的特征值取值范围,即求[Xmin=minA列]与[Xmax=maxA列];
2)计算量化数据的步长:[step=(Xmax-Xmin)∕(nBins-1)]
[?]*MERGEFORMAT(3.8)
3)将特征值线性划分:[A=int((X-Xmin)∕step)]
[?]*MERGEFORMAT(3.9)
经过上述过程的处理,样本的特征被量化到固定的[nBins]个值上,为简化最优阈值(在[1-nBins]之间)的选取提供了条件。接下来统计样本特征空间的加权直方图,权值为样本权值,得到每一个[Bin]所对应的权值和,然后计算积分直方图。
4结论
通过研究当前AdaBoost算法的改进方向与思路,实现了一种通过量化训练样本特征值的方法加快训练速度,该方法在训练时间上具有很大的优势,虽然在处理小样本,低维特征时效果不如传统AdaBoost训练算法精度高,但当样本数目大,特征向量维度高时,通过增加弱分类器的数目能够获得与传统方法媲美的分类精度,并保持速度上的优势。
火箭军士官学校