《人工智能导论》调研报告BP神经网络的非线性函数拟合1人工智能相关介绍1.1人工神经网络与matlab人工神经网络(ArtificialNeuralNetworks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。神经网络具有非线性自适应的信息处理能力,克服了传统人工智能方法对于直觉的缺陷,因而在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。神经网络与其他传统方法相组合,将推动人工智能和信息处理技术不断发展。近年来,神经网络在模拟人类认知的道路上更加深入发展,并与模糊系统、遗传算法、进化机制等组合,形成计算智能,成为人工智能的一个重要方向。MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱(NeuralNetworkToolbox,简称NNbox),为解决这个矛盾提供了便利条件。神经网络工具箱提供了很多经典的学习算法,使用它能够快速实现对实际问题的建模求解。在解决实际问题中,应用MATLAB语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络的设计者可以根据需要调用工具箱中有关神经网络的设计训练程序,使自己能够从烦琐的编程中解脱出来,减轻工程人员的负担,从而提高工作效率。1.2人工神经网络的研究背景和意义人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。人工神经网络就是模拟人思维的一种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。近年来通过对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:(1)通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。(2)争取构造出尽可能与人脑具有相似功能的计算机,即神经网络计算机。(3)研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。神经计算机的研究发展很快,已有产品进入市场。光电结合的神经计算机为人工神经网络的发展提供了良好条件。1.3神经网络的发展与研究现状1.3.1神经网络的发展神经网络起源于20世纪40年代,至今发展已半个多世纪,大致分为三个阶段。1)20世纪50年代-20世纪60年代:第一次研究高潮自1943年M-P模型开始,至20世纪60年代为止,这一段时间可以称为神经网络系统理论发展的初期阶段。这个时期的主要特点是多种网络的模型的产生与学习算法的确定。2)20世纪60年代-20世纪70年代:低潮时期到了20世纪60年代,人们发现感知器存在一些缺陷,例如,它不能解决异或问题,因而研究工作趋向低潮。不过仍有不少学者继续对神经网络进行研究。Grossberg提出了自适应共振理论;Kohenen提出了自组织映射;Fukushima提出了神经认知网络理论;Anderson提出了BSB模型;Webos提出了BP理论等。这些都是在20世纪70年代和20世纪80年代初进行的工作。3)20世纪80年代-90年代:第二次研究高潮进入20世纪80年代,神经网络研究进入高潮。这个时期最具有标志性的人物是美国加州工学院的物理学家JohnHopfield。他于1982年和1984年在美国科学院院刊上发表了两篇文章,提出了模拟人脑的神经网络模型,即最著名的Hopfield模型。Hopfield网络是一个互连的非线性动力学网络,它解决问题的方法是一种反复运算的动态过程,这是符号逻辑处理方式做不具备的性质。20世纪80年代后期到90年代初,神经网络系统理论形成了发展的热点,多种模型、算法和应用被提出,研究经费重新变得充足,使得研究者们完成了很多有意义的工作。1.3.2神经网络的现状进入20世纪90年代以来,神经网络由于应用面还不够宽,结果不够精确,存在可信度问题,从而进入了认识与应用研究期。1)开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。2)充分发挥两种技术各自的优势是一个有效方法。3)希望在理论上寻找新的突破,建立新的专用/通用模型和算法。4)进一步对生物神经系统进行研究,不断地丰富对人脑的认识。1.4神经网络的应用神经网络理论的应用取得了令人瞩目的发展,特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别、CAD/CAM等方面都有重大的应用实例。下面列出一些主要应用领域:(1)模式识别和图像处理。印刷体和手写字符识别、语音识别、签字识别、指纹识别、人体病理分析、目标检测与识别、图像压缩和图像复制等。(2)控制和优化。化工过程控制、机器人运动控制、家电控制、半导体生产中掺杂控制、石油精炼优化控制和超大规模集成电路布线设计等。(3)预报和智能信息管理。股票市场预测、地震预报、有价证券管理、借贷风险分析、IC卡管理和交通管理。(4)通信。自适应均衡、回波抵消、路由选择和ATM网络中的呼叫接纳识别和控制。(5)空间科学。空间交汇对接控制、导航信息智能管理、飞行器制导和飞行程序优化管理等。2神经网络结构及BP神经网络2.1神经元与网络结构人工神经网络(artificialneuralnetwork,ANN)是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相联的其它神经元,输入和输出之间的变换关系一般是非线性的。神经网络是由若干简单(通常是自适应的)元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力。神经网络是由大量的处理单元(神经元)互相连接而成的网络。为了模拟大脑的基本特性,在神经科学研究的基础上,提出了神经网络的模型。但是,实际上神经网络并没有完全反映大脑的功能,只是对生物神经网络进行了某种抽象、简化和模拟。神经网络的信息处理通过神经元的互相作用来实现,知识与信息的存储表现为网络元件互相分布式的物理联系。神经网络的学习和识别取决于各种神经元连接权系数的动态演化过程。若干神经元连接成网络,其中的一个神经元可以接受多个输入信号,按照一定的规则转换为输出信号。由于神经网络中神经元间复杂的连接关系和各神经元传递信号的非线性方式,输入和输出信号间可以构建出各种各样的关系,因此可以用来作为黑箱模型,表达那些用机理模型还无法精确描述、但输入和输出之间确实有客观的、确定性的或模糊性的规律。因此,人工神经网络作为经验模型的一种,在化工生产、研究和开发中得到了越来越多的用途。2.1.1生物神经元人脑大约由1012个神经元组成,神经元互相连接成神经网络。神经元是大脑处理信息的基本单元,以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触(Synapse,又称神经键)组成。如图1所示。图1生物神经元从神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近。当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突触前膜将向突触间隙释放神经传递的化学物质。2.1.2人工神经元归纳一下生物神经元传递信息的过程:生物神经元是一个多输入、单输出单元。常用的人工神经元模型可用图2模拟。图2人工神经元(感知器)示意图当神经元j有多个输入xi(i=1,2,…,m)和单个输出yj时,输入和输出的关系可表示为:)(1jjjmiiijjsfyxws其中j为阈值,wij为从神经元i到神经元j的连接权重因子,f()为传递函数,或称激励函数。2.1.3人工神经网络的构成神经元的模型确定之后,一个神经网络的特性及能力主要取决于网络的拓扑结构及学习方法。神经网络连接的几种基本形式:1)前向网络前向网络结构如图3所示,网络中的神经元是分层排列的,每个神经元只与前一层的神经元相连接。神经元分层排列,分别组成输入层、中间层(也称为隐含层,可以由若干层组成)和输出层。每一层的神经元只接受来自前一层神经元的输入,后面的层对前面的层没有信号反馈。输入模式经过各层次的顺序传播,最后在输出层上得到输出。感知器网络和BP网络均属于前向网络。图3前向网络结构2)从输出到输入有反馈的前向网络其结构如图4所示,输出层对输入层有信息反馈,这种网络可用于存储某种模式序列,如神经认知机和回归BP网络都属于这种类型。图4有反馈的前向网络结构3)层内互连前向网络其结构如图5所示,通过层内神经元的相互结合,可以实现同一层神经元之间的横向抑制或兴奋机制。这样可以限制每层内可以同时动作的神经元素,或者把每层内的神经元分为若干组,让每一组作为一个整体进行运作。例如,可利用横向抑制机理把某层内的具有最大输出的神经元挑选出来,从而抑制其他神经元,使之处于无输出状态。图5有相互结合的前向网络结构4)相互结合型网络相互结合型网络结构如图6所示,这种网络在任意两个神经元之间都可能有连接。Hopfield网络和Boltzmann机均属于这种类型。在无反馈的前向网络中,信号一旦通过某神经元,该神经元的处理就结束了。而在相互结合网络中,信号要在神经元之间反复传递,网络处于一种不断变化状态的动态之中。信号从某初始状态开始,经过若干次变化,才会达到某种平衡状态。根据网络的结构和神经元的特性,网络的运行还有可能进入周期振荡或其他如混沌平衡状态。图6结合型网络结构综上,可知神经网络有分层网络、层内连接的分层网络、反馈连接的分层网络、互连网络等四种结构,其神经网络模型有感知器网络,线性神经网络,BP神经网络,径向基函数网络,反馈神经网络等,本文主要学习研究了BP神经网络,以及BP神经网络在函数逼近和样本含量估计两个实例中的应用分析。2.2BP神经网络及其原理2.2.1BP神经网络定义BP(BackPropagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。2.2.2BP神经网络模型及其基本原理BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。图7为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方式,同一层之间不