博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab svm实验,Matlab SVM模式分类方法的实验系统
阅读量:6692 次
发布时间:2019-06-25

本文共 3763 字,大约阅读时间需要 12 分钟。

内容:程序代码,毕业论文(14544字),任务书,开题报告,中期检查,电路图

摘要:支持向量机(SVM)是近来提出的基于统计学习理论的解决模式识别问题的新技术,因其出色的学习性能,已成为目前国际机器学习界的研究热点。传统的统计学前提是有足够多样本,当样本数目有限时难以取得理想的效果。但在实际问题中,样本常常有限,导致一些理论上优秀的学习方法在实际应用中不能达到预期效果,而支持向量机(SVM)能够较好的解决这一问题。

本文主要阐述了SVM分类方法的基本原理和课题的设计思想及相关的实现方法,并在最后侧重分析了核函数的选择和样本的大小对性能的影响。设计方案如下:首先选择线性核函数(Linear)和径向基函数(RBF)等核函数作为内积运算,并利用支持向量机分解算法解决二次规划问题来创建一个SVM分类器。在该实验系统中,最大的特点是用户可以通过图形界面方便地进行一些基本的操作,即装载已有的数据集,也可以创建新的数据集,并选择不同的核函数训练支持向量机分类器,能够对数据进行正确的分类,比较直观地显示了分类的结果。

关键词:支持向量机,模式分类,训练算法,二次规划问题,核函数

目      录

1   绪    论1

1.1课题研究背景及目的1

1.2国内外研究现状及发展趋势2

1.3课题研究内容及方法3

1.4课题研究开发工具5

2  系统总体设计7

2.1功能需求分析7

2.2 总体设计思想7

2.3系统总流程图及功能模块设计9

2.3.1支持向量机分类模型总流程图9

2.3.2主要功能模块设计10

2.3.3系统实现相关程序的流程图11

3  系统的技术分析12

3.1支持向量机概述12

3.1.1支持向量机核心思想13

3.1.2支持向量机基本方法14

3.2.3.1线性情况14

3.2.3.2非线性情况17

3.2 支持向量机的模型选择18

3.3 支持向量机分类器的分解算法19

4  系统的设计实现23

4.1系统的功能描述23

4.1.1系统主界面23

4.1.2数据分类仿真实验模块主界面24

4.1.3创建数据模块27

4.2 系统运行结果28

4.3 系统性能分析32

4.3.1核函数的选择对于分类的影响32

4.3.2训练个数的选择对于分类的影响34

5  结论38

致谢39

参考文献40

2   系统总体设计

2.1 功能需求分析

本课题提出了一种基于支持向量机模式分类方法的实验系统的设计研发,要求实现一个仿真实验模型能够对数据集进行正确地分类。在本设计方案中,运用Matlab作为开发平台,通过创建用户图形界面比较具体的实现各功能模块。首先利用支持向量机分解算法解决二次规划问题来创建一个支持向量机分类器,并选择线性核函数(Linear)和径向基函数(RBF)等核函数作为内积运算,以简化分类器。采集数据的方式有两种:装载已有的数据集和创建新的数据集,并选择不同的模型即不同的核函数来训练支持向量机分类器,以实现对数据进行正确的分类。不同的核函数[16]下以及不同规模数据集下的分类结果和性能都不同,通过图形界面可以比较直观地显示了分类的结果和不同核函数下的性能比较。

2.2 总体设计思想

支持向量机的主要思想是针对两类分类问题,是在样本空间或特征空间中寻找一个超平面作为两类的分割,构造出最优超平面,以保证最小的分类错误率,使得超平面与不同类样本集之间的间隔(margin)最大,从而达到最大的泛化能力。它的间隔用到超平面最近的样本与此超平面之间的距离来度量。而训练分类器就变成了寻找合适的(使用二次规划Quadratic Programming,求解满足yk (w . xk + b )>= 1,k=1,2,…,n的使1/2(w.w)最小的w),使得margin最大。而那些距离超平面最近的点则被称为支持向量(Support Vectors)。支持向量机对未知样本的预测能力与分类器间隔有如下关系:

它提出了一个隔离带概念,并把使隔离带最宽作为确定线性分界面的最佳原则。既然是隔离带又有线性可分作条件,只需找到处在隔离带边缘上的点,以便确定最优的隔离带就行,而其它数据点的作用,只是要求所确定的隔离带能保证把它们置在隔离带外确定的一方就行。这样一来,数据点就分成两部分,一类对确定隔离带参数很重要,而另一类(一般说占数据的大部分)对确定隔离带的参数没有直接的影响,在这个意义上说它们对确定隔离带参数无关紧要。

VC维(VC Dimension)概念是描述函数集或学习机器的复杂性或者说是学习能力(Capacity of the machine)的一个重要指标。对于N维空间中的线性函数,其VC维为N+1,但即使在十分高维的空间中也可以得到较小VC维的函数集,以保证有较好的推广性。同时我们看到,SVM的最终决策函数只由少数的支持向量所确定,通过把原问题转化为对偶问题,计算的复杂度[15]不再取决于空间维数,而是取决于样本数,尤其是样本中的支持向量数. 这在某种意义上避免了“维数灾”,这些特点使有效地对付高维问题成为可能。

2.3 系统总流程图及功能模块设计

根据功能需求分析和设计思想,制定了如下的系统总流程图,并划分了系统的主要的功能模块和程序流程图。

2.3.1 支持向量机分类模型总流程图

主要的功能模块流程图2.3所示。

首先设置路径,再进入支持向量机模式分类实验环境,或者退出系统。进入仿真实验环境后,要么装载数据,要么创建数据,再选择核函数,训练支持向量机,对数据进行分类,并比较其性能。在得出分类结果后,可以选择不同的核函数再一次进行训练,或者重新装载或创建数据对另一组数据集进行分类。

2.3.2主要功能模块设计

根据该系统所要实现的功能及对相关基本原理的理解,依照功能需求分析,对系统划分了如下主要的设计模块:

(1)用户登录界面模块。在此模块用户可以进行路径的设置以保证顺利地进入实验环境中,使系统正常的运行。

(2)支持向量机数据分类仿真实验环境模块。实现支持向量机模式分类的基本功能,并可对具体实例样本的分类情况进行一步步地演示。

(3)创建数据模块。用户可以自己创建两类数据集。

(4)帮助模块。有SVM帮助,技术支持,关于系统等。用户可了解系统及支持向量机的有关情况。

5   结    论

本文主要提出了设计基于Matlab的SVM模式分类方法的实验系统。首先对SVM发展状况进行了了解,并在此基础上提出关于该系统的功能需求分析和总体的设计思想。阐述了支持向量机的基本原理,采用了支持向量机分解算法,并选用线性核函数和径向基核函数实现对数据的分类功能。在文中对核函数及SVM分解算法的相关理论也做了详细的说明。

经过一段时间的设计和开发,该系统如期完成,功能基本符合设计时的需求。通过对其相关领域的了解,以及对系统运行性能的比较,初步得出以下结论。

1.核函数的选定非常关键,它的选择好坏直接影响到算法的实现与效果。在本课题中只给出了两种最基本的核函数,对于实际问题的解决并没有起到太大的作用。根据核函数的运算法则,通过核函数的线性组合可以获得不同特性的核函数,这种方法是以后值得研究的问题。

2.由于SVM分类器的设计是依赖于少量的支持向量,使得分类效果受噪声的影响非常大,因此如何构造容噪性能强的SVM分类器尤为关键。

3.当训练样本很大时SVM的计算速度较慢,需要更好的算法来弥补这个问题。

由于本人水平有限及时间上的关系,上述问题一时难以解决。该系统还存在许多不足之处,功能实现起来比较简单,很多地方考虑得还不够全面,实用性不是很强,敬请原谅!在今后的学习实践中,我将逐步使该系统得到完善,使其功能更为强大。

参 考 文 献

[1] 边肇祺,张学工.模式识别[M].第2版.北京:清华大学出版社,2000.

[2] 张学工.关于统计学习理论与支持向量机.自动化学报,2000,26(1):32-42.

[3] 张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1).

[4] VapnikVN,著;张学工,译.统计学习理论的本质.北京:清华大学出版社。2000

[5] 范劲松,方廷健.基于粗集理论和SVM算法的模式分类方法.模式识别与人工智能,2000.

[6] Vapnik V N. The nature of statistical learning theory[M] . New York: Springer-Verlag Press,1995.

[7] Cortes C,Vapnik V.Support Vector Network Machine Learning,1995, 20: 273~297.

[8] 张浩然,韩正之,李昌刚.支持向量机.计算机科学,2002,29(12): 135-137.

[9] 赵卫华,范玉妹,张剑峰.应用于数据挖掘分类算法的SVM研究[A]. 北京: 北京科技大学应用数学专业.

MatlabSVM模式分类方法的实验系统  (获取作品请联系在线客服)

温馨提示:已经在本站下定的(原创)设计(毕业论文)将不会再次出售!请你放心购买!

提醒您:如需订做或者购买该毕业选题(作品原创),请您联系在线客服!

转载地址:http://uxdoo.baihongyu.com/

你可能感兴趣的文章
★Kali信息收集~ 5.The Harvester:邮箱挖掘器
查看>>
TNS-12502: TNS:listener received no CONNECT_DATA from client
查看>>
我的友情链接
查看>>
常见的内存错误及其对策
查看>>
阿里云域名配置与解析
查看>>
Go环境变量
查看>>
高性能Web服务之tomcat基础应用详解(一)
查看>>
Python虚拟环境:Vitualenv
查看>>
反思~~~~~~思绪有点乱
查看>>
android-------非常好的图片加载框架和缓存库(Picasso)
查看>>
Titanium, PhoneGap, Sencha Touch, jQuery Mobile – Clearing up confusion
查看>>
eclipse如何部署Web工程到tomcat中
查看>>
搜索和网页排名的数学原理
查看>>
Xcode项目中同一个名称不同位置 简单修改
查看>>
java设计模式-建造者模式
查看>>
oracle笔记
查看>>
ContentProvider数据更新
查看>>
一些常用RPM Repository(RPM软件仓库)地址
查看>>
Xcode常用插件
查看>>
实体 map 属性
查看>>