第1章绪论 第1章 绪论
支持向量机(SVM)是在统计学习理论基础上提出的一种新的学习方法。支持向量机( SVM )是一种比较好的实现了结构风险最小化思想的方法。它的优点是理论完备、训练时间短、全局优化强、适应性好、泛化性能好等。SVM已经成为目前国内外研究的热点。本课题研究的SVR是支持向量机在函数回归中的应用。
1.1 课题研究背景
基于支持向量的学习是现代智能技术中的重要方面,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测.包括模式识别、神经网络等在内,现有支持向量机器学习方法共同的重要理论基础之一是统计学.传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设.但在实际问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。
与传统统计学相比,统计学习理论(Statistical Learning Theory或SLT)是一种专门研究小样本情况下机器学习规律的理论.V. Vapnik等人从六、七十年代开始致力于此方面研究,到九十年代中期,随着其理论的不断发展和成熟,也由于神经网络等学习方法在理论上缺乏实质性进展,统计学习理论开始受到越来越广泛的重视。
统计学习理论是建立在一套较坚实的理论基础之上的,为解决有限样本学习问题提供了一个统一的框架.它能将很多现有方法纳入其中,有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题等);同时,在这一理论基础上发展了一种新的通用学习方法——支持向量机(Support Vector Machine或SVM),它已初步表现出很多优于已有方法的性能。通过结果风险最小化准则和核函数方法,较好地解决了模式分类器复杂性核推广性之间的矛盾,引起了模式识别领域学者的极大关注。从此迅速的发展起来,现在已经在许多领域(生物信息学,文本分类、手写体识别、人脸检测等) 都取得了成功的应用,并且在研究过程中,取得了与传统方法可比或更好的结果,还丰富了自身的内容(如快速训练算法等),从而更加推动了它在其他模式识别领域的应用。由于其出色的学习性能,该技术已成为当前国际机器学习界的研究热点,在模式识别、回归估计、函数逼近等领域有了广泛的应用。本课题就是研究它在回归估计中的应用。
1.2 国内外研究现状
支持向量机一经提出,就得到国内外学者的高度关注。虽然支持向量机发展时间很短,但是由于它的产生是基于统计学习理论的,因此具有坚实的理论基础。近几年涌现出的大量令人瞩目的理论研究成果,更为其应用研究奠定了坚实基础。如Anthony et
1
第1章绪论 al.(1999)等人给出了关于硬邻域支持向量机学习误差的严格理论界限,Shawe-Taylor(2000)和Cristianini (2000)也给出了类似的关于软邻域支持向量机和回归情况下的误差界限;Weston et al.(1998)和Vapnik(1995,1998)等研究了支持向量机的泛化性能及其在多值分类和回归问题的扩展问题;Smola(1998)和Schoelkopf(1999)提出了支持向量机一般意义下的损失函数数学描述;脊回归是由Tikhonov 提出的一种具有特殊形式的正则化网络,Girosi(1990)、Poggio(1975)等将其应用到正则化网络的学习中, Smola et al.(1999)研究了状态空间中脊回归的应用,Girosi(1990)、Smola(1998)、Schoelkopf(1999)等讨论了正则化网络和支持向量机的关系。随着支持向量机理论上深入研究,出现了许多变种支持向量机,如Smolaetal.(1999)提出的用于分类和回归支持向量机。另外,一些学者还扩展了支持向量机概念,如Mangasarian(1997)等人的通用支持向量机(GeneralisedSVMs)。
虽然SVM 方法在理论上具有很突出的优势, 但与其理论研究相比,应用研究尚相对比较滞后, 到目前,SVM已用于数据分类、回归估计、函数逼近等领域.应用最为广泛的当属模式识别领域,在模式识别方面最突出的应用研究是贝尔实验室对美国邮政手写数字库进行的实验,这是一个可识别性较差的数据库, 人工识别平均错误率是2.5% , 用决策树方法识别错误率是16.2% , 两层神经网络中错误率最小的是5.9% , 专门针对该特定问题设计的五层神经网络错误率为5.0% (其中利用了大量先验知识) , 而用三种SVM 方法得到的错误率分别为4.0%、4.1% 和4.2% , 且其中直接采用了16×16的字符点阵作为SVM 的输入, 并没有进行专门的特征提取。说明了SVM方法较传统方法有明显的优势, 同时也得到了不同的SVM 方法可以得到性能相近的结果。实验还观察到,三种SVM求出的支持向量中有80%以上是重合的,它们都只是总样本中很少的一部分,说明支持向量本身对不同方法具有一定的不敏感性(遗憾的是这些结论仅仅是有限的实验中观察到的现象,如果能得到证明,将会使SVM的理论和应用有更大的突破)。围绕这一字符识别实验,还提出了一些对SVM的改进,比如引入关于不变性的知识、识别和去除样本集中的野值、通过样本集预处理提高识别速度等,相关的应用还包括SVM与神经网络相结合对笔迹进行在线适应.除此之外,MIT用SVM进行的人脸检测实验也取得了较好的效果,可以较好地学会在图像中找出可能的人脸位置.其它有报道的实验领域还包括文本识别、人脸识别、三维物体识别、遥感图像分析等,在函数回归估计方面主要用于非线性系统识别问题、时间序列预测、机场游客吞吐量的预测问题及多维自由曲面的重建问题等。
1.3 课题研究目的
此课题的设计目的在于训练及提高自己能综合运用所学专业知识分析、解决实际问题的能力;掌握文献检索、资料查询的基本方法以及获取新知识的能力;系统的利用支持向量回归相关理论知识和编程技能,利用MATLAB开发平台和相关的统计学工具箱及支持向量回归算法,设计改进并实现基于MATLAB的SVR回归模型的实验系统,通
2
第1章绪论 过运用M文件编写回归算法、GUI组件编写主界面、编写程序和装载数据文件完成实验界面的各个功能。从而熟悉了MATLAB编程、GUI组件编写用户界面以及回归算法的程序实现,同时也了解了支持向量回归算法在实际问题预测模型中的应用。
1.4 课题研究使用的开发工具
此课题主要运用MATLAB开发平台,MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。本课题研究用MATLAB程序编写回归算法和GUI组件编写用户界面来实现支持向量回归模型的设计。
开发工具的优点:
1.编程效率高:Matlab是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,这样就更接近我们书写计算算法公式的思维方式。
Matlab语言是一种解释执行的语言,与其他语言相比,它把编辑,编译,连接和执行融为一体,提高了程序的运行速度,同时也便于修改和调试。
2.高效方便的矩阵和数组运算:在回归过程中,输入的数据集,运算的变量以及很多参数都是以数组,向量形式出现的,运算这些数据复杂,易出错而且费时,所以方便高效的数组向量运算就显得尤为重要,而Matlab恰好具有这样便利的功能。并且Matlab语言还像其他语言一样规定了矩阵的算术运算符,关系运算符,逻辑运算符,条件运算符及赋值运算符。这给编写程序带来很大方便。在支持向量回归算法中包含了大量的数学模型和复杂的运算公式,所以用Matlab语言进行代码编写比较简单,编程效率比较高。
3.方便的绘图功能:本课题借助于Matlab的绘图功能,能较为方便的建立支持向量回归过程中的演示图形。Matlab有一系列绘图函数命令,功能强大,使用方便。在执行绘图函数时是通过使用不同的图形对象来实现图形创建功能的这些图形对象包括直线、文本、曲面等等。Matlab创建一个图形对象时总会给该对象制定一个独一无二的标识符,这个标识符就称为句柄。通过使用句柄,用户可以方便地访问句柄所指定的对象,通过修改对象的属性使图形完全符合用户的要求。
1.5论文组织结构
本论文主要针对回归型SVM在算法性能和推广能力两方面进行一些探讨,全 文共分5章,安排如下:
第1章主要研究SVM研究背景和国内外研究现状,介绍了课题研究背景以及可以研究所用的开发工具。
第2章详细推导了线性情况下回归机算法,然后引入了核函数将线性算法推广到非
3
第1章绪论 线性算法。还介绍了VC维数、结构风险最小化。
第3章此章介绍了本课题的总体设计思路和功能模块的划分及相关流程图。 第4章介绍支持向量回归模型的实现,及结果分析。 第5章对支持向量回归进行了分析与总结。
4
第2章支持向量机回归原理 第2章 支持向量机回归原理
回归预测研究从观测数据出发寻找规律,利用这些规律对未来数据或无法观测的数据进行回归预测。回归预测的目的是根据给定的训练样本集 来估计某系统输入和输出之间的依赖关系,即寻找最优函数 ,使它能够反映训练集的数据走向趋势,从而实现对未知输出做尽可能准确的预测。
2.1 支持向量机
支持向量机是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中有许多特有的优势,并能推广应用到函数拟合等其他机器学习问题中[。支持向量机方法是建立在统计学习理论的VC维原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力。
VC维数:模式识别方法中VC维的直观定义是:对一个指示函数集,如果存在h个样本能够被函数集中的函数按所有可能的2h种形式分开,则称函数集能够把h个样本打散;函数集的VC维就是它能打散的最大样本数目h。
若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大。有界实函数的VC维可以通过用一定的阈值将它转化成指示函数来定义。
VC维反映了函数集的学习能力,VC维越大则学习机器越复杂(容量越大),目前尚没有通用的关于任意函数集VC维计算的理论,只对一些特殊的函数集知道其VC维。
Vapnik和Chervonenkis在1968年又发现了下面的规律:VC维对于一个指示函数集,如果其生长函数是线形的,则它的VC维为无穷大;而如果生长函数以参数为h的对数函数为界,则函数集的VC维是有限的且等于h。VC就是取Vapnik和Chervonenkis名字的首字而成。所以,学习机器所实现的指示函数集的VC维有限就是ERM方法一致性的一个充分必要条件,这一条件不依赖于概率测度。而且,一个有限的VC维意味着快的收敛速度。
2.2 支持向量回归
在引入支持向量回归之前,首先要对回归问题进行形式化,并因此抽象出学习机的形式化概念。线形情形,支持向量回归问题可形象的理解为在误差带内寻求一个最为平坦的直线,此直线回归训练,并具有最小的损失。对于非线形情形,同支持向量机识别,通过向高维空间映射,将问题转化为高维空间(Hilbert空间)的线形回归问题,并且使用核函数来求得最优解。
2.2.1 回归初步形式
回归问题是个古老的数学问题,在工程上也有大量的应用背景。
在传统经典的回归中,尽管存在着多种估计的方法,但研究的大部分集中在最小二
5