logo资料库

本科毕业论文 基于支持向量机(SVM)的蘑菇毒性检测系统.doc

第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
资料共32页,剩余部分请下载后查看
摘 要
关键词
Abstract
Key Words
1引言
1.1研究意义
1.2国内外研究情况
2支持向量机理论
2.1支持向量机基础理论
2.2 C-SVM算法及其变形算法
2.3 v-SVM算法
3 LIBSVM软件
3.1 LIBSVM软件简介
3.2 LIBSVM软件的使用方法
3.3 LIBSVM的工具包
4 Qt图形库
5 系统的设计与实现
5.1分类问题的提出及SVM分类原理
5.2支持向量机与蘑菇毒性分析相结合
5.2.1 蘑菇毒性检测系统总体框架
5.2.2 蘑菇物理属性的数据描述
5.2.3 蘑菇属性数据学习模型的建立
5.2.4 蘑菇毒性预测部分
6 总结
6.1 结论
6.2 下一步工作
参考文献
致 谢
华中农业大学本科毕业论文(或设计) 目 录 摘 要....................................................................................................................................... II 关键词....................................................................................................................................... II Abstract ......................................................................................................................................II Key Words................................................................................................................................. II 1 引言.........................................................................................................................................1 1.1 研究意义........................................................................................................................1 1.2 国内外研究情况............................................................................................................1 2 支持向量机理论.....................................................................................................................3 2.1 支持向量机基础理论....................................................................................................3 2.2 C-SVM 算法及其变形算法..........................................................................................7 2.3 V-SVM 算法...................................................................................................................9 3 LIBSVM 软件.......................................................................................................................12 3.1 LIBSVM 软件简介......................................................................................................12 3.2 LIBSVM 软件的使用方法..........................................................................................12 3.3 LIBSVM 的工具包......................................................................................................15 4 Qt 图形库..............................................................................................................................18 5 系统的设计与实现..............................................................................................................19 5.1 分类问题的提出及 SVM 分类原理...........................................................................19 5.2 支持向量机与蘑菇毒性分析相结合..........................................................................21 5.2.1 蘑菇毒性检测系统总体框架............................................................................ 21 5.2.2 蘑菇物理属性的数据描述................................................................................ 21 5.2.3 蘑菇属性数据学习模型的建立........................................................................ 23 5.2.4 蘑菇毒性预测部分............................................................................................ 26 6 总结......................................................................................................................................27 6.1 结论............................................................................................................................. 27 6.2 下一步工作................................................................................................................. 28 参考文献..................................................................................................................................29 致 谢........................................................................................................................................30 I
基于支持向量机(SVM)的蘑菇毒性检测系统 华中农业大学本科毕业论文(或设计) 摘 要 本文根据模式识别理论,对支持向量机的分类机制,核函数算法和松弛变量的定义 进行了研究,采用了 LIBSVM 工具结合蘑菇毒性样本数据在 linux 下开发出了蘑菇毒性 检测系统,该系统着重分析了样本数据的分割和参数变量的定义对分类精确率的影响。 并在此情况下产生样本学习结果,然后便可对蘑菇进行毒性分类即检测。 本系统采用了数目为 1000 的子数据样本,核函数参数和松弛变量都采用系统计算 出的推荐参数,最后产生了一个高效的准确度高的易用蘑菇检测系统。 支持向量机;样本学习;分类;毒性检测 关键词 Appraisal system of poisonous mushroom based Support Vector Machine Abstract Based on the theory of pattern recognition, the thesis studies the classification of support vector machines, the arithmetic of definition of slack variable, the LIBSVM tool with mushroom toxicity data on Linux develope mushroom toxicity testing system, this system is analyzed and the parameters of the sample data segmentation of precise definition of variable rate. Classification, And in the condition,the study result samples related physical properties can be toxic classification of mushrooms on that test. kernel function and the Here is the system USES a number of 1000 kernel function parameter data sample, and relaxation variables are calculated using the system parameters, the recommended a high accuracy high easy-to-use mushroom detection system. Key Words Support Vector Machine; Sample Learning; Classification;Toxicity Testing II
华中农业大学本科毕业论文(或设计) 1 引言 1.1 研究意义 中国的毒蘑菇种类多,分布广泛,资源丰富。在广大农村乡镇和山区,误食毒蘑菇 中毒的事例很普遍,几乎每年都有严重中毒导致死亡的报告,曾经被作为多发性食物中 毒的原因之一。因此,长期以来如何有效检测毒蘑菇是人们十分关心的事。有关方面曾 做了大量科普知识宣传的工作,但误食中毒者仍经常有发生。 只有靠专家鉴定或民间流传的土方法,前者不太现实,不利于普及,后者采用.对照 法、看形状、观颜色、闻气味、看分泌物。这些复杂的方法对新手或外行人不利于掌握, 虽一定程度上得减少了误食,但并不完全科学精确的分辨,不利于规模性国民生产。至 今尚无精确地方法或设备对毒蘑菇进行检测。因此有一个简易精确的先进计算机设备实 现毒蘑菇检测,对提高效率和精度都有非常重要的意义。(朱元珍等,2008) 本文是利用蘑菇的 20 个物理属性从而进行毒性鉴定的研究。利用支持向量机及相 关知识来对蘑菇的物理形态对蘑菇的物理属性和毒性之间的关系进行分析,从而开发出 蘑菇毒性检测系统。第一次实现了计算机设备来检测蘑菇毒性,对于增强我国食品的安 全保障,提高农民收入有重要意义。 1.2 国内外研究情况 机器学习(Machine Learning,ML)是人工智能(Artificial Intelligence,AI) 最具智能特征、最前沿的研究领域之一。 基于数据的机器学习是现代智能技术中的 重要方面,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观 测的数据进行预测。(林继鹏和刘君华,2005)迄今为止,关于机器学习还没有一种被 共同接受的理论框架,关于其实现方法大致可以分为三种: 第一种是经典的(参数)统计估计方法。包括模式识别、神经网络等在内,现有机 器学习方法共同的重要理论基础之一是统计学。参数方法正是基于传统统计学的,在这 种方法中,参数的相关形式是已知的,训练样本用来估计参数的值。这种方法有很大的 局限性,首先,它需要已知样本分布形式,这需要花费很大代价,还有,传统统计学研 究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。但在实际 问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不 尽人意。(陈荣淋等,2005) 第二种方法是经验非线性方法,如人工神经网络(ANN)。这种方法利用已知样本 建立非线性模型,克服传统参数估计方法的困难。但是,这种方法缺乏统一的数学理论。 与传统统计学相比,统计学习理论(Statistical Learning Theory 或 SLT)是一种专门 研究小样本情况下机器学习规律的理论。该理论针对小样本统计问题建立了一套新的理 论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有 有限信息的条件下得到最优结果。V. Vapnik 等人从六、七十年代开始致力于此方面研究, 1
华中农业大学本科毕业论文(或设计) 到九十年代中期,随着其理论的不断发展和成熟,也由于神经网络等学习方法在理论上 缺乏实质性进展,统计学习理论开始受到越来越广泛的重视。(马毅,2006) 统计学习理论的一个核心概念就是 VC 维(VC Dimension)概念,它是描述函数集或 学习机器的复杂性或者说是学习能力(Capacity of the machine)的一个重要指标,在此概 念基础上发展出了一系列关于统计学习的一致性(Consistency)、收敛速度、推广性能 (Generalization Performance)等的重要结论。(孙即祥,2002) 统计学习理论是建立在一套比较坚实的理论基础之上的,为解决有限样本学习问题 提供了一个统一的框架。它能将很多现有的方法纳入其中,有望能帮助解决许多原来难 以解决的问题(比如神经网络的结构选择问题、局部极小点问题等);同时,在这一理 论基础上发展了一种新的通用学习方法──支持向量机(SVM),已初步表现出很多优于其 它方法的性能。一些学者认为,SLT 和 SVM 正在成为继神经网络研究之后新研究热点, 并将会推动机器学习理论和技术有重大发展。 支持向量机方法是建立在统计学习理论的 VC 维理论和结构风险最小原理这两个基 础上的,根据有限样本信息在模型中的复杂性(即对特定训练样本的学习精度,Accuracy) 和学习能力(即无错误识别任意样本的能力)之间寻求最佳折衷,以期望获得最好的推广 能力(Generalizatin Ability)。支持向量机方法的几个主要优点有: (1)它是专门针对有限样本情况的,其目标是得到根据现有信息下的最优解而不 仅仅是样本数趋于无穷大时的最优值; (2)算法最终将转化成为一个二次型寻优问题,从理论上说,得到的将是全局中 的最优点,解决了在神经网络方法中无法避免的局部极值问题; 算法将实际问题通过非线性变换转换到高维特征空间(Feature Space),在高维空间 中构造线性判别函数来实现原空间中的复杂非线性判别函数,特殊性质保证机器能有较 好的推广能力,同时巧妙地解决维数问题,其算法复杂度与样本维数无关; 在 SVM 方法中,只要定义了不同的内积函数,就可以实现多项式逼近、贝叶斯分 类器、径向基函数(Radial Basic Function 或 RBF)方法、多层感知器网络等许多现有学习 算法。(汪丹和张亚非,2005) 统计学习理论从七十年代末诞生之后,到九十年代之前都处在初级研究和理论准备 阶段,直到近几年才逐渐得到重视,其本身也趋向于完善,并产生了支持向量机这一将 理论付诸实现的有效机器学习方法。目前,SVM算法在模式识别、回归估计、概率密度 函数估计等方面都有应用。例如,在模式识别方面,对于手写数字识别、语音识别、人 脸图像识别、文章分类等问题,SVM算法在精度上已经超过传统的学习算法或与之不相 上下。在车型检测和识别算法的研究中,SVM 识别系统对训练样本的训练时间最短, 是神经网络(BP) 算法中最快的非线性优化(LM) 算法的13 倍,识别的正确率远远 高出BP 神经网络。 目前,国际上对这一理论的讨论和进一步研究逐渐广泛,而我国国内尚未在此领域 开展研究,因此我们需要及时学习掌握有关理论,开展有效的研究工作,使我们在这一 2
华中农业大学本科毕业论文(或设计) 有着重要意义的领域中能够尽快赶上国际先进水平。由于SLT理论和SVM方法尚处在发 展阶段,很多方面尚不完善,比如:许多理论目前还只有理论上的意义,尚不能在实际 算法中实现;而有关SVM算法某些理论解释也并非完美;此外,对于一个实际的学习机 器的VC维的分析尚没有通用的方法;SVM方法中如何根据具体问题选择适当的内积函 数也没有理论依据;SVM 判决函数的计算量和支持向量的数目成正比. 对于大训练集 合,其支持向量的数目会达到几千个,这就使SVM对实验样本的测试判决速度变慢。因此, 在这方面我们可做的事情是很多的。(张学工,2006) 2 支持向量机理论 2.1 支持向量机基础理论 SVM 思想是从线性可分情况下的最优分类面发展而来的,基本思想可用图 1 的两 图 1 最优分类面 Fig. 1 Optical classification Surface Figure 维情况说明。图中,实心点和空心点代表两类样本,H 为分类线,H1、H2 分别为过各类 中离分类线最近的样本且平行于分类线的直线,它们之间的距离我们叫做分类间隔 (margin)。所谓最优分类线就是规定分类线不但能将两类正确分开(训练错误率为 0), ,我们可以对它进行归一化,使得对 而且要使分类间隔最大。分类线方程为 bwx 0 线性可分的样本集 ( , i yx i ) , i ,...,1 n , dRx , y }1,1{ ,满足 y i [(  xw i )  b ,01]  i  ,1 , n (公式 1) 此时分类间隔等于 2/||w||,使间隔最大等价于使||w||2 最小。满足条件(1)且使 1 w 最 2 小的分类面就叫做最优分类面,H1、H2 上的训练样本点就称作支持向量(蒋琳琼,2007)。 利用 Lagrange 优化方法可以把上述最优分类面问题转化为其对偶问题,即:在约束 2 条件   yi  i 0 , n i 1  和 i  0 i=1,n 3 (公式 2) (公式 3)
下对i 求解下列函数的最大值: 华中农业大学本科毕业论文(或设计) Q ) (   n  i 1   i  1 2 n   j 1  i , ji yy i ( xx i  j j ) (公式 4) i 为原问题中与每个约束条件(公式 1)对应的 Lagrange 乘子。这是一个不等式约 束下二次函数寻优的问题,存在唯一解。容易证明,解中将只有一部分(通常是少部分) i 不为零,对应的样本就是支持向量。解上述问题后得到的最优分类函数是 f ( x )  sgn{( xw  )  } b  sgn    n  i 1  *  i y ( xx i  ) i  * b    (公式 5) 式中的求和实际上只对支持向量进行。b*是分类阈值,可以用任一个支持向量(满 足(公式 1)中的等号)求得,或通过两类中任意一对支持向量取中值求得。 对近似线性分类(陈永义,2004)问题,虽仍可以使用线性分类,但需要适当加以改造。 此时的分类面 w×x+b=0 满足: xwy i [(  )  b 1]  i i ,i=1,……,n (公式 6) 当 0< 1i 时,样本点 ix 正确分类;当  1 时,样本点 ix 被错分。为此,在最小化 目标 1 w 中加入惩罚项  || 2 2|| C n 1  i  ,引入以下目标函数: i ), w  (  1 2 || w 2||  C n  i 1   i (公式 7) 式中,C 是一个正常数,称为惩罚因子。与线性可分情况类似,可通过如下的二次 规划来实现: max n  i 1  a i n n 1   2 1  1  i i yyaa i i j j ( x i  x ) j ..ts 0  ai  , iC  ,1 , n (公式 8)  i ya i 0 n i 1  其余的过程与线性分类过程一致。 对于非线性问题,可以通过非线性变换转化为某个高维空间中的线性问题,在变换 空间求最优分类面。这种变换可能比较复杂,因此这种思路在一般情况下不易实现。但 是注意到,在上面的对偶问题中,不论是寻优目标函数(4)还是分类函数(5)都只涉及训 i xx  。设有非线性映射Φ : Rd  将输入空间的样本映射到高 维(可能是无穷维)的特征空间中。当在特征空间 H 中构造最优超平面时,训练算法仅 练样本之间的内积运算 ) ( j 4
华中农业大学本科毕业论文(或设计) 使用空间中的点积,即Φ(xi).Φ(xj),而没有单独的Φ(xi)出现。因此,如果能够找到一个 函数 K 使得 K( xi , xj )=Φ(xi).Φ(xj),这样,在高维空间实际上只需进行内积运算,而这种 内积运算是可以用原空间中的函数实现的,我们甚至没有必要知道变换Φ的形式。根据 泛函的有关理论,只要一种核函数 K( xi,xj)满足 Mercer 条件,它就对应某一变换空间 中的内积。(崔伟东等,2001) 因此,在最优分类面中采用适当内积函数 K( xi,xj)就可以实现某一非线性变换后的 线性分类,而计算复杂度却没有增加,(张鸽和陈书开,2005)此时目标函数(4)变为: Q ) (   n  i 1   i  1 2 n   j 1  i i , j Kyy i j ( xx i , j ) 而相应的分类函数也变为 f x )( n   sgn( i 1  *  i Ky i ( xx ), i  * b ) (公式 9) (公式 10) 这就是支持向量机。 这一特点提供了解决算法可能导致的“维数灾难”问题的方法:在构造判别函数时, 不是对输入空间的样本作非线性变换,然后在特征空间中求解;而是先在输入空间比较 向量(例如求点积或是某种距离),对结果再非线性变换。这样,大的工作量将在输入空 间而不是在高维特征空间中完成。SVM 分类函数形式上类似于神经网络,输出是 s 中 间节点的线性组合,每个中间节点对应一个支持向量,如图 2 所示。(胡适耕等,2000) 函数 K 称为点积的卷积核函数,根据图 2,它可以看作在样本之间定义的一种距离。 输出(决策规则): y=(公式 1) 基于 s 个支持向量 xx 1 , 2 ,..., sx 的非线性变换(内积) 输入向量 xxx , ( 1 2 ,..., dx ) 显然,上面的方法在保证训练样本全部被正确分类,即经验风险 Remp 为 0 的前提 下,通过最大化分类间隔来获得最好的推广性能。如果希望在经验风险和推广性能之间 求得某种均衡,可以通过引入正的松弛因子ξi 来允许错分样本的存在。这时,约束(公 式 1)变为(张录达和苏时光,2005) ,1 (公式 11) 1]  ,0 xw  [(    n b y ) i , i i  i 5
华中农业大学本科毕业论文(或设计) y 1 1y ( 1 xxK ( 2 xxK), , 2y 2 ) s sy , xxsK ( ) x1 x2 图 2 支持向量机示意图 xd 而在目标——最小化 Fig. 2 Support Vector Machine Schematic 1 w ——中加入惩罚项   C 2 2 n i 1 ,这样,Wolf 对偶问题可以 i 写成: Maximize: Q ( )   s.t.   yi  i 0 n i 1  n  i 1   i  1 2 n   j 1  i , ji Kyy i j ( xx i , j ) (公式 12) (公式 13) 0  i  C (公式 14) 这就是 SVM 方法的最一般的表述。为了方便后面的陈述,这里我们对对偶问题的 i=1,n 最优解做一些推导。(Cortes C and Vapnik V,1995) 定义 )  (  F i  )  (  ( x i ) i i i y ( x    i   y ) i  j Ky j ( xx , i j )  y i j 对偶问题的 Lagrange 函数可以写成: L  1 2 )  ( ) (     i   i  i i   i  i ( i KKT 条件为 L    i  ( F i  )  y i   i  i  i i  0 且  i  0 i (i  C ) = 0  i  0 6  C )    i i y i (公式 15) (公式 16) (公式 17) (公式 18) (公式 19) (公式 20)
分享到:
收藏