您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于BP神经网络的函数拟合
基于BP神经网络的函数拟合摘要:随着科学技术的飞速发展,人工神经网络也迅速发展,它更是智能领域中的重要组成部分,现在它已经被广泛的应用到了数据处理、模式识别、机器控制、专家系统等多个领域之中,并且在预测领域得到了更深入的发展。BP神经网络是人工智能网络中的一个典型算法,而且它本身具有很强的非线性映射能力,解决一些非线性问题更是它最突出的一环。BP神经网络不止这-个优点,它的网络拓扑结构简单,而且具有较高的误差精度,并且它易于用编权实现,而它还具有很强的可操作性,等等。因此,BP神经网络的应用更加广泛,成为智能领域中的最重要的算法之一。本文就BP神经网络的基本原理进行论述,并且利用BP神经网络进行二元函数拟合,对相关数据误差进行分析,并讨论如何在拟合过程中选择合适的激励函数,以使得拟合函数逼近真实函数,最后,对函数拟合的相关知识进行总结。关键词:模式识别;BP神经网络;函数拟合;激励函数第一章绪论1.1人工神经网络研究意义人工神经网络[1]是为了进行信息处理而建立的一种数学模型,它之所以被称为神经网络是因为这一数学模型所应用的结构是一种类似大脑神经突触的联接结构。在很多领域,例如工程界、学术界等,通常称其为类神经网络,在更多的时候他们也简称其为“神经网络”。神经网络这一数学模型是由数据庞大的“神经”节点进行互联形成的一个结构,它也是一种运算模型。在这个模型中的每一个神经元节点都代表了一种特定的输出函数我们把这个特定的函数称作激励函数(activationfunction)[2],有时也称之为转换函数。每两个人工神经元节点之间的连接都会对通过的信息进行加权处理,对于这种加权处现,我们称它们为连接权系数或直接称它为权重(weight),这一操作间接的模拟了神经网络的记忆功能。网络的输出并不是固定不变的,它会根据网络的连接权系数、连接方式以及激励函数的不同而发生变化。它的理念是受到了一定的启发而形成的,生物的动作、思想是在生物(人或其他动物)神经网络的运作下产生的,这也为人工神经网络的产生提供了支持。一般来讲,人工神经网络是对学习方法(LeaningMethod)进行优化的算法,在网络中应用的学习方法一般均是基于数学统计学建立起来的,也就是说,它的优化有很大-部分来自于数学统计学,因此我们可以把人工神经网络看作是数学统计学的一个实际应用。一方面我们可以通过统计学的一些标准的数学方法来得到大量的局部结构空间,这些空间均能用函数来表达;在另一个方面,特别是在人工感知领域,它是人工智能学的一个分支,我们可以为其做一系列的决策方面的问题,它是通过数学统计学的方法来完成这一任务的。综上所述,人工神经网络在应用了数学统计学方面的一些方法后,它便有了一定的判断能力和决定能力,这一现象与人的思维很是相似,它的优势明显强于正式的逻辑学推理演算。人工神经网络具有很多分支,比如BP(BackPropagation)神经网络[3]、遗传算法等,其中最为典型的神经网络是BP神经网络,BP神经网络的优点非常多其中最为重要的优点是它具有自学习和自适应的特性,而且BP网络还具有鲁棒性和泛化性,这使得它在很多领域得到了广泛地应用,例如函数逼近、模式识别[4]、图像处理、预测等领域。人工神经网络特别适用于某些特定的领域,那些领域具有这样的特点:首先一点它缺乏一定的精确计算公式然而拥有着丰富的问题求解经验和数据。相反地,如果需要应用精确数学汁算,而且需要表达全部或本分的计算过程并且无法获得样本数据,这样的任务用神经网络来解决是不合适的。结合上面的问题,能够并且适合用神经网络来解决的问题必须具有以下几个特点:(1)这个问题拥有大量的实例或者能够产生大量合适的实例;(2)问题的规律和算法难于表达或不确定;(3)这一问题涉及到集合与集合间的映射关系;(4)该问题存在很多数据种类和数据量。1.2人工神经网络研究现状数学家W.Pitts和心理学家W.McCulloch在1943年进行合作,他们从数理逻辑角度出发,提出了一个MP模型,这一模型是神经元和神经网络最早的数学模型,这为神经网络的发展揭开了序幕。人工神经网络在经过半个多世纪的发展,现已逐渐形成一种成熟的理论并且得到了广泛的应用。目前,人工神经网络已成为一门涉及多种学科和领域的新兴的前沿交叉学科,比如计算机科学、智能控制、信息科学、脑神经科学和人工智能等,不仅如此,他还得到广大学者的高度关注并对其进行更为深入的研究。以McCelland和Rumelhart为首的科学家小组在1986年时首先提出了BP(BackPropagation)神经网络这一概念。这一概念提出以后,BP神经网络开始了它自己的发展过程,有高潮,有低谷,直到现在才趋向于稳定。BP神经网络是一种多层的前馈网络而且它的学习算法是一种误差逆向传播算法。BP神经网络是神经网络领域中目前被应用最广的模型之一,其更是能实现映射变换的前馈网络中最常用的网络之一。BP神经网络使用的修正算法是典型的误差反传算法,这一算法的使用使神经网络具有了学习和记忆能力。而且BP神经网络在理论上能够逼近任意的连续非线性函数:一个简单的三层BP神经网络便可以实现任意一个从n维到m维的映射,而且其思路清晰、易于编程、结构简单、精度较高、可操作性强,所以它在众多领域中得到了极为广泛地应用。但是BP神经网络本身存在着许多不足和缺点,如其容易陷于局部收敛、可能出现瘫痪现象等,这些缺点使得BP算法并不能在实际应用中处处得到胜任。正因为这些缺点与不足,在祌经网络飞速发展的这些年中,很多学者对BP神经网络进行了更为深入的研究和改进,他们提许多改进版的BP算法,如附加动量法、L—M算法等等,对BP算法进行改进的这些算法很显然成为这些年中有关BP神经网络研究的主要成果。第二章人工神经网络基本理论2.1人工神经网络的基本概念2.1.1人工神经元的基本描述人工神经网络所应用的工作原理以及网络结构,它们基本上都是从大脑的一些特性上反映过来的,比如活动规律和组织结构(大脑神经元网络)。通过对人脑的神经网络研究逐渐形成了人工神经网络,人工神经网络沿袭了人脑神经网络的一部分生物功能,即其记忆和学习功能。图1生物神经元结构图2.1.2人工神经元的数学模型[5]人工神经元是人工神经网络的基本组成单位,也是网络中处理信息的域基本单元。人工神经元在数学领域相当于一个多对一的非线性映射,它的数学模型可以用图2来进行描述。图2人工神经元的数学模型其中,js为输入值,阈值为,()f为传速函数,jy为输出值,中间椭圆为神经元。图2所表示的是一个人工神经元的数学模型,由图2和图2可以看出,人工祌经元与生物神经元的相似之处。人工神经元的输入端、输出端与生物神经元的树突相似,权值的加成与突触相似。人工神经元一般都是由三个部分构成的:(1)突触,与生物神经元的突触类似,其每一个突触的特征都由权值填充。权值的正负可以表示对该突触是激活还是抑制,其中,若其为正,则表示激活突触;若其为负,则表示抑制突触。尤其重要的是,如果突触j上出来了输入信号js,然后连到了神经元m上,那么这个信号将会乘以这个突触j的权重jw。(2)加权求和,上面一条已经简苹说明了信号输入后需乘以突触的权重,这个加权求和便是在这个基础上,把每个输入信号乘以突触的权重后相加,我们便得到了真正的输入值。由此可知,这一操作仅是一个线性的操作,这个操作的数学公式可为1njjiiiRwx。(3)激励函数,又称为传递函数,它的作用是为满足神经元突触的激活抑制电位的条件,它主要是为了限制人工神经元的输出值在激活或抑制突触范围之内。一般来说,每一个神经元的正常输出幅度的范围应该可写成一个为[-1,1]的区间或者可以写成[0,1]这样的一种单位闭区间。2.2人工神经网络的基本模型[6]人工神经网络是由人工神经元互联组成的,神经元间的不同连接方式将会产生不同的神经网络结构。因为每个神经元的连接方式是可以不同的,所以,人工神经网络的网络结构也会有所不同。经研究分析,它们基本上分为两大类,一类是反馈网络,也叫递归网络;另一类则是前馈网络,下面简要介绍这两种网络:(1)反馈神经网络。反馈神经网络是指能够使输出的结果反过来影响输入,并且使各个权重发生变化的网络,因此,反馈网络的信号需要能够从正向或反向进行传播。在反馈网络巾,可以用多个祌经元互相连接来形成一个祌经网络,新形成的这个祌经网络即能使信息进行正向传播,又能使信息进行反向传播,具体结构如3所示。图3反馈神经网络模型(2)前馈神经网络。前馈祌经网络是对神经元进行分层组织形成一个具有分层结构的神经网络,它又有单层前馈网络和多层前馈网络之分。前馈网络是由一层或几层神经元连接而成的,但是前馈网络中的神经元只在不同层间进行连接而同层间的神经元不存在互联。图4对前馈神经网络的网络结构进行了描述。图4前馈神经网络模型人工神经网络的实现过程可以分为两个阶段:(1)学习过程阶段;(2)工作过程阶段。学习过程,与它对应的是学习规则,学习规则本身就是网络连接权系数的调整规则,因此,简举来说,学习过程就是确定连接权系数的过祝。就拿BP神经网络来说,关于它的学习过程就非常明显了,它首先把一定数量的训练样本提供给网络,这里的训练样本也叫学习样本,然后再将从网络得到的实际输出与已给出的期望输出进行一下比较,最后再修改各层神经元之间的连接权系数,这样做的目的主要是为了使实际输出和期望输出两者之间产生的误差达到最小。通过上面一系列的修改,最后便得到了网络的一组新的连接权值的系数。工作过程则就是为了得到神经网络的输出结果,它把待处理的信息录入输入层,经过一系列的操作,从输出层得到输出结果,这便为网络的工作过程。2.3人工神经网络的学习(1)神经网络的学习方式[7]关于神经网络的学习,可以说这是一个去伪存真.的过程。神经网络的学习的过程就是对连接权系数进行调整的过程。也就是说,一个神经网络通过学习训练样本提供的实例,根据一定的规则调整连接权系数,用此来不断改善自己的性能,最后达到最理想的境界,这个境界就足当外部给予输入后,它便可做出一个比较正确的输出。在神经网络中,网络的学习也被称作为训练。上面所描述的便是神经网络的学习特征(或称之为训练特征)。在神经网络中,这一特征是其最重要的一个特征。关于神经网络的学习可以被分为三类,导师学习、无导师学习和强化学习,这是按照网络在学习时是否需要外部信总指导该网络的学习。(2)神经网络的学习规则[8]人工神经网络的学习规则也被称作学习算法,它决定了神经网络的学习效率和输出结果。学习算法是指在神经网络的学习过程中,需要运用什么样的方法对神经元的连接权系数进行调整,也就是说,学习规则是为了对连接系数的调整而存在的。因为不可能存在一种学习规则,这种规则能够适合所有的神经网络。因此,在设计和选抒学习规则时,需要充分考虑所做神经网络的自身结构以及该神经网络的学习特性。Hebb学习规则[9]和Delta学习规则[10]是当前关于神经网络学习的两个非常经典的学习规则。第三章BP神经网络的研究BP(BackPropagation)神经网络的基本原理是把一个输入矢量(由训练样本提供)经过隐含层的一系列变换,然后得到一个输出矢量,从而实现输入数据与输出数据间的一个映射关系。输入信息的正向传播,以及输出误差的反向传播,构成了BP网络的信息循环。BP算法根据输出误差来修改各神经元连接的连接权系数,其目的是使输出误差达到预记范围内。BP网络是一种有导师学习网络,因为,它需要实际输出与期望输出之如的误差来确定是否要修改神经元间的连接权系数。其中,期望输出便是该网络意义上的“导师”。BP网络具有对称性的网络结构。在BP网络小,输出端的每一个处理单元基本上都具有一个相同的激励函数。3.1BP神经网络的拓扑结构BP神经网络模型是一个三层网络,它的拓扑结构[11]可被划分为:输入层(InputLayer),输出层(OutputLayer),隐含层(HideLayer)。其中,输入层与输出层具有更重要的意义,因此它也可以为两层网络结构(把隐含层划入输入层,或者把隐含层去
本文标题:基于BP神经网络的函数拟合
链接地址:https://www.777doc.com/doc-5255891 .html