毕业论文-基于GUI的神经网络算法设计.doc_第1页
毕业论文-基于GUI的神经网络算法设计.doc_第2页
毕业论文-基于GUI的神经网络算法设计.doc_第3页
毕业论文-基于GUI的神经网络算法设计.doc_第4页
毕业论文-基于GUI的神经网络算法设计.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)说明书题目:基于GUI的神经网络算法设计系 名 信息工程系 专 业 自动化 年 级 姓 名 指导教师 2016年6月6日毕业设计(论文)任务书 题目: 基于GUI的神经网络算法设计系 名 信息工程系 专 业 自动化 学 号 学生姓名 指导教师 职 称 讲 师 2015年12月10日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)工作基础:了解MATLAB2012的基本使用以及GUI工具箱使用方法; 研究条件:MATLAB2012以及神经网络的基本思想;应用环境:基于MATLAB2012的GUI应用程序开发;工作目的:熟练使用MATLAB2012神经网络工具箱; 熟练掌握GUI-图形用户接口使用方法; 熟练使用NCTOOL、NFTOOL完成自组织神经网络的设计;二、参考文献1刘杰.信息与计算科学专业教学中基MATLAB的GUI应用J.武汉科技学院学报. 2007(01).2田启川,潘泉,程咏梅,张洪才.基于MATLABGUI的虹膜识别算法测试平台J.计算机仿真.2006(02).3秦辉,席裕庚.基于Matlab GUI的预测控制仿真平台设计J.系统仿真学报.2006(10). 4李亚军,赵刚,王华,徐建.在MATLAB图形用户界面设计中使用ActiveX控件J.计算机与数字工程.2006(12). 5徐俊文,王强,金珩.MATLAB环境下的GUI编程J.内蒙古民族大学学报(自然科学版). 2006(06).三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)1、熟练掌握GUI-图形用户接口使用方法;2、熟练使用NCTOOL、NFTOOL完成自组织神经网络的设计;3、通过具体实例完成工具箱的图形接口设计;指导教师(签字)年 月 日审题小组组长(签字)年 月 日摘要MATLAB的GUIDE 是专门用于图形用户界面(GUI)程序设计的快速开发环境。本文从介绍GUIDE入手, 结合具体的软件图形界面实例,给出了利用GUIDE 制作图形用户界面的基本方法。利用GUIDE 设计的界面不仅可以对输入的数据进行曲线拟合, 建立数学模型,而且还可以通过此模型作进一步的预测和分析 , 界面友好, 具有开放性,方便用户不断地完善和扩充其功能。在Matlab GUI编程的基础上,结合Matlab中丰富的神经网络工具箱函数,使用NCTOOL、NFTOOL完成自组织神经网络的设计。近年来,基于GUI的神经网络算法设计在维持国民经济迅速发展的多个领域中占据着非常重要的地位。目前,许多国际知名公司早已意识到GUI在产品方面产生的强大增值功能,GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便非专业用户的使用。因此,对于研究基于GUI神经网络算法设计有重要的意义。 关键词:MATLAB 语言;GUI;NCTOOL;NFTOOLABSTRACTGUIDE MATLAB is specifically for the graphical user interface (GUI) programming environment for rapid development. This article from the introduction of GUIDE, combined with the specific software graphical interface examples, given the use of GUIDE to create a graphical user interface, the basic method. Utilized to guide the design of the interface can not only on the input data were curve fitting, establish mathematical model, and can also through this model for further analysis and forecasts, friendly interface, is open to facilitate users to continue to improve and expand its function. On the basis of GUI Matlab programming, combined with Matlab rich neural network toolbox function, the use of NFTOOL, NCTOOL to complete the design of self organizing neural network.In recent years, neural network algorithm based on GUI has a very important position in many fields that maintain the rapid development of the national economy. At present, many well-known international companies have already consciousness to Gui products produced in a powerful value-added features, the wide application of GUI is one of the major achievements in the development of todays computers, it greatly and non professional users. Therefore, it is of great significance to study the design of the algorithm based on GUI neural network.Key words: MATLAB language; GUI; NCTOOL; NFTOOL天津大学仁爱学院本科生毕业设计(论文)开题报告课题名称基于GUI的神经网络算法设计系 名 称信息工程系专业名称自动化学生姓名彭方红指导教师扈书亮一、 课题来源及意义图形用户界面 GUI(Graphics User Interface ,又称图形用户接口)是由各种图形对象, 如图形窗口、图轴、菜单、按钮、文本 框等构建的用户界面, 是人机交流信息的工具和方法, 在该界面内,用户可以根据界面提示完成整个工程, 却不必去了解工程内部是如何工作的。GUI设计既可以基本的MATLAB 程序设计为主, 也可以鼠标为主利用GUIDE 工具进行设计。 现实中大多数软件的制作都是基于汇编 、VC 或 Java 等语言 , 而利用 MATLAB GUI 进行软件开发的例子则很少。由于 MATLAB 语言在复杂的数值分析、矩阵运算、信号处理等方面具有明显的优势,故在制作需要对大量数据进 行各种运算和处理的软件时,在 GUI 中利用 MATLAB 语言编写程序是一个很好的选择。 近年来,基于GUI的神经网络算法设计在维持国民经济迅速发展的多个领域中占据着非常重要的地位。目前,许多国际知名公司早已意识到GUI在产品方面产生的强大增值功能,GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便非专业用户的使用。因此,对于研究基于GUI神经网络算法设计有重要的意义。二、研究目标1.熟练使用MATLAB2012神经网络工具箱;2.熟练掌握GUI-图形用户接口使用方法;3. 熟练使用NCTOOL、NFTOOL完成自组织神经网络的设计;三、研究内容 1、了解MATLAB2012以及神经网络的基本思想; 2、熟练掌握GUI-图形用户接口使用方法与设计工具; 3、完成界面外观的优化及GUI之间的调用结果测试; 4、完成基于GUI的神经网络算法设计以及GUI中图形的显示,并对其性能进行统计和总结; 四、研究方法与手段工作基础:了解MATLAB2012的基本使用以及GUI工具箱使用方法; 研究条件:MATLAB2012以及神经网络的基本思想;应用环境:基于MATLAB2012的GUI应用程序开发;完成界面外观的优化及GUI之间的调用结果测试,基于GUI的神经网络算法设计以及GUI中图形的显示,整个过程分为学习阶段和系统识别阶段,两个阶段要完成编制回调程序和GUI之间调用与仿真实验,并对其性能进行统计和总结。五、进度安排1、2015.12.25-2016. 03. 05 查找资料,通过书籍和视频学习matlab的基本概念和语法,初步练习使用matlab软件。了解GUI神经网络的基本原理及人工智能的基本概念。完成开题报告。2、2016. 03.06-2016.03.29 掌握GUI-图形用户接口使用方法与设计工具。3、2016.03.302016.04.20 完成界面外观的优化及GUI之间的调用结果测试4、2016.04.212016.05.25 完成基于GUI的神经网络算法设计以及GUI中图形的显示,并对其性能进行统计和总结。5、2016.05.262016.06.10 撰写论文,准备答辩。六、主要参考文献1刘杰. 信息与计算科学专业教学中基于Matlab的GUI应用J. 武汉科技学院学报. 2007(01) 2田启川,潘泉,程咏梅,张洪才.基于MATLAB GUI的虹膜识别算法测试平台J. 计算机仿真. 2006(02) 3李亚军,赵刚,王华,徐建. 在MATLAB图形用户界面设计中使用ActiveX控件J. 计算机与数字工程. 2006(12) 4吴迪,张星.利用MATLAB的GUI功能制作交互式演示实验软件J. 大学物理实验. 2006(02) 选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日目录第一章绪论11.1系统概述11.2本论文所做的工作41.3本章小结4第二章基于nctool的神经网络分类52.1nctool工具箱概述52.2神经网络聚类工具案例5第三章基于nftool的神经网络拟合133.1nftool工具箱概述133.2神经网络拟合工具案例分析14第四章基于nprtool的神经网络模式识别224.1nprtool工具箱概述224.2神经网络模式识别工具案例254.3训练SOM网络与仿真测试27第五章总结与展望315.1全文总结315.2研究展望31参考文献32附录34外文资料中文译文致谢1天津大学仁爱学院2016届本科生毕业设计(论文)第一章绪论1.1研究背景及实际意义1.1.1人工神经网络产生的背景80年代以来,神经网络研究进入了最活跃的发展时期,并在许多方面取得了突破性的进展,但是,还须从以下几个方面加强研究:进一步探索和理解大脑信息处理方式,从而提出与生物神经系统更接近的模型,这可能还须相当长的时间才能对脑行为有从微观到宏观的正确认识。数学上,非常有必要理解目前神经网络的非线性动态特性,并提出一些快速、坚韧、抗噪、稳定和确保收敛到全局极小点的新算法,还须研究确定训练序列特性的方法和网络对训练序列学习后的外延能力。实际手段上,需发展A/D和光学技术以实现新计算结构。工程上,期待发展,开辟新领域,并将已有神经信息系统扩至相当大的规模以解决实际问题。发展一些好的数学理论来解决实验结果和一些定量的方法来评价神经网络性能,同时神经网络性能也须客观、定量地与传统信息技术比较。由于 MATLAB 语言在复杂的数值分析、矩阵运算、信号处理等方面具有明显的优势,故在制作需要对大量数据进行各种运算和处理的软件时,在 GUI 中利用 MATLAB 语言编写程序是一个很好的选择。 从密码登陆、界面优化、GUI之间的相互调用和快捷方式对主界面的指向等方面,介绍了利用 MATLAB GUI 实现软件主框架的构建,并结合实际 给出了一款雷达分析软件的相应制作界面效果和在雷达信号处理中的应用,结果表明基于 MATLAB GUI制作的软件除了具备一般软件的界面友好特点外,还能够方便的进行各种数据处理及图像分析1。1.1.2GUI神经网络研究的发展及现状近年来,基于GUI的神经网络算法设计在维持国民经济迅速发展的多个领域中占据着非常重要的地位。目前,许多国际知名公司早已意识到GUI在产品方面产生的强大增值功能,GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便非专业用户的使用。因此,对于研究基于GUI神经网络算法设计有重要的意义。人工神经网络(Artificial Neural Network)是在特理机制上模拟人脑机制的信息系统,它不但具有处理数值数据的一般计算能力,而且还具有处理知识的思维、学习、记忆能力。神经网络产生于20世纪40年代,于20世纪80年代将“能量函数”引入神经网络,使神经网络稳定性有了明确的判据,再度兴起得到飞速发展,它采用类似于“黑箱”的方法,通过学习和记忆而不是假设,找出输入、输出变量之间的非线性关系,在执行问题和求解时,将所获取的数据输入到训练好的网络,依据网络学习的知识进行网络推理,得出合理的答案与结果。1.1.3句柄图形及图形用户界面句柄图形(Handle Graphics)是一种面向对象的绘图系统。这些细节一般隐藏在图形M 文件的内部。用户通过句柄图形可以定制图形的许多特性,这是使用高级绘图函数无法实现的,利用句柄图形可以创建图形用户界面。在MATLAB中,各种句柄图形对象是有层次的,按照父对象(Parent)和子对象(Children)的形式进行管理。当子对象创建时,继承了父对象的许多属性。MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。计算机屏幕作为根对象(root)由系统自动建立,其句柄值为0,而图形对象窗口(figure)的句柄值为一正整数,并显示在该窗口的标题栏。其他对象的句柄为浮点数。MATLAB在创建各种对象时,会产生该对象的句柄,通过句柄可以实现该对象的各种控制和设置。MATLAB提供了若干个函数用于获取已有图形对象的句柄2。图形对象的属性是一些特殊值,可以对图形对象进行控制和设置。每个属性都有一个属性名和属性值。属性名通常是采用大小写字母组成的字符串,第一个字母大写。用户可以在创建图形对象时,可以对属性值进行设置,如果用户为对其进行设置,则所有的属性都会自动化为系统的默认值,例如:Figure(Toolbar, none,Menu bar,none,),将创建没有工具栏和菜单的图形窗口。图形对象的属性非常多,通常在创建图形对象后,通过句柄对属性值进行修改。利用函数get()获取图形对象的属性值,通过函数set()设置图形对象的属性值。1.1.4用GUI设计神经网络工具箱的意义基于 MATLAB GUI 的软件制作方法为软件的开发提供一种全新的思路。目前的主流软件编程语言仍然是VC、VB、Java等高级编程语言,然而随着 MATLAB在复杂的数值分析、矩阵运算、信号处理等方面具有越来越明显的优势,越来越多的软件开发人员已开始考虑采用MATLAB 语言进行部分软件代码甚至是核心代码的编写。从上面给出的几个示例中可以看出,利用MATLAB GUI制作的软件同时具有界面友好和方便进行各种数据处理及图像分析的特点,因此在未 来的软件产业中,MATLAB GUI的应用范围将不断扩展,其产生的经济效益也将越来越大。相信, 随着MATLAB版本的升高,其功能的不断完善,会使得MATLAB在这方面的应用越来越广泛3。1.2本论文所做的工作在基于GUI神经网络的前提下,在Matlab GUI编程的基础上,结合Matlab中丰富的神经网络工具箱函数,从介绍GUIDE入手,结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。在该例子中,利用GUIDE 设计的界面对输入的数据进行曲线拟合,建立数学模型,而且还可以通过此模型作进一步的预测和分析,界面友好,具有开放性,方便用户不断地完善和扩充其功能。完成界面外观的优化及GUI之间的调用结果测试,基于GUI的神经网络算法设计以及GUI中图形的显示,每个阶段要完成编制回调程序和GUI之间调用与仿真实验,并对其性能进行统计和总结。1.3本章小结本章主要介绍人工神经网络的发展历程及发展状况,以此引出本论文将要涉及到的GUI神经网络的研究。在讨论句柄图形及图形用户界面的过程中引出GUI神经网络的应用,延续模式识别发展进程及现状。引出实例展示神经网络分类/聚类工具nctool、神经网络拟合工具nftool、神经网络模式识别工具nprtool等三个工具箱的使用。第二章基于nctool的神经网络分类2.1nctool工具箱概述在神经网络的可视化组件中,nntool是一个通用的工具,可以用来设计各种MATLAB所能提供的神经网络。除此之外,还有若干为处理具体类型的问题准备的专业工具,分类聚类工具就是其中的一个。神经网络的聚类工具能用于收集、建立和训练网络,并利用可视化工具来评价网络的效果。在nctool工具中所指的分类/聚类更偏向聚类,指只有输入样本,没有期望输出(目标向量)的分类问题。系统进行分类的依据是输入样本数据之间的相似性,用自组织的映射(Self-Organizing Map,SOM)网络的形式求解。例如,搜集相关数据,分析大众消费行为的相似性,将消费者划分为不同的人群,以实现细分市场的划分。MATLAB使用自组织映射网络进行聚类,SOM网络包括一个可以将任意维度的数据分成若干类的竞争层,类别的数量的最大值等于竞争层神经元个数。竞争层的神经元按照二维拓扑结构排列,是竞争层能代表与样本数据集的近似的分布。2.2神经网络聚类工具案例2.2.1nctool界面介绍及启动神经网络对话框Nctool内部采用selfoegmap函数实现聚类,使用SOM批训练算法,涉及的函数有trainbu、learnsomb。打开神经网络聚类工具对话框(Neural Network Clustering Tool),如图图2-1nctool对话框使用聚类工具箱解决一个简单的聚类问题,定义圆上6个左边点,左边点位置如图:图2-2坐标点位置2.2.2MATLAB输入数据选择变量使用神经网络聚类工具对这6个点做分类。在聚类工具对话框中单击右下方的Next按钮,进入Select Data步骤。在MATLAB工作空间中准备好输入的数据:a= 0.9659 0.2588 -0.2588 0.9659 -0.9659 -0.9659;.0.2588 0.9659 0.9659 -0.2588 -0.2588 0.2588;然后在input下列框中选择变量a,如图 图2-3加载输入变量 图2-4网络示意图(3)单击Next按钮,进入Network Architecture步骤。自组织映射网络会将输入数据映射到二维平面上的神经元中,这需要Size of two-dimensional Map编辑框中设定神经元的数量。显然,输入的6个数据点分属三个类别,因此这里填写2,网络会生成2x2平面网格。在对话框的下方会显示网络示意图。图2-5训练之前2.2.3训练SOM网络(4)单击Next按钮,进入Train Network步骤,单击Train按钮,系统就开始训练SOM网络,默认迭代次数为200次,如图训练完成后,在对话框的右侧,4个具有显示功能的按钮将被激活。第一个按钮显示SOM网络权值大小(Plot SOM Neighbor Distances)如图图2-6显示权值大小图中蓝色小六边形表示4个神经网络节点,神经元之间的区域表示连接权值。越明亮的区域表示权值越大,黑暗区域则表示权值越小,用黑色区域连接的两个神经元,其特征相差较大。第二个按钮显示权值平面(Plot SOM Weight Planes),输入训练样本向量有几个维度,就有几张平面图。颜色越深表示练习越强。如图图2-7权值平面第三个按钮显示样本分类结果(Plot SOM Sample Hits),如图,图中显示了4个神经元节点。以及每个被分到每个神经元的样本个数。图2-8分类结果网络的分类结果与预期相同,将6个点分成了3类,每类两个点。第四个按钮显示权值位置(Plot SOM Weight Position)。这里有4个神经元,输入向量为二维向量,因此每个神经元的权值也是二维的,可以在平面上显示出来,如图图2-9权值位置2.2.4仿真测试仿真测试。单击Next按钮,进入Evaluate Network步骤。在对话框的右侧,用户可以在input下拉框中选择输入的测试数据。先在MATLAB命令窗口定义好测试数据:图2-10仿真测试保存网络和数据。单击Next按钮,进入Save Result步骤,如图图2-11保存结果b是在单位圆上的一系列点,在input下拉框中选择b,再单击下方的Test Network按钮,仿真就完成了,如图,按钮下方的4个按钮从灰色变为激活状态,这4个按钮的功能与第四步训练完成时4个按钮的功能相同。单击Simple Script和Advance Script按钮可以将网络保存为命令脚本的形式。如果要将网络、输入数据和输出数据导出到工作区间,只需在Save data to Workspace组合框内勾选相应选项,再单击Save Result按钮即可。此外,在对话框的下方,还可以单击Neural Network Diagram按钮查看网络结构,或单击Simulink Diagram按钮将网络保存为Simulink模型,如图图2-12Simulink模型在这里将网络保存为som_test.m脚本文件,然后在脚本中添加变量a的定义语句及测试代码。图2-13测试结果分类在训练样本中,第一类样本点在单位圆的零度附近,第二类样本点在单位圆90度附近,第三类样本点在单位圆180度附近,测试数据的分类结果与训练数据的分别情况吻合。(6)完成。单击Finish按钮,完成聚类过程。第三章基于nftool的神经网络拟合3.1nftool工具箱概述神经网络工具箱提供了拟合工具以解决数据拟合问题。在数据拟合中,神经网络需要处理从一个数据集到另一个数据集的映射,如通过原材料价格、低价、银行利率等因素估价房价,原材料、地价和银行利率属于一个数据群,在网络中是输入,房价则属于另一个数据集,在网络中是输出。神经网络的拟合工具可用来收集数据,建立和训练网络,并用均方误差和回归分析来评价网络的效果。工具箱采用前向神经网络来完成数据拟合,包括两层神经元,隐藏层使用sigmoid传输函数,输出层则是线性的。给定足够的训练数据和足够的隐藏层神经元,网络能良好的拟合多维数据。训练时网络采用Levenberg-Marquardt算法,即trainlm函数,当内存不足时使用trainscg函数。3.2神经网络拟合工具案例3.2.1nctool界面介绍及启动神经网络对话框(1)启动拟合工具,在MATLAB命令窗口中输入nftool并按Enter键,即可启动神经网络拟合工具对话框(Neural Network Fitting Tool)。也可以在命令窗口输入nnstart启动神经网络开始对话框,然后在该对话框内选择拟合工具。3.2.2MATLAB输入数据选择变量在MATLAB中生成一段加入了均匀噪声的正弦函数数据,然后用nftool进行拟合。数据如下:x=0:.2:2*pi+.2;rng(2);y=sin(x)+rand(1,length(x)*0.5;plot(x,y,o-);数据曲线如图:图3-1待拟合数据(1)启动拟合工具,在MATLAB命令窗口中输入nftool并按enter键,即可启动神经网络拟合工具对话框(Neural Network Fitting Tool)。如图图3-2拟合工具对话框(2)单击Next按钮,进入Select Data步骤。拟合过程是一个数据到另一个数据集的映射,因此这里不但要指定输入数据,还要指定目标数据,即输入数据的期望输出。在对话框左方的Inputs下列框中选择x,在Target下拉框中选择y,如图图3-3设定数据(3)单击Next按钮继续,进入Validation and Test Data步骤。系统将把数据分为三部分:训练数据,验证数据和指定数据。三种数据的功能各不相同:l 训练样本,用于网络训练,网络根据训练样本的误差调整网络权值和阈值。l 验证样本,用于验证网络的推广性能,当推广性能停止提高时,表示网络已达到最优状态,此时网络就停止训练。l 测试样本,测试样本用于测试网络的性能。网络不再根据测试样本的结果做任何调整。一般,训练样本用于调整网络权值和阈值,验证样本则用于调整网络结构,如隐层神经元的个数。在这里,默认随机地将70%的数据划分为训练样本,15%的数据划分为验证样本,剩下15%的数据划分为测试样本。用户也可以自行修改这一比例,但只能在5%至35%之间以5%为布进的值之间选取,这里使用默认设置。如图图3-4设置样本比例(3)单击Next按钮,进入、Network Architecture步骤。这一步需要在Number of Hidden Neurons编辑框中输入隐含层神经元的个数,默认值为10。如果设置完成后,发现训练效果不够理想,可以返回到这一步,增大神经元的个数。这里采用默认值,网络结构如图图3-5网络结构3.2.3训练SOM网络 (5)单击Next按钮,进入Train Network步骤。单击Train按钮进行训练,系统弹出训练对话框显示训练过程,默认最大迭代次数为1000次,训练完成后,在对话框右侧将会显示训练样本、验证样本和测试样本的均方误差(MSE)和R值。R值衡量了目标数据(期望输出)与实际输出之间的相关性,如果相关性为1说明两者完全相符,如果相关性为0,则说明数据完全随机。MSE和R值如图图3-8训练完成后的MSE和R值训练完成时,对话框右侧的三个按钮被激活。第一个按钮显示适应度(Plot Fit),窗口中同时显示训练样本、验证样本和测试样本的目标输出与实际输出,如图图3-9显示适应度第二个按钮显示误差直方图(PLot Error Histgram)。误差的计算公式:误差=目标输出-实际输出,如图图3-10误差直方图第三个按钮显示回归图(plot Regression)。回归图窗口被划分为4个坐标轴,分别显示为训练样本、验证样本、测试样本及所有数据的回归图,如图图3-11回归图3.2.4仿真测试(6)单击Next按钮,进入Evaluation Network步骤。在右方的Inputs下拉框和Targrts下拉框中,可以指定测试数据及期望输出。这里使用正弦函数值作为测试: xx=0:.1:2*pi+.2; yy=sin(xx);在Inputs下列框中选择xx,在Target下拉框中选择yy,单击Test Network按钮,即可进行仿真测试。测试完成后,在Test Network按钮下方将会显示MSE和R值,Plot Fit、PLot Error Histgram和Plot Regression三个按钮将被激活,作用与第(5)步中的这三个按钮相同。(7)单击Next按钮,进入Save Result步骤。Simple Script和Advance Script按钮用于生成MATLAB脚本文件,该脚本文件可以产生与nftool相同的神经网络。可以将网络、输入数据和输出数据导出到工作区间,只需在Save data to Workspace组合框内勾选相应选项,再单击Save Result按钮即可。此外,在对话框的下方,还可以单击Neural Network Diagram按钮查看网络结构,或单击Simulink Diagram按钮将网络保存为Simulink模型,如图图3-12保存为Simulink模型图3-13网络图在这里,我们单击Simple Script,生成fit_test。M脚本文件,并在脚本文件中增加变量定义和仿真测试的语句。(8)完成。单击Finish按钮,结束数据的拟合。图3-14拟合结果第四章基于nprtool的神经网络模式识别4.1nprtool工具箱概述模式识别又称模式分类,广义的模式识别包括有监督的识别和无监督的识别,分别对应有的目标数据和无目标数据的训练过程,前者的训练数据所属类别未知,而后者的训练数据所属类别已知。神经网络模式识别工具中所指的模式识别主要指后者,即有监督的分类。对于无监督的分类问题,可以使用神经网络分类/聚类工具加以解决。在模式识别问题中,输入的数据将被划分为事先预定好的某一个类别,类别的数量是确定的,每个输入样本最终都会被归为预定好的某一类别中。神经网络模式识别工具可以用来收集数据,创建和训练神经网络,并用均方误差(MSE)和混淆矩阵来评价网络。系统使用一个两层(不包括输入层和输出层)的前向网络,隐含层和输出层都使用sigmoid函数,训练时采用量化连接梯度训练函数,就trainscg函数。4.2神经网络模式识别工具案例4.2.1nprtool界面介绍及启动神经网络对话框在MATLAB命令窗口输入nprtool并按Enter键,可以打开神经网络识别对话框(Neural Network Pattern Recognition Tool),如图图4-1神经网络模式识别对话框4.2.2MATLAB输入数据选择变量定义二维平面上的14个点,分别标记为2类:X为坐标点,y为其类别序号。坐标点的位置和类别如图,圆形和三角形分别表示两种类别。图4-2坐标点的位置和类别使用神经网络模式识别工具对以上样本点做训练,然后识别新的输入数据,步骤如下:按照上文所述的方法打开神经网络模式识别工具。在聚类工具对话框中单击右下方的Next按钮,进入Select Data步骤。模式识别需要目标数据,因此这里需要指定输入和目标样本。值得注意的是,这里的目标样本需要表示为向量的形式,如果某样本属于N个类别中的第i类,则其对应的目标数据应写0,0,1,0,其中1是向量的第i个元素,因此需要对变量y做以下转换:在Inputs下列框中选择x,在Target下拉框中选择y0,如图,通过单选按钮Matrix columns和Matrix rows来指定数据存放的格式,默认按列存放,不需要修改。图4-3加载输入变量(1)单击Next按钮,进入Validation and Test Data步骤。与神经网络拟合工具类似,这里需要对数据集划分训练样本、验证样本和测试样本、采取默认设置即可。(2)单击Next按钮,进入Network Architecture步骤。此处指定隐含层神经元的个数,在Number of Hidden Neurons编辑框中输入20,表示创建20个隐含层节点。图4-4创建20个隐含层节点4.2.3训练SOM网络(1)单击Next按钮,进入Train Network步骤。单击Train按钮,系统就开始训练,默认迭代次数为1000次,训练完成后将在对话框中显示训练样本、验证样本和测试样本的均方误差和错分率。错分率是指将样本中的数据错误的划分为另一类的比例。训练完成时的MSE和错分率如图图4-5MSE和错分率可以看到,三类样本的错分率均为0。此时,Plot Confusion与Plot ROC两个按钮处于激活状态。Plot Confusion按钮用于显示混淆矩阵。混淆矩阵显示了训练、验证和测试样本中每一个类别含有的样本个数,以及网络输出中每一个类别含有的样本个数,并显示正确划分和错误划分的比例,如图图4-6混淆矩阵4.2.4仿真测试(1)单击Next按钮,进入Evaluate Network步骤。在对话框右侧的Inputs和Targets下拉框中输入测试数据。在MATLAB命令窗口定义测试数据。Xt是包含529个样本点的测试样本,与其对应的目标数据是未知的,但系统必须输入目标样本方可进行仿真,这里只要输入一种格式符合要求的目标变量即可:图4-7混淆矩阵在Input下拉框中选择xt,Target下拉框中选择yt,然后单击Test Network按钮,即可进行仿真测试,测试完成后将显示MSE值和错分率,由于目标数据是随机指定的,因此此处这两个值没有实际意义。图4-8仿真测试图4-9仿真测试(1)单击Next按钮,进入Save Result步骤。与拟合工具类似,在这一步可以保存网络和变量,或者将网络导出为脚本文件或Simulink模型。运行脚本,如图图4-10测试分类结果分类的效果良好,在x=3,y=1附近有两个比较接近、但分属两个不同之类的点,也被网络准确的区分开了。(8)完成,单击Finish按钮,完成分类过程。第五章总结与展望5.1总结对于本论文的主要工作总结如下:首先介绍了MATLAB神经网络工具箱为用户提供了丰富的函数接口供用户调用。这些函数是进行神经网络仿真程序设计的基础,可以简单地将他们组合使用,也可以按照自己的构想修改神经网络的结构,甚至设计自定义的神经网络。需要注意的是,源文件名及路径名不能是汉字,否则读取文件失败。第二,把MATLAB 子界面保存于文件cansaichild1.fig和cansaichild1.m中,用户只要在数据输入文本框中输入需要拟合的数据点, 在弹出式菜单中选择拟合阶数,然后单击控制按钮即可实现描点和曲线拟合,并且可以根据拟合阶数的不同进行多次拟合, 以便从中找到最佳拟合。另外在该界面内, 还能够通 过选取不同的显著性水平对拟合曲线做相应的回归分析和相应显著性水平的带置信区间的预测。第三,做好“软件交互功能宏观规划设计”,想清“各类控件的使用”,安置好“工具箱背景色,静态文本及其字体选择,图形框,选项下拉菜单等单元的设置”等等相关工作。考虑布局时最好做一张草图,在搭建好基础框架后,询问模拟客户(如使用的教师、同学等)的需求进行修改。然后,开始实际功能的实现,程序调试,直到将搭建的工程图纸变为可以供模拟客户共同使用的实用小具。图形界面的大致生成过程(包括静态文本和编辑框的生成;坐标方格控制键的形成;基本功能函数的激发和回调;相关数据图形结果的输出、保存、打印等等);该界面说明(适用范围、如何使用、版本说明等信息)。最后,控制系统和控制算法使用Matlab的M文件来设计基于GUI神经网络的PID控制器;并用M文件设计各实验的图形用户界面将虚拟实验设备和智能控制系统、win32联系在一起;最后MATLAB封装整个系统。经过使用表明,本系统基本达到了预期的设想,基本实现了在虚拟环境下进行智能控制实验的目的,并且可以通过GUI进行实验观察对比,通过改变,的值来查看曲线,查看控制效果并进行对比实验。5.2展望基于GUI神经网络算法设计实现涉及多方面的理论、方法和技术,本论文还有许多新的问题需要解决,需要在实际应用中不断积累和完善,在以下几个方面,还需要做进一步的研究和开发。一、论文只考虑了NCTOOL、NFTOOL自组织神经网络设计的基本组成,并未在界面统计等方面进行深入发掘。使得系统只考虑了一些简单情况,如何应付复杂的界面信息还值得加强,使得一些接口还不够完善。可以进一步完善GUI界面的相关字段,增加界面信息的完整性。二、MATLAB在界面调试上还存在一些问题,不过都是预期可以解决的。三、如果语言使用者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。基本步骤如下:软件基本功能和使用者需求分析;软件界面规划(包括窗口初始位置和大小设计;基本对象的几何布局);新建对象的属性设置:标准菜单及用户定制菜单的制作:新建图形对象的齐整化;回调函数的编写:软件封装打包成.m文件:软件手册及其版本说明:在同学们中发布使用。参考文献1任丹,陈学峰.手写数字识别的原理及应用J.计算机时代. 2007(03). 2龚才春,刘荣兴.基于整体特征的快速手写体数字字符识别J.计算机工程与 应用. 2004(19).3李涛.BP神经网络在字符识别中的设计改进J.达县师范高等专科学 报.2004(02).4陆锋,伊卫星,袁晓辉.神经网络模式识别对金融票据中数字特征的识别方法 研究J. 苏州大学学报(工科版).2003(04).5张丽,杨静宇,娄震. 基于置信度的手写体数字识别多分类器动态组合J. 计算机工程.2003(16).6蔡元明.神经网络识别手写体数字预处理后样本空间凸集性研究,中国科学院 半导体所硕士学位论文D.保存地点:华中科技大学图书馆,1995.6.7张立明.人工神经网络的模型及其应用M.上海:复旦大学出版社,1992.156170.8柳回春,马树元,吴平东.基于结构特征的手写体数字识别算法J.计算机工程.2002, 28(11):228.9武强,童学锋,季隽.基于人工神经网络的数字字符识别J.计算机工程.2003,29(14): 112132.10陈伟,马如雄,郝艳红.基于MATLAB的BP人工神经网络设计J.电脑学习.2005(2):3031.11Hu,J.,Yan,H.,Amodel-basedsegmentationmethodforhandwrittennumeralstrings, ComputerVisionandImageUnderstandingN,70(3),1998,383403.12Rumelhart D E,Mcclelland J L.Parallel Distributed ProcessinM.Cambridge:MIT Press,1986. 13Cheng R,Gen M,Tsujimura Y.A tutorial survey of jobshop scheduling problems using genetic algorithms representationJ.Computers and Industrial Engineering,1996,30 (4).14 WEI Xiao. MSP430 MCU M adapter technology and system design:Beijing :Beijings aerospace University Press, 2002.15 Hu can. MSP430 MCU M C Programming Language Design and Development. Beijing :Beijings aerospace University Press, 2002.16 Matthew water. Wiegand et al sensor principle and application. J,1999 Instrument and sensor technology, (9) 6-7. Zhang Fructus Polygoni.17 M Gas flow measurement. Beijing: Petrochemical Press, 1995.18 R.S.Medlock. The historical development of flow metering J.Measurement+ Control,1997.30外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论