崔萌张春雷.滨州医学院网络信息中心 .滨州医学院解剖教研室
LIBSVM,LIBLINEAR,SVM比较研究
崔萌1张春雷2
1.滨州医学院网络信息中心 2.滨州医学院解剖教研室
SVM是Vapnik等人在统计学习理论基础上针对线性分类器提出的一种最佳分类准则,被广泛应用于文本、图像、语音等多个领域的分类问题。LIBSVM、LIBLINEAR、SVM是基于支持向量机(SVM)原理集成的两类或多类分类器工具包,这三种工具均实现了对数据的最优化分类,但彼此之间也有各自的特点。对于不同规模的数据集,即样本数与特征数比例不同的数据集的分类结果会存在差异。因此,本文从训练时间(Training Time),分类准确率(Precision)和采用的线性核函数(Kernel Function)这三个方面对 各个工具包的分类性能进行详细分析,从而给出三种工具的各自的优缺点,以便为使用这三种工具的研究者们提供一些经验支持。实验结果表明,针对线性可分的数据,LIBLINEAR工具包具有训练时间短,分类准确率高的特点,非常适用于大规模数据的分类。
LIBSVM LIBLINEAR SVMmulticlass 比较研究
支持向量机(SVM,Suppor t Vector Machine) 属于一种线性分类器,是建立在统计学习理论的VC 维理论和结构风险最小原理的基础上,根据有限的训练集,在模型的复杂性和学习性之间寻求最佳的折中,以获得最好的泛化能力的经典分类方法。对于SVM可以简单的理解为(以二分类为例)根据训练集中数据及其label找到一个分割面把两类准确的分开,分割面的确定是根据支持向量和分割面的距离最大化确定的。SVM是当前最好的有监督学习算法,它的出现解决了神经网络的局部最优化的问题,得到全局最优化,因此一经提出到现在得到广泛的应用。
SVM是由SVMlight T具包发展而来的,是SVMlight的“升级版”。SVMlight是仅支持传统二元分类自@SVMl ight2K具包,后由根据多分类的需求,由康奈尔大学的Thorsten Joachims开发并将SVMl ight集成为目前支持多元分类的SVM也是林智仁(Chih—Jen Lin)教授开发的,于2011年创建,它支持逻辑回归和线性支持向量机,最新的版本为1.96,更新于2014年11月15日。LIBLINEAR是基于LIBSVM的基础上提出的。LIBSVM、LIBLINEARTHSVM也是林智仁 (Chih—Jen Lm)教授开发的,于2011年创建,它支持逻辑回归和线性支持向量机,最新的版本为1.96,更新于2014年11月15日。LIBLINEAR是基于LIBSVM的基础上提出的。LIBSVM、LIBLINEAR和SvM…l t”la”都是跨平台的通用工具库,其中LIBSVM和LIBLINEAR的版 本更新比较近,支持windows/linux/macos系统,开发环境为C++,同时也有mat lab、python、j ava, c/c++扩展接口,可在不同语言环境的使用。然而,虽然LIB SVM、LIBLINEAR和SVM都是基于SVM理论解决两类及多类分类问题的工具,但是它们在使用方面还是会有效果上的差别。例如对于LIBSVM,林智仁教授是这样描述它的:LIBSVM is an integrated sof tware for support vector classif ication,(C—SVC, nu—svc),regression(epsi l on—SVR,nu—SVR)and dis t r ibut ion est imat ion(one—c lass SVM).It suppor ts mul t i—c lass classi ficat ion.说明LIBSVM是一个整合了支持向量机、回归、分布估计的软件,而且支持多类的分类。 对于L I B L I N E AR,官网上是这样介绍的: “LIBLINEAR is a linear c lassi f ier for data wi th mi l l ions of instances and features”,即主要专门为百万级数据和特征实现的线性分类器。因此本文从训练时间 (Training Time),测试结果准确率(Precision)以及是 否采用线性核函数(Kernel Function)这三个方面进行对上述三种工具包进行对比分析。
支持向量机(Support Vector Machine,SVM),属于线性分类器,它能够同时最小化经验误差与最大化几何边缘区域,因此也称为最大边缘区分类器。它的原理是构造一个或多个超平面(下面称为决策面),将这个决策面放置在两类中离超平面最近的点(支持向量)最远的位置。
这是一个在不等式约束下的优化问题,求解过程用Lagrange方法,相关过程可参见C.J.C Burges 的《模式识别支持向量机指南》[10][41,这里不做赘述。SVM对于无法直接线性可分的情况,引用核函数映射到高维空间,使其接近于或等于线性可分。并且为了不让噪声点影响决策面的确定,引入惩罚因子和松弛变量进行优化,这里也不做详细介绍。
SVM、LIBSVM乖HLIBLINEAR工具包中均存在训练程序和测试程序,但命名方式不同。通过训练集训练后会生成模型文件(model f ile),记录 SVM模型的类别数、特征数、核函数类型、支持向量等模型必须的参数。LIBLINEAR不提供核函数选项,其本身可以理解为是一个线性分类器。SVM和 LIBSVM提供多种核函数供选择,共同包含线性核函数、多项式核函数、sigmoid核函数,不同的是SVM还包含高斯核函数,而LIBSVM 则包含径向基函数(RBF,Radial Basis Function)。SVM默认为线性核函数,LIBSVM默认为RBF。SVM对数据格式的要求也比较严格。它要求类别标签必须为整数,而且特征向量必须为正整数且升序排列。而LIBSVM和HLIBLINEAR并没有这些要求,应用更为方便。还有一个重要的不同是,SVM不提供自动调参,寻找最优参数的过程,而LIBSVM会通过网格遍历的方法自动寻找最优的参数c fH3,使输出模型为当前配置下的最优模型。这个方面的差异可能会给实验结果带来负面影响。
3.1数据来源
在本章中,主要针对样本数大于特征数的数据集的分类结果进行对比研究。Train 1到Train 5数据集来自加利福尼亚大学尔湾分校(UCI,Universi ty of Cali fornia,Irvine)的机器学习知识库(Machine Learning Repository),是(John C .Plat t et a1.1999)论 文的数据集。Train 6来自于Delve Datasets,Train 7f fgLIBSVM具包自带样例数据集。
3.2训练时间比较
在比较训练时间的过程中,SVM、 LIBSVM和13LIBLINEAR在相同的可调参数选项中设 置了相同的参数。在训练数据中。Train 1至l j Train 5 为特征数相同但样本数逐次增力N-i,)l l练数据,用以在等特征数的条件下进行对比试验。Train 6fHTrain 7 是与训练数据Train 1至1]Train 5不同的数据集,为了验证这三种工具对不同数据集的泛化能力。在7种训练数据中,LIBLINEAR在训练时间方面的优势非常明显,而且随着样本数与特征数比值的增大,训练时间的优势就更加明显,例如,在Train l中sl f;为8.25时,LIBLINEARi)I{练 时间为LIBSVM的0.191,但在Train 5中s/伪165.83 时,LIBLINEARJ,JI[练时间仅为LIBSVMf l@O.014。SVM的训练时间小于LIBSVM,这样的结果是因为SVM的默认核函数为线性核函数,而 LIBSVM的默认核函数为径向基函数(RBF,Radial Basis Function)。线性核函数的运算时间小于径向基函数。仅从数据的训练时间对三种工具作出的评价是片面的,所以下面比较了在相同训练集和测试集下的准确率。
3.3分类准确率比较
在进行准确率比较的实验中,SVM、 LIBSVM和LIBLINEAR均采用与上一节相同的配置、相同的训练数据。由实验数据可以看出,总体来看,SVM的准确率要低于LIBSVM和LIBLINEAR。对于 LIBSVM和LIBLINEAR,在s/f/}、的情况、LIBSVM的准确率要优于LIBLINEAR,然而在sl t’N日大的过程中,LIBLINEAR的准确率逐渐优于LIBSVM,并且随着s/f的值越大,准确率的差距越明显。
3.4结论
在实际应用中,数据集样本数大于特征数的情况是比较普遍的,因此3.2和3.3中的实验中重点考虑了这种情况下SVM、LIBSVM和WLIBLINEAR 在训练时间和准确率方面的比较。结合训练时间和准确率两方面来看,LIBLNEAR在训练时间上的优势很大,而且在s/大的情况下,无论训练时间和准确率都占优,因此在样本数大于特征数时,当样本数的数量级比较大,LIBLINEAR的表现最佳: LIBSVM在样本数相对较小的情况下准确率是最高的,训练时间与LIBLINEAR相差很小,且均为毫秒级,这种差距在实际应用中基本可以忽略,所以在样本数与特征数比值较小时,LIBSVM的表现最佳:SVMmul t ic lass虽然在训练时间和准确率方面均还算可观,但均不是效果最好的,而且从前面介绍 的更新时间为2008年,而LIBSVM币ILIBLINEAR为2014年,这个工具在近几年并没有更新,可以间接推断出SVM对于当前数据类型的适应能力也没有LIBSVM币ILIBLINEAR表现好,因此我们在下面的实验中只对LIBSVM乖ILIBLINEAR进行比较。
4.1数据来源
本节主要对样本数远小于特征数的数据集进行 对比分析。Train 8来自(T.R.Golub et a1.,1998)‘7]论 文的数据集,Train 9J陲自(M.Westet a1.,1998)‘6]论 文的数据集,Train 10来自(U.Alon et a1.,1999)恻 论文的数据集。4.2训练时间比较 在训练时间的比较实验中,L I B S vM和LIBLINEAR均采用默认设置。由于网络上可利用的 被公认为的特征数大于样本数的数据集比较少,所 以本章只给出了三组实验结果比较。其中Train 8和 Train 9在相同的特征数条件下做对比试验,Train 10 为不同类型特征数据集下的实验结果。
可以看出,LIBLINEAR的训练时间在三种训练集下均仁?,LIBSVM快。而且随着s/增大, LIBLINEAR在训练时间方面的优势越明显。这种时间的差距主要是因为LIBLINEAR没有计算核函数参 数(kernel value),而LIBSVM要计算RBF的核函数参数Y,而且特征数比较大,使特征维度很高,对于核函数的计算也增加了难度,因止LLIBLINEAR的速度会明显快于LIBSVM。但是近从训练时间就对样本 数远小于特征数的数据集情况下两种工具的优劣进行评价明显很单薄,所以在相同的条件下进行了准确率的比较。
4.3从分类准确率比较
在准确率的比较实验中,采用了与5.1同样实验配置和数据集。由上述实验数据可以看出,LIBLINEAR在三种训练集下的准确率均I:kLIBSVM要高。造成这样的结果可能因为当特征维度相对样本数很大的情况下,每个样本的分类依据很强,线性分类器就足以将其准确的分开。但对于LIBSVM,由于上述样本中的数据过少,对于RBF核函数参数的调节不是很充分, 所以会造成准确率的不理想。
4.4结论
在实际应用中,特征数与样本数的比值较大的情况相对较少,例如,自然语言处理(NLP)的关系抽取。由4.2和4.3的比较结果可以看出,在特征数与样本数的比值较大的情况下,LIBLINEAR无论在训练时间和准确率方面都要优于LIBSVM。造成这种绝对的情况说明线性分类在处理特征数远大于样本数的数据集有着绝对的优势。
SVM、LIBSVM和ILIBLINEAR是当前比较常用的三个基于SVM原理的分类工具。由我们的实验结果可以看出,在特征数与样本数的比值较大的情况下,利用LIBLINEART时间和准确 率均有着很大的优势:在样本数远大于特征数的情况下,LIBLINEAR的效果的优势也非常明显。因此在处理数据量或数据特征量非常大的情况下,宜利用LIBLINEAR进行分类。在特征数和样本数相对较小的情况下,虽然利用LIB SVM的训练时间比LIBLINEAR要长,但这个训练时间是在完全可以接受的范围内,而且准确率最高,所以宜采用 LIBSVM。SVM的处理效果适中,但没有突出的优势,而且参数也不能自动调参,而需要人工设定,所以在大部分情况下建议使用LIBSVM和LIBLINEAR。
[1]Rong—En Fan,Kai—Wei Chang,Cho—Jui Hsieh,Xiang—Rui Wang,Chih—Jen Lin.LIBLINEAR:A Library for Large Linear Cl assi f icat ion,Journa l of Machine Learning Research 9(2008)187 1—1 874.
[2]K.Crammer and Y.Singer.Ont heAl gorithmic Imp lementation of Multi—class SVMs,JMLR,2001.
[3]I.Tsochantar idis,T.Hofmann,T.Joachims,and YAl tun.Support Vector Learning for Interdependent and Structured Output Spaces,ICML,2004.
[4] Chih—W西Hsu,Chih—Chung Chang,and Chih—Jen Lin .A pract ical guide to supportvector classification . Technical report,Department of Computer Science,Nat ional Taiwan University,2003.
[5]C.一C.Chang and C.一J.Lin.LIBSVM:a library for suppor tvector machines.ACM Transactions on Intel ligent Systems and Technology,2:27:1一一27:27,2011.
[6] M.West,C.Blanchet te,H.Dressman,E.Huang,S. Ishida,R.Spang,H.Zuzan,J.A.Ol son,Jr.,J.R. Marks,and J.R.Nevins.Predicting the clinical status ofhuman breast cancer by using gene expression prof i les .Proceedings of the National Academy of Sciences,98: 11462—11467,2001.
[7]T.R.Golub,D.K.Slonim,P.Tamayo,C.Huard,M. Gaasenbeek,J.P.Mesirov,H.Col ler,M.L.Loh, J.R. Downing,M.A.Cal igiur i,C.D.Bloomf ield, and E,S .Lander.Molecular classi fication of cancer: class d iscovery and class predi ction by gene expression monitoring.Science,286(5439):53 1,1999.
[8].b1111 C.Plat t.Fast training of suppor t vec tor machines using sequent ia lminimalop timizat ion. In Bernhard Sch61kopf,Chr is topher J.C.Burges,and Alexander J. Smola,edi tors,Advances in Kernel Methods—Support Vector Learning,Cambr idge,MA,1 998 .
[9]U.Alon,N.Barkai,D.A.Not terman,K.Gish, S. Ybarra,D.Mack,and A.J.Levine.Broad paaems of gene expression revealed by cluster ing analysis of tumor and normal colon tissues probed by 01igonucleotidear rays. Cell Biology,96:6745—6750.1999.
[10]Burges C J C.A tutorial on support vector machines for pat tern recogni tion[J].Data mining and knowledge discovery,1998,2(2):121—167.