基于Fisher向量投影的支持向量机增量算法

作者:吴青;赵祥; 刊名:西安邮电大学学报 上传者:姑丽尼格尔·艾斯卡尔

【摘要】针对支持向量机训练样本冗余导致训练效率低下的问题,提出一种基于Fisher向量投影的支持向量机增量算法。该算法根据支持向量机中支持向量的分布特性对初始训练集及增量集进行预处理,减少训练样本个数;通过判断初始样本是否满足新增样本集的卡罗需-库恩-塔克(Karush-Kuhn-Tucker conditions,KKT)条件,剔除对最终结果无用的样本,减少参与训练的样本数目。实验结果表明,与标准支持向量机算法和基于向量投影的支持向量机增量算法相比,基于Fisher向量投影的支持向量机增量算法的训练速度分别提升了86%和33%左右。该方法可用于大规模样本集的分类识别问题。

全文阅读

支持向量机(support vector machines,SVM)是一种基于统计学习理论的机器学习方法[1-2],其借助最优化理论来解决机器学习问题,体现了统计学习理论中的结构风险最小化思想,目前已经得到了广泛的应用[3-5]。支持向量(supportvectors,SV)是SVM训练样本中的一组特殊向量集合,这些向量通常离最优分类面较近,对最终的分类面的确定起着决定性的作用[6]。通常情况下,SV只占训练集的一部分,但是在标准SVM算法的学习过程中,大量时间花费在非SV的样本上,当处理大规模样本集时,算法的学习效率进一步降低,使得SVM算法在很多实际应用问题中受到制约[7]。因此,提高算法的效率是一个很重要的研究课题。在支持向量机的基础上提出了增量学习SVM(incremental learning algorithm of SVM,ISVM)[8]算法。由于ISVM算法在处理大规模数据集以及流数据方面具有优势,已经得到了广泛的研究[9-10]。与标准SVM算法相比,其优势在于能够充分利用历史训练信息,无需对加入新增量后的训练集重新训练,但是其训练样本中包含了很多对最终结果无用的数据,对算法的训练效率造成了一定的影响。为了解决上述问题,一种基于向量投影的支持向量机增量学习算法[11]被提出,该算法利用预选取训练样本的方法对训练样本进行预处理,有效地提高了增量算法的训练速度,但其选取边界样本的方法过于简单,致使选取的边界样本的数目过多,影响了算法的性能[12]。为了提高算法学习效率及其在处理大规模数据集和流数据方面的能力,本文拟利用基于向量投影的支持向量预选取方法[12],将基于Fisher准则的边界向量预选取方法与增量算法相结合,提出一种基于Fisher判别向量投影的支持向量预选取增量算法(SVs pre-extracting method of ISVMbased on vector projection of Fisher discriminant,FP-ISVM),根据支持向量机中SV的几何分布特性对样本进行预处理,在不影响最终训练结果的前提下减少参与训练的样本数目,再结合增量算法,充分利用历史训练信息,减少重复训练的样本数目,压缩训练样本集的规模,提高算法的训练速度。1支持向量预选取1.1支持向量机首先考虑线性可分的情况,假设一组训练样本D={(xi,yi)},i=1,2,…,l,其中,xi∈瓗n表示第i个样本,yi∈{-1,1}表示样本所属类别。训练的最终目的是找到一个最优分类面,使得两类样本之间以最大间隔分开,使泛化误差达到最小或者有上界[13]。这个最优分类面即超平面。要找到这个超平面,就转变为求解一个线性约束的二次规划(quadratic programming,QP)问题。引入拉格朗日乘子α,最终转化为求解上述规划的对偶规划问题[14]。对于非线性分类情况,可通过核函数(kernelfunction)K(xi,xj)=φ(xi)φ(xj)将训练样本从输入空间瓗n映射到高维特征空间,并在高维特征空间中构造出最优分类超平面。1.2支持向量预选取方法在求解上述二次规划的对偶问题时,系数αi对应每一个训练样本的解,在这些解中,存在许多系数αi=0,最优分类面的确定仅依赖于对应αi≠0的样本点,这些样本点被称为支持向量[2]。通常情况下支持向量只是训练样本的一部分,且正好位于两类边界上,如果可以通过对训练样本进行预处理,筛选出那些可能成为支持向量的边界向量,则可以有效地提高算法学习效率。在现实应用中遇到的数据通常都是高维的,不能直观地

参考文献

引证文献

问答

我要提问