您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页一种基于决策树的SVM算法

一种基于决策树的SVM算法

来源:意榕旅游网
第35卷第1期 2017年3月 Vo1.35 NO.1 太原学院学报 Mar.2O17 一种基于决策树的SVM算法 程凤伟 (太原学院,山西太原030032) 摘 要:随着现实生活中数据集规模的不断增大,提出一个有效的分类算法势在必行。现今 很多已有的算法是针对减少支持向量的数目来提高分类的效率,文章提出了一个基于决策树的支 持向量机算法,旨在通过减少测试集的数目来提高支持向量机在测试阶段的分类速度。基于决策 树的支持向量机算法的思想是利用决策树算出支持向量机的大致决策边界,决策树上含有单变量 节点和SVM节点,支持向量机用来对靠近决策边界的重要的数据点进行分类,剩下的相对不重要 的数据,点用决策树对其进行快速分类。 关键词:支持向量机;决策树;决策世界 中图分类号:TP3 文献标识码:A 文章编号:2096-191X(2017)01—0033—04 D0I:10.14152/i.cnki.2096—191X 2017.01.010 引言 支持向量机(Support Vector Machine,SVM) 是监督学习的一个有力工具,广泛应用于分类和回 归问题。支持向量机分类器的中心思想是找到最优 Li et alL6 提出了一种基于向量相关性的自适应算 法。可以看出,几乎所有的方法旨在减少支持向量 的数量来减少测试时间。本文提出一种新的算法, 用决策树口 支持向量机的模糊决策边界来提高 SVM在测试阶段的速度,基于决策树的支持向量机 算法(DT—SVM)。DT的几个节点是二进制 SVM。在SVMDT一个二进制SVM训练一次,定 位的(多个)DT的树叶。DT~SVM算法不同于上 分类超平面之间的正类样本和负面样本。最优超平 面是能够给予两类训练样本之间最大间隔的超平 面。支持向量机已成功应用于各种现实问题,如手 写数字识别、人脸图像识别、文本分类和生物信息 学口]。支持向量机与其他分类方法相比拥有更好的 泛化能力,但也造成一定的损失,支持向量机在测试 阶段的速度减慢。这是因为SVM计算复杂度决定 于支持向量的个数,因此如果支持向量的数目非常 大,支持向量机就需要更多时间对数据进行分类。 加快SVM在测试阶段的速率是近十年研究的 一面几种算法,它不试图减少支持向量的数量,而是减 少需要用SVM分类的样本数目,它是用SVM和决 策树(DT)共同来实现快速分类。只有靠近SVM 的决定边界的样本需要使用SVM分类,剩下的样 本使用快速的决策树进行分类。 1 对DT和SVM算法的研究 为了了解DT—sVM算法的分类过程,本文在6 个UCI adult数据集上(见表1)进行了实验,本文使 用Joachim的SVM算法训练SVM二元分类器。其 中惩罚参数C取5.4,高斯核参数d取1.0。图1给 个热门领域,现已有许多可用的方法。Burges 一J ] 提出了简SVM算法;Osuna和GirosiL3 提出了两种 减少支持向量的方法:一种方法利用回归来近似支 持向量机决定函数;另一个是解决了SVM优化中 的一个原始重组问题。Downs et alL4 提出了一个方 法是使用线性相关丢弃一些不必要的支持向量。李 和张_5 提出了一种利用迭代学习支持向量机算法。 出了SVM和DT在六个数据集上的测试精度,图1 还给出了SVM和DT在六个数据集上的测试速率, 图2和图3分别给出了SVM和DT的测试时间。 收稿日期:2016一l1~O9 基金项目:山西高等学校科技创新项目(2015110) 作者简介:程凤伟(1988一),女,河南周口人,太原学院,硕士,研究方向:人工智能和机器学习。 程风伟:一种基于决策树的sVM算法 第1期 表l实验采用的数据集 Table l Datasets used in the experiment O O 0 O 加 ¨ ∞ g! O 此,支持向量数目也在增加,而支持向量的增加的数 维数 123 123 123 l23 O 数据集 adult1 adult2 adult3 adult4 训练规模 16O5 2265 3185 4781 测试规模 3O965 3O296 29376 27780 目要大于测试集减少的数目。相反,随着测试集 adult1到adult6规模的减小,DT的测试时间也在减 小,这是因为从数据集adult1到adult6,训练集规模 在变大,同样的,决策树(DT)的规模(决策节点、I1-f‘ 子)也在不断变大,而决策树变大的规模要小于测试 adult5 6414 26147 123 adult6 l1220 21341 123 圆 图1 SVM和DT测试正确率的比较 图2 DT的测试时间 图3 SVM的测试时间 从图1可以看出,在六个数据集上,SVM的测 试正确率都要高于DT,从图2、图3可以看出DT 在测试阶段的速率要远远快于SVM。从图3还可 以看出,从数据集adultl到adult6,测试集的规模逐 渐减小,而sVM的测试时间却在逐渐增加,这是因 为从数据集adult1到adult6,训练集规模在变大,因 34一一 集增加的规模。 从这些实验结果可以得出: 1)决策树比SVM分类速度更快; 2)SVM比决策树的分类精度更高。 基于这两个结果,本文结合SVM和DT的优 点,对SVM和DT进行有效地组合,提出了基于决 策树的SVM算法。 2 基于决策树的SVM模型 基于前面的讨论,我们将SVM和DT进行有 效地结合。因为SVM的决策边界与真正的决策边 界非常接近,分类较精确,速度慢;而DT的决策边 界是一个近似的决策边界,分类相对不那么精确,速 度较快。靠近决策边界的样本至关重要,我们不期 待对他们进行快速分类,希望得到一个准确的分类 结果。另外,远离决策边界的样本相对不那么重要, 这种情况,我们希望能对他们进行快速分类。采用 DT~SVM算法,使用精确SVM对靠近决策边界 的样本进行分类,使用快速的DT对远离决策边界 的样本进行分类。 SVM分类函数: /( )=sg {∑ H 。 } (1) SVM的决策边界是当/(z)一0,决策边界把样本空 间分为两部分,正类区域(.厂(z)>0),负类区域(,、 ( )<0)。并且定义一个距离参数S( ),用S( )给 出样本点到决策边界的远近程度,并选择一个闽值 参数£,当S(-z)< 的区域为靠近决策边界的区 域,称为£一区域。 在本文中,将样本空间分为三个区域:至关重要 的£一区域、正类区域、负类区域。 £一区域:这个区域含有的样本是靠近决策边 界的样本,称为£类,我们认为测试集中落在这个区 域的样本是重要的样本,因此采用DT—SVM模型 中的SVM节点对这类样本进行分类。 正类区域:这类区域包含的训练样本在决策边 界的一侧.厂( )>0,并且满足距离参数S( )>£, 落在这个区域的测试样本,相对不是特别重要,这部 分区域的测试样本采用DT—SVM模型中的DT节 第35卷 大原学院学报 总第122期 点进行分类。 阈值£的确定非常重要,它的取值在0到0.5 负类区域:这类区域包含的训练样本在决策边 之间。当£一0时,就不存在£一区域,因此DT— SVM决策树模型中只有单变量节点,所有的测试样 本都会用单变量节点进行分类,这时的DT—SVM 界的另一侧.厂( )<0,并且满足距离参数S(z):> 落在这个区域的测试样本,相对不是特别重要, ,这部分区域的测试样本采用DT—SVM模型中的 DT节点进行分类。 训练样本空间被分为三个区域,通过这三类区 的分类速度比£取任何值的时候都快;当£一0.5 时,£一区域将包含整个样本空间,因此DT—SVM 模型将变成只有一个SVM节点和两个叶子,所有 的测试样本都会用SVM节点进行分类,这时的DT —域的数据集训练出一棵近似的决策树(DT),然后用 分类器SVM和正、负类叶子节点代替每一个落在 £一区域的叶子节点(如图4所示)。最终的DT— SVM的分类速度比£取任何值的时候都慢。当 sVM模型已经建立(如图5所示)。在DT—sVM £一0.231时,可以发现当厂( )一±11时,S(z)一 决策树模型中,包含两类节点:单元节点和多元节点 0.231,因此选择£=0.231,将使£一区域的决策边 (SVMs)。单元节点负责对相对不重要的测试样本 界和SVM的决策边界吻合。因此DT—SVM模型 进行快速分类,多元节点采用SVM分类器负责对 将使用SVM节点对边界内的样本进行分类,采用 重要的测试样本进行精确地分类(如图6所示)。因 此,只有一小部分的测试样本采用SVM进行分类, 快速的单变量节点对边界外的节点进行分类。 其余样本采用快速的单元决策节点进行分类从而降 3 实验结果 低了整体的测试时间。 为了测试DT—sVM的性能,我们在6个adult 冈I数据集(见表1)上进行了实验,并与SVM和DT进 __J  ............. .行了比较,实验中采用高斯核函数,其中正则参数C 图4 £类节点用SVM分类器和两个叶子节点代替 取1000,核参数d取1.0,参数£取0.24。实验结 建立DT—SVM模型的主要步骤总结如下: 果如表2所示,其中Train( )为训练精度,Test Stepl:用训练集样本训练SVM分类器获得分 (%)为测试精度,(#SV)为支持向量的数目,#ts. 类函数f(x)。 svm表示参加SVM训练的测试样本的数目,r.time Step2:用决策函数厂( )把训练集分为正类和 表示测试时间减少的程度。 负类。 从实验结果可以看出,DT—SVM算法与SVM Step3:选择一个在0到0.5之间的阈值£。 算法相比,由于支持向量数目相同,因此,两种算法 Step4:计算机每个训练集中数据点的s(z),并 测试的正确率几乎没有太大变化,但由于参与SVM 把s( )<一£的训练样本归到£类。 训练的测试样本数目减少,DT~SVM算法测试速 Step5:用划分了正类、负类和£类的训练样本 率有很大提高,与DT算法相比,测试速率虽有所下 {J『J练DT。 降,DT--SVM算法的测试正确率却有很大提高。 Step6:用SVM和两个叶子组成的子树代替 DT树中的£类节点,算法结束。 4 结束语 本文提出了一种基于决策树的支持向量机算 法,旨在提高SVM在测试阶段的分类速率,现有的 很多方法是靠减少支持向量的数目来提高测试阶段 的分类速率;DT—SVM是一棵包含单变量节点和 SVM节点的决策树,重要的样本用精确的SVM进 行分类,相对不重要的样本用快速单变量节点进行 分类。与SVM算法相比,在精度毫无损失的情况 下,速率有大幅度提高,在未来工作中,考虑将DT 图5 DT—SVM模型 ~sVM模型应用到多分类问题中。 35— 2O17年 程凤伟:一种基于决策树的SVM算法 表2三种方法实验结果的 较 Table 2 Comparison of threel kinds of test results 第1期 数据集 Train( ) DT 9O.9 SVM 85.3O DT—SVM 85.21 数据集 DT 87.94 SVM 85.17 DT—SVM 85.17 Test( ) 81.33 adultl 84.40 84.59 83.O6 adult4 84.46 84.46 #SV #ts.svm ts.time 0.99 648 30955 4.87 648 7536 1.16 0.059 2375 26146 14.71 2375 l0356 5.57 r.rate O 76.5 O 62.03 Train( ) 90.48 85.73 85.67 89.18 84.79 84.73 Test(%) #SV #ts.svm ts.tlme r.rate 81.76 aduh2 O.O69 84.51 1219 29377 8.47 O 84.52 1219 11000 3.21 62.O2 82.52 aduh5 0.061 84.69 4130 21341 2O.79 O 84.69 4130 3492 3.66 82.44 Train( ) 89.23 85.47 85.47 87.85 84.83 84.83 VTest( ) 82.82 aduh3 O.O69 84.54 84.54 84.06 Aduh6 0.03 85.O9 84.91 #SV #ts.svm ts.time r.rate 1785 2778l 11.6 O 1785 968O 4.04 65.37 8171 9866 l9.29 O 8171 1066 2.O9 89.16 参考文献: [1]C.j.Burges.Atutorialon support vector machines for suppor tvector solutions[J].Journal of Machine Learning Research,2001,(2):293—297. pattern recognition[J].Data Miningand Knowledge Dis— covery,1998(2):1-43. [53Y.Li,W.Zhang.Simplify support vector machines by it— erative learning[J].Neural Information Processing Letters and Reviews,2006,10(1):1l一17. E2]C.J.Burges.Simplified support vector decision rules.In: Proceedings of the 1 3th International Confereneeon Ma— 1-63Q.Li,I .Jiao,Y.Hao.Adaptive simplification of solution chine Learning[C].Italy,1996:71—74. for support vector machines[J].Pattern Recognition, 2007,4O:972-980. E33 E.Osuna,F.Girosi.Reducing the run-time complexity of sup-一 port vector machines[M].Advancesin Kernel Methods-一一 Support vector learning,MITPress,1999:271—283. [7]M.Arun Kumar,M.Gopa1.A hybrid SVM based decision tree[J].Pattern Recognition,2010,(43):3977—3987. [43 T.Downs,K.Gates,A.Masters.Exact simplification of A Support Vector Machine Algorithm Based on Decision Tree CHENG Fengwei (Taiyuan University,Taiyuan 030032,China) Abstract:The increasing size and dimensionality of real—world data sets make it necessary to design efficient classification algorithm.We proposed a new SVM algorithm based decision tree to speedup SVMs in its testing phase.While most existing methods addressed towards this task aim at reducing the number of support vectors,we have focused on reducing the number of test data— points that need SVM’s help in getting classified.The proposed algorithm uses decision trees to calculate the decision boundary of SVM.The hybrid tree has both univariate and SVM nodes. The hybrid tree takes SVM’s help only in classifying crucial data points lying near decision boundary;the other data points are classified by quickly univariate nodes. Key words:Support Vector;decision tree;decision boundary 一36~ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务