文档库 最新最全的文档下载
当前位置:文档库 › 神经网络实现非线性系统设计

神经网络实现非线性系统设计

毕业设计(论文)

中文题目神经网络实现非线性系统设计英文题目Neural Network Nonlinear System

院系:

年级专业:

姓名:

学号:

指导教师:

职称:

2016年月日

【摘要】神经网络具有极强的非线性及自适应自学习的特性,常被用来模拟判断、拟合和控制等智能行为,成功渗透了几乎所有的工程应用领域,是一个在人工智能方向迅速发展的具有重大研究意义的前沿课题。

本文前两章主要介绍了神经网络的发展背景和研究现状,还有BP网络的结构原理及相关功能。然后,对如何利用GUI工具和神经网络原理设计非线性系统的基本流程进行了详细的阐述。最后,通过利用Matlab软件进行编程,以及是通过对BP神经网络算法及函数的运用,研究其在函数逼近和数据拟合方面的应用,并分析了相关参数对运行结果的影响。

【关键词】BP网络,GUI,非线性系统

【ABSTRACT】Neural network has a strong nonlinear and adaptive self-organizing properties, often used to simulate the behavior of intelligent decision-making, cognitive control, and the successful penetration of almost all engineering applications, is a rapid development in the direction of artificial intelligence leading subject of great research significance.

The first two chapters describes the background and current development issues, as well as the principle of BP network structure and related functions. Then describes how to use the GUI tools and neural network theory of nonlinear systems design basic flow. Finally, the use of Matlab programming and BP neural network algorithm function and study its application in terms of function approximation and data fitting, and analyzes the influence of relevant parameters on the results of running. 【keywords】BP network,GUI,Nonlinear System

目录

1. 绪论 (3)

1.1 神经网络的发展历程 (3)

1.2 神经网络的研究内容和局限性 (4)

1.2.1 神经网络的研究内容 (4)

1.2.2 神经网络研究的局限性 (5)

1.3 神经网络的应用 (5)

1.4 神经网络的主要特征 (6)

2 神经网络结构及BP神经网络 (7)

2.1 神经元与网络结构 (7)

2.1.1 人工神经元 (7)

2.1.2人工神经网络的构成 (8)

2.2 BP神经网络及其原理 (9)

2.2.1 BP神经网络定义 (9)

2.2.2 BP网络模型及其算法框图 (9)

2.3 BP神经网络的主要功能 (10)

3 BP神经网络在非线性系统中的应用 (11)

3.1 神经网络GUI实现非线性系统设计 (11)

3.1.1 GUI设计工具的菜单方式 (11)

3.1.2 图形用户界面设计窗口 (13)

3.2 GUI控制系统界面 (14)

3.2.1 GUI控制系统界面设计 (14)

3.2.2 运行效果 (16)

4 BP网络在非线性函数中的应用 (18)

4.1 BP网络在函数逼近中的应用 (18)

4.1.1 问题的提出 (18)

4.1.2 基于BP神经网络逼近函数 (19)

4.2.3 不同频率下的逼近效果 (21)

4.2.4 讨论 (23)

4.2 BP网络在函数拟合中的应用 (23)

4.2.1 问题的提出 (23)

4.2.2 不同隐层神经元数对BP网络拟合函数的影响 (24)

4.2.3 不同映射函数对BP网络拟合函数的影响 (25)

4.2.4 不同算法对BP网络拟合函数的影响 (28)

4.2.5 结果讨论 (30)

5 结束语 (32)

1. 绪论

人工神经网络(artificial neural network,ANN)是由很多的简易的神经元进行复杂的相互之间的连接而构成的一个繁杂的网络系统,它是人脑的基本的特征功能它通过模拟人脑的基本特性和信息处理方式,形成一个由大量称为神经元的简单处理单元构成的自适应非线性动态系统[1]。近些年来,神经网络在模拟决策和认知的方面越深入的发展,成为人工智能方向一个备受青睐的前沿课题。其具有适应性的简易的基本单元构成的互接的网络,它能模拟人脑神经系统对现实世界物体做出的各种反应。简单来说,它是一种模拟人脑思维的方式,其特点在于可以将分布式的存储里面的信息进行并行协同处理。由于神经元的不同,单个神经元和多个神经元的构成网络效果也是不一样的,单个神经元功能有限,构成的神经网络也是较为简单的网络。但是多个神经元所构成的网络就比较丰富了,能实现的功能行为也是多样的。它有着强大的非线性建模能力、自组织和自学习能力、可塑造能力、并行分布处理方式及良好的鲁棒性和容错性等特点,被广泛应用于科研与工程中,所以在很多领域比如模式识别,组合优化,预测等被科学家广泛的应用。

1.1 神经网络的发展历程

神经网络从二十世纪的诞生到今天已经快一个世纪了,头尾经过有了3个阶段:

1)19世纪90年代-20世纪60年代:研究的兴起

自1890年关于人脑结构与功能的研究专著拉开神经网络研究的序幕,到20世纪60年代为止,M-P模型、感知器模型和自适应线性网络等多种网络模型及理论都为神经网络的研究奠定了基础。

2)20世纪60年代-20世纪70年代:低潮的来临

时间到了1969年,人们对感应器进行思考,发现了其存在较大的缺陷以及

不足,例如简单的线性感知器不可能实现“异或”的逻辑关系,再加上计算机发展进去全盛时期,因而很多研究人员把目光移向了人工智能,神经网络发展逐渐的走向了萧条。但是,很多的科学家还是在对这方面的研究中投入了大量的经历,不愿意放弃对其进行的研究。其中,Grossberg和他夫人就对自适应的共振理论给予提出,并进行了相关的研究; Anderson提出了交互存储器等。正是拥有这些具有重大价值的科学研究成果,才推动了神经网络的复兴与再发展迈出巨大的一步。

3)20世纪80年代-90年代:复兴与再发展

伴随着科学的迅速发展,各个科学都取得巨大的进步,与此同时建立在多个复杂学科交叉的神经网络也开始蓬勃发展。随着各种资源和人力的投入,科学家逐渐意识到神经网络的巨大潜力。John Hopfield提出了具有开拓性的Hopfield 模型,但是寻求全局最优解的还需深入学习。

1.2 神经网络的研究内容和局限性

1.2.1 神经网络的研究内容

研究内容包含四个部分[4]:

(1)生物原型研究:探索人脑结构和神经细胞的功能机制,进行神经系统、生物学、脑神经学、心理学、动物解剖学、神经科学、病理学和其余的生物学的神经系统的专研。

(2)理论模型的建立:根据生物原型和基础理论的研究成果,寻求建立功能更全面、性能更强大的各类神经网络的结构、数据、仿真等。

(3)虚拟模型和算法研究:针对要探索的题目来建立相应的理论模型,以实现智能仿真或利用硬件建立模型,或者对所应用的向量算法的探索。这一系列的操作就是为了探索技术模型。

(4)针对神经网络研发的应用系统:在理论基础上建立知识工程,完成神经网络的软件模拟和硬件实现,构成相应的应用程序,比如,利用需要的信号或者模式解决问题、改良并排列筛选等。

1.2.2 神经网络研究的局限性

相关研究发展迅速但也存在局限性。当前存在的问题是受限于脑科学的现有成果,对人脑思维和记忆机制及对生物神经网络的模拟程度不够,尚未建立起成熟完整的理论体系,智能水平也不够高,无法很好的满足许多应用方面的要求。面对随时变化的实验目标,纷繁复杂的应用难题,花费了巨大的精力和资源,编制一些特定的程序、软件求解。但因缺乏统一的理论指导,这些软件往往带有经验性质不具备通用性,并且在软件设计、实际运行等诸多方面存在不小的缺陷。

1.3 神经网络的应用

神经网络理论利用自己独有的组成部分和解决问题的方法,在人工智能、复杂控制、模式处理、机电工程、医疗专业、银行证券等领域具有很大的使用空间[8]。主要应用在以下领域:

(1)模式处理。成功应用于图形、符号、手写体及语音辨识,检测图像的形状,复制和压缩处理等图像。

(2)优化组合。工业控制方面,比如工业生产控制、机械控制、电气控制和变结构优化控制等。

(3)机电工程。汽车系统的方案优化、河川径流的预测、水资源的规划、地震预报、声纳信号的跟踪和分析等。

(4)医疗专业。对医学设备检测出的数据进行智能判断,综合得出诊断意见。

(5)银行证券。能对商品价格、股票价格和企业可信度等进行短期预测,完成金融风险分析评估。

1.4 神经网络的主要特征

神经网络的下列特征是非常重要的

(1)并行分布处理

数据系统的数学建模一直被困扰的一个重要问题就是数据信息量太过庞大,以此建立一个高效迅速的数据处理预测模型非常重要。由于人工神经网络有重要的网络化结果,所以将不同的数据散布化是其中的一大特点,只有通过这样的多线程分布式并行处理才能够快熟高效的将庞大规模的大量历史数据进行巡逻分析,一起得到一个合理的神经网络模型。

(2)非线性映射

前文已述,智能建模方法相较于传统建模方法的最重要的优点其实是具备很强大非线性逼近能力,而现实中的工程难题绝大多数都是非线性的,因此人工神经网络可以很轻松的解决非线性的映射难题,也能够最大程度的逼近现实中的梳理关系,人工神经网络打破了传统的建立在线性关系上的机器的限制,使人类的处理信息和思考方式有了极大的提升。

(3)通过训练进行学习

神经网络的网络化结构是建立在一个个单个的神经元基础上的,而建立这些单一的神经元之间又是通过权重进行连接的,而建立和确定这些权重的就是通过历史数据训练得到的。由于神经网络神经元个数的庞大以及连接方式的问题,使得神经网络具备了重要的处理大量历史信息的功能,与此同时,即便是输入不完整的或者非正确的信息,也能够通过大量数据的学习来进行纠错和修正。

(4)适应与集成

神经网络具有大量的处理不确定性信息的能力,这也就保障了输入数据在不完整或者是缺失的情况下,神经网络依旧可以根据现有的条件来得到最近似逼近的模型。

2 神经网络结构及BP 神经网络

2.1 神经元与网络结构

神经网络的结构取决于它的基本处理单元和互连方法。

2.1.1 人工神经元

神经网络的信息是由一个个单独的类似生物的神经元作为基本单位进行处理的,每一个神经网络的神经元都是一个信息汇集处理和中转单位。图2.2是一种三个输入的结构模型。

图2.2 人工神经元结构模型

如果神经元j 的变量有多个xi (i=1,2,…,m )变量输入和一个yj 变量输出时,这几个变量的关系表达式为:

??

???=-=∑=)(1j j j m i i ij j s f y x w s θ 图2.3 输入-输出关系式

其中常量θj 是变量j 的临界值,Wij 是变量i 到j 的连接系数,f ()为神经元的活化函数。

2.1.2人工神经网络的构成

神经网络是通过一个一个的小神经元利用多种多样的连接方式构成的一个信息处理网络,所以不同的神经元连接在一起它们的处理信息能力也是不同的,不同的连接方式决定了神经网络功能的大小和种类,还控制着神经网络的信息整理功能。

神经网络模型可分为以下几种:

1)前向网络

最开始使用的神经网络连接结构,神经元根据输入层,中介层和输出层依次排列,形成了网络化的结构,输入信息又通过输入层进入人工神经网络,经过中间层,从输出层得到最终输出。

图2.4 前向网络结构

2)从输出到输入有反馈的前向网络

输出层通过对输入层的信息之间的反馈,这种类型的网络的作用是保存模式的序列,例如回归反向传播网络。

图2.5有反馈的前向网络结构

3) 层内互连的前向网络结构

每层神经元内部相互连接结合的前向网络。神经元之间相互作用,控制层内其他神经元的状态或者将网络分组以实现其他类型的前向网络不能完成的功能。

图2.6有相互结合的前向网络结构

2.2 BP网络模型及其算法原理

2.2.1 BP神经网络定义

BP神经网络(又叫做反向传播网络)是一种根据误差反向传播算法训练的多层前馈神经网络。输入层、中间层、输出层构成了整个神经网络的模型结构,其中中间层能够增加变成多层构造。每一层都是通过神经元相互连接,位于相同一层的神经元没有联系,网络的传递按照导师方法来实行。

2.2.2 BP网络模型及其算法框图

BP网络能够实现输入与输出的非线性映射关系,其算法模型如图2.8所示。

o 1 … o k … o l

W 1○ W k ○ W l ○

y 1○ y 2○ … ○ y j … ○y m

V 1 V m

○ ○ ○ ○ ○

x 1 x 2 … x i … x n-1 x n

图2.8 BP 算法前馈网络模型

其中T n n i x x x x x X ),,...,...,(121-=是输入向量;

T m j y y y y Y ),...,...,(21=是隐层输出向量;

T l k o o o O ),...,...(1=是输出层输出向量;

),...,...,(21m j V V V V V =是输入-隐层的权值矩阵;

),...,...,(21l k W W W W W =是隐层-输出的权值矩阵;

本文所采用的BP 神经网络算法,基本结构和前文所述的前向结构相同,都包含有输入层,中间层和输出层,输入信号和输入信息经过数据的预处理层进入人工神经网络,经过中间层的激励函数的处理,由输出层输出最终结果。

2.3 BP 神经网络的主要功能

BP 神经网络是前馈网络的核心,以其强大的映射和学习适应能力成为目前应用最广泛的神经网络模型之一。

BP 网络主要用于下述方面[13]:

(1)函数逼近:通过大量历史数据训练网络与目标函数近似;

(2)模式识别和分类:利用已知输入和待定输出找出之间关系;把数据信息按定义的适当方式进行分类;

(3)数据压缩:减少数据矢量维数以提高传存效率。

3 BP 神经网络在非线性系统中的应用

3.1 神经网络GUI 实现非线性系统设计

美国的mathworks 软件公司出品的Matlab 具有GUI(Graphical User Interfaces)功能,能够让客户利用计算机的操作设计和模仿神经网络,借此完成针对神经网络的非线性程序设计。

3.1.1 GUI 设计工具的菜单方式

在Matlab 的主界面中,选择File 菜单中的New 菜单选项,再选择其中的GUI 命令(如图),就会显示GUI 的设计模板。

图3.1 GUI

Matlab 为用户设计了4种GUI 模式以供选择使用(如图3.1),分别是:

(1)Blank GUI Defa )ult (()

空白模板,默认;

(2)GUI with Uicontro )s(l GUI 带控件对象的模板;

(3)GUI with Axes and M nu I (e )GU 带坐标轴与菜单的模板;

(4)Modal Question Dial g I (o G )U 带模式问题对话框的模板。

3.2 Blank GUI Default 图()

3.3 GUI with Uicontrols 图

图3.4 GUI with Axes and Menu

图3.5 Modal Question Dialog

3.1.2 图形用户界面设计窗口

打开GUI设计窗口,选择好设计模式,开始进行图形编辑设计。

图3.6 GUI设计窗口

3.2 GUI控制系统界面

3.2.1 GUI控制系统界面设计

(1)运行程序MATLAB,先在程序中输入字符“guide”,弹出一个窗口,选择while gui,在单击ok,会进入MATLAB GUI。单击“panel”,然后双击相应的控件,如图1。

图、控件

1panel

(2)更改控件title的属性变成“1”、再建立一个非线性函数,然后再把fontsize的属性更改成“8”,如图2,3。

图、控件属性

2 panel

图、控件修改各属性后图

3 panel

(3)增加static text,edit text和push button组件,更改好各个控件的属性参数如图4。

图4 添加各控件后图

(4)同理,将软件需要的其他控件一次添加,并修改好各控件的属性。添加,修改后如图5。

图5 添加及修改各控件后的图

(5)点击右键每一个控件,选取view callbacks目录下的callback,输入各部分功能实现代码。

3.2.2 运行效果

(1)代码编写完成,编译无误后,点击运行图标,如图6。

图6 运行按钮

(2)运行后的效果图,如图7。

图7 运行效果图

4 BP网络在非线性函数中的应用

4.1 BP网络在函数逼近中的应用

4.1.1 问题的提出

反向传播网络有很强的非线性映射功能,主要进行对函数拟合、函数逼近、数据预测等等。

要求制作一个反向传播网络,逼近()()

=+,然后得到一个逼

y x1sin k*pi/4*x

近BP网络的非线性函数。其中,先后利用1,2,4的频率参数来进行模拟,利用调节参数变量(例如隐藏层节点数量等等)得到信号的频率与隐藏层节点之间,隐藏层节点与函数逼近能力之间的关系。

BP网络由的构成是两种:正向和反向计算结合。在正向的计算中,首先输入的函数取值传到隐层的节点,经过中间我们自己设定的传递函数,再把所得到的信息通过隐层的节点输出到输出节点,最后输出这个结果。若输出的结果与期望值存在较大的误差,则是要进行反向的误差运算。将所得到的误差信号通过原先输出的通路返回,通过修改连接各个节点的权值使误差减小到可接受的范围。图4.0是BP神经网络的计算过程的流程图。

图4.0 BP神经网络的计算过程的流程图

4.1.2 基于BP神经网络逼近函数

步骤1:首先设定频率参数k=1,然后制作要逼近的非线性函数的曲线。得到如图4.1所示的函数曲线。

图4.1 要逼近的非线性函数曲线

步骤2:网络的建立

用newff()函数做一个BP网络结构。隐层神经元数量n能改变,先将其假定为n=3,那么输出层将有一个神经元。网络训练利用L-M算法来建立函数,其中选择输出层采用purelin函数,隐藏层的神经元传递采用tansig传递函数。

与此同时画一个网络输出曲线图,并和原来的函数相对比,得到如图4.2所示的结果。

相关文档
相关文档 最新文档