机器学习与SVM支持向量机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器学习与SVM支持向量机
内容摘要:
机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是人工智能的核心,是使计算机具有智能的根本途径。基于数据的机器学习是现代智能技术中的重要方面,研究从观测数据出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测,包括模式识别、神经网络等在内,现有机器学习方法共同的重要理论基础之一是统计学。支持向量机是从统计学发展而来的一种新型的机器学习方法,在解决小样本、非线性和高维的机器学习问题中表现出了许多特有的优势,但是,支持向量机方法中也存在着一些亟待解决的问题,主要包括:如何用支持向量机更有效的解决多类分类问题,如何解决支持向量机二次规划过程中存在的瓶颈问题、如何确定核函数以及最优的核参数以保证算法的有效性等。本文详细介绍机器学习的基本结构、发展过程及各种分类,系统的阐述了统计学习理论、支持向量机理论以及支持向量机的主要研究热点,包括求解支持向量机问题、多类分类问题、参数优化问题、核函数的选择问题等,并在此基础上介绍支持向量机在人脸识别中的应用,并通过仿真实验证明了算法的有效性。
关键词:机器学习、支持向量机
机器学习的研究背景
机器学习概念的出现学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或相同类似的任务时,会比现在做得更好或效率更高。西蒙对学习给出的定义本身,就说明了学习的重要作用。在人类社会中,不管一个人有多深的学问,多大的本领,如果他不善于学习,我们都不必过于看重他。因为他的能力总是停留在一个固定的水平上,不会创造出新奇的东西。但一个人若具有很强的学习能力,则不可等闲视之了。机器具备了学习能力,其情形完全与人类似。什么是机器学习?迄今尚没有统一的定义,由其名字可理解为机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍微严格的提法是机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”指的就是计算机,现在是电子计算机,以后还可能是种子计算机、光子计算机或神经计算机等等。机器能否像人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。
支持向量机的研究背景
支持向量机(Support Vector Machine,SVM)方法是在统计学习理论(Statistical LearningTheory,SLT)基础上发展而来的一种机器学习方法,SVM在使用结构风险最小化原则替代经验风险最小化原则的基础上,又结合了统计学习、机器学习和神经网络等方面的技术,在解决小样本、非线性和高维的机器学习问题中表现出了许多特有的优势。它一方面可以克服神经网络等方法所固有的过学习和欠学习问题,另一方面又有很强的非线性分类能力,通过引入核函数,将输入空间的样本映射到高维特征空间,输入空间的线性不可分问题就转化为特征空间的线性可分问题。支持向量机被看作是对传统分类器的一个好的发展,并被证明可在保证最小化结构风险的同时,有效地提高算法的推广能力。随着计算机技术的蓬勃发展以及人们在各个领域对模式识别技术的需求与应用,计算机模式识别技术也有了很大的发展。模式识别就是设计一个能够对未知数据进行自动分类的方法,常用模式识别方法有统计识别方法、句法结构识别方法、模糊理论识别方法、神经网络识别方法、模板匹配识别方法和支持向量机的识别方法等。其中基于支持向量机的模式识别方法是目前最为有效的模式识别方法之一。V.Vapnik等人早在20世纪60年代就开始研究小样本情况下的机器学习问题,当时这方面的研究尚不十分完善,且数学上比较艰涩,大多数人难以理解和接受,直到90年代以前还没能够提出将其理论付诸实现的方法,加之当时正处在其他学习方法飞速发展的时期,因此这方面的研究一直没有得到足够的重视。直到90年代中期,小样本情况下的机器学习理论研究逐渐成熟起来,形成了较完善的理论体系——统计学习理论(Statistical Learning Theory,SLT)[2],而同时,神经网络等新兴
的机器学习方法的研究则遇到了许多困难,在这种情况下,试图从更本质上研究机器学习问题的统计学习理论逐步得到重视。统计学习理论是建立在坚实的理论基础之上的,为解决小样本学习问题提供了统一的框架。统计学习理论的核心是VC维理论与结构风险最小化理论,它用VC维来描述学习机器的复杂度,并以此为出发点导出了学习机器推广能力的界的理论。该理论致力于寻找在小样本情况下学习问题的最优解,而不需要利用样本数趋于无穷大的渐进性条件,这使得统计学习理论在小样本情况下同样能得到具有推广价值的知识。1992年至1995年,在统计学习理论的基础上发展出了一种新型的学习机器——支持向量机(Support Vector Machine简称SVM)。支持向量机是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模犁的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力。支持向量机被看作是对传统分类器的一个好的发展,在解决小样本、非线性和高维的机器学习问题中表现出了许多特有的优势。SVM方法是由Vapnik及其合作者Boser、Guyon、Cortes 及Scholkopf在AT&T Bell实验室共同创造与发展起来的一种新方法。近年来,许多关于SVM方法的研究,包括算法本身的改进和算法的实际应用,都陆续被提了出来,如Scholkoph等人提出了v.SVM方法、Suykens等人提出了最小二乘支持向量机(LS.SVM)、Zhang提出的类中心支持向量机(CSVM)方法、Lin等提出了模糊支持向量机方法(Fuzzy.SVM)等[4]。其中,在理论上主要以Vapnik及其研究小组做了大量开创性及奠基性的工作。随着支持向量机的不断发展,人们对支持向量机的研究也越来越细化,其要研究方向大致可分为:求解支持向量机问题,支持向量机多类分类问题,参数的选择和优化问题等。
支持向量机求解问题
求解一个SVM问题最终都转化为解一个具有线性约束的凸规划问题或其对偶问题的二次规划问题(Quadratic Programming,QP)。传统的方法是利用标准二次型优化技术解决对偶问题,这就导致算法的训练速度很慢,一方面是由于SVM 需要计算和存储核函数矩阵,当样本规模较大时必然导致内存需求增加;另一方面,SVM在二次寻优过程中要进行大量的矩阵运算,多数情况下,寻优算法占用了大部分的算法时间,这就使得存储空间和和计算时间成了求解二次规划问题的瓶颈。常用的解决方法是将一个大的二次规划问题转化为若干个小的二次规划问题以提高分类效率,如块算法、分解算法、SMO算法、增式算法等等。支持向量机分类理论是针对两类分类问题提出的,然而,现实世界的分类问题,如船舰识别、字体识别、人脸识别等,都属于多类分类的范畴。如何将二类分类方法扩展到多类分类情况是支持向量机方法研究的重要内容之一。目前,用SVM解决多类分类问题方法主要是通过构造或组合多个两类分类器来实现多问题的分类。子分类器的构造和组合将两类分类扩展到多类问题,将多类分类问题逐步转化为两类分类问题。常用的算法有“one---against---one”方法、“one--against--rest”方法、“基于决策树的方法”等。支持向量机多类分类方法的引入拓展了支持向量机的应用范围,也加快了支持向量机方法的改进和创新,同时,支持向量机的核函数的选择以及核参数的选择也是一个重要的研究方向
支持向量机核心思想
支持向量机实现是通过某种事先选择的非线性映射(核函数)将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面。我们使用使用SVM进行数据集分类工作的过程首先是通过预先选定的一些非线性映射将输入空间映射到高维特征空间,使得在高维属性空间中有可能对训练数据实现超平面的分割,