12、神经网络预测法人工神经网络ArtificialNeuralNetwroks-----ANN1.引言利用机器模仿人类的智能是长期以来人们认识自然、改造自然和认识自身的理想。研究ANN目的:(1)探索和模拟人的感觉、思维和行为的规律,设计具有人类智能的计算机系统。(2)探讨人脑的智能活动,用物化了的智能来考察和研究人脑智能的物质过程及其规律。2.人工神经网络概述什么是人工神经网络?T.Koholen的定义:“人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。”神经网络原理神经生理学和神经解剖学的研究表明,人脑极其复杂,由一千多亿个神经元交织在一起的网状结构构成,其中大脑皮层约140亿个神经元,小脑皮层约1000亿个神经元。人脑能完成智能、思维等高级活动,为了能利用数学模型来模拟人脑的活动,导致了神经网络的研究。神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的基本单元。每个神经元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它较短分支—树突组成。图1.单个神经元的解剖图神经元由四部分构成:(1)细胞体(主体部分):包括细胞质、细胞膜和细胞核;(2)树突:用于为细胞体传入信息;(3)轴突:为细胞体传出信息,其末端是轴突末梢,含传递信息的化学物质;(4)突触:是神经元之间的接口(104~105个/每个神经元)。通过树突和轴突,神经元之间实现了信息的传递。神经元具有如下功能:(1)兴奋与抑制:如果传入神经元的冲动经整和后使细胞膜电位升高,超过动作电位的阈值时即为兴奋状态,产生神经冲动,由轴突经神经末梢传出。如果传入神经元的冲动经整和后使细胞膜电位降低,低于动作电位的阈值时即为抑制状态,不产生神经冲动。(2)学习与遗忘:由于神经元结构的可塑性,突触的传递作用可增强和减弱,因此神经元具有学习与遗忘的功能。决定神经网络模型性能三大要素为:(1)神经元(信息处理单元)的特性;(2)神经元之间相互连接的形式—拓扑结构;(3)为适应环境而改善性能的学习规则。神经网络的分类目前神经网络模型的种类相当丰富,已有近40余种神经网络模型。典型的神经网络有多层前向传播网络(BOP网络)、Hopfield网络、CMAC小脑模型、ART网络、BAM双向联想记忆网络、SOM自组织网络、Blotzman机网络和Madaline网络等。根据神经网络的连接方式,神经网络可分为三种形式:(1)前向网络如图所示,神经元分层排列,组成输入层、隐含层和输出层。每一层的神经元只接受前一层神经元的输入。输入模式经过各层的顺次变换后,由输出层输出。在各神经元之间不存在反馈。感知器和误差反向传播网络采用前向网络形式。(2)反馈网络该网络结构在输出层到输入层存在反馈,即每一个输入节点都有可能接受来自外部的输入和来自输出神经元的反馈。这种神经网络是一种反馈动力学系统,它需要工作一段时间才能达到稳定。Hopfield神经网络是反馈网络中最简单且应用最广泛的模型,它具有联想记忆的功能,如果将Lyapunov函数定义为寻优函数,Hopfield神经网络还可以解决寻优问题。(3)自组织网络网络结构如图所示。Kohonen网络是最典型的自组织网络。Kohonen认为,当神经网络在接受外界输入时,网络将会分成不同的区域,不同区域具有不同的响应特征,即不同的神经元以最佳方式响应不同性质的信号激励,从而形成一种拓扑意义上的特征图,该图实际上是一种非线性映射。这种映射是通过无监督的自适应过程完成的,所以也称为自组织特征图。Kohonen网络通过无导师的学习方式进行权值的学习,稳定后的网络输出就对输入模式生成自然的特征映射,从而达到自动聚类的目的输出节点输入0x1x2x图自组织神经网络神经网络学习算法神经网络学习算法是神经网络智能特性的重要标志,神经网络通过学习算法,实现了自适应、自组织和自学习的能力。目前神经网络的学习算法有多种,按有无导师分类,可分为有导师学习(SupervisedLearning)、无导师学习(UnsupervisedLearning)和再励学习(ReinforcementLearning)等几大类。在有导师的学习方式中,网络的输出和期望的输出(即教师信号)进行比较,然后根据两者之间的差异调整网络的权值,最终使差异变小。在无导师的学习方式中,输入模式进入网络后,网络按照一预先设定的规则(如竞争规则)自动调整权值,使网络最终具有模式分类等功能。再励学习是介于上述两者之间的一种学习方式。图有导师指导的神经网络学习图无导师指导的神经网络学习神经网络特征神经网络具有以下几个特征:(1)能逼近任意非线性函数;(2)信息的并行分布式处理与存储;(3)可以多输入、多输出;(4)便于用超大规模集成电路(VISI)或光学集成电路系统实现,或用现有的计算机技术实现;(5)能进行学习,以适应环境的变化。神经网络控制的研究领域1基于神经网络的系统辨识①将神经网络作为被辨识系统的模型,可在已知常规模型结构的情况下,估计模型的参数。②利用神经网络的线性、非线性特性,可建立线性、非线性系统的静态、动态、逆动态及预测模型,实现非线性系统的建模和辨识。2神经网络控制器神经网络作为实时控制系统的控制器,对不确定、不确知系统及扰动进行有效的控制,使控制系统达到所要求的动态、静态特性。3神经网络与其他算法相结合将神经网络与专家系统、模糊逻辑、遗传算法等相结合,可设计新型智能控制系统。4优化计算在常规的控制系统中,常遇到求解约束优化问题,神经网络为这类问题的解决提供了有效的途径。目前,神经网络控制已经在多种控制结构中得到应用,如PID控制、模型参考自适应控制、前馈反馈控制、内模控制、预测控制、模糊控制等。神经网络研究的发展(1)第一次热潮(40-60年代未)1943年,美国心理学家W.McCulloch和数学家W.Pitts在提出了一个简单的神经元模型,即MP模型。1958年,F.Rosenblatt等研制出了感知机(Perceptron)。(2)低潮(70-80年代初):(3)第二次热潮1982年,美国物理学家J.J.Hopfield提出Hopfield模型,它是一个互联的非线性动力学网络.他解决问题的方法是一种反复运算的动态过程,这是符号逻辑处理方法所不具备的性质.1987年首届国际ANN大会在圣地亚哥召开,国际ANN联合会成立,创办了多种ANN国际刊物。1990年12月,北京召开首届学术会议。人工神经网络研究的局限性(1)ANN研究受到脑科学研究成果的限制。(2)ANN缺少一个完整、成熟的理论体系。(3)ANN研究带有浓厚的策略和经验色彩。(4)ANN与传统技术的接口不成熟。一般而言,ANN与经典计算方法相比并非优越,只有当常规方法解决不了或效果不佳时ANN方法才能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断、特征提取和预测等问题,ANN往往是最有利的工具。另一方面,ANN对处理大量原始数据而不能用规则或公式描述的问题,表现出极大的灵活性和自适应性。目前,在人工神经网络的实际应用中,绝大部分的神经网络模型是采用BP网络和它的变化形式。BP网络主要用于:◆函数逼近◆模式识别◆分类◆数据压缩3、BP神经网络的数学模型学习过程由信号的正向传播与反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出(教师信号)不符合时,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此信号作为修正各单元权值的依据。3.1BP算法的基本思想:3.2BP算法基本步骤1.初始化网络各层的权值及神经元阈值。(一个小的随机数)2.向前传播输入:对每一样本,计算隐藏层和输出层每个单元的净输入和输出。BP算法基本步骤3.后向传播误差通过更新权值和偏置以反映网络的预测误差。BP算法基本步骤终止条件:更新权值较小正确分类的样本百分比超过预先指定的训练周期(实践中,权收敛可能需要数十万个周期)3·3例:从蠓虫分类说起•1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了两类蠓虫(midges).他们测量了这两类蠓虫每个个体的翼长和触角长,数据如下:•翼长触角长类别•1.641.38Af•1.821.38Af•1.901.38Af•1.701.40Af•1.821.48Af•1.821.54Af•2.081.56Af•翼长触角长类别•1.781.14Apf•1.961.18Apf•1.861.20Apf•1.721.24Af•2.001.26Apf•2.001.28Apf•1.961.30Apf•1.741.36Af后来有人抓到三只新的蠓虫,它们的触角长和翼长分别为(l.24,1.80);(l.28,1.84);(1.40,2.04).问它们应分别属于哪一个种类?解法一:•把翼长作纵坐标,触角长作横坐标;那么每个蠓虫的翼长和触角决定了坐标平面的一个点.其中6个蠓虫属于APf类;用黑点“·”表示;9个蠓虫属Af类;用小圆圈“。”表示.•得到的结果见图1•图1蠓虫的触角长和翼长思路:作一直线将两类蠓虫分开•例如;取A=(1.44,2.10)和B=(1.10,1.16),过AB两点作一条直线:•y=1.47x-0.017•其中X表示触角长;y表示翼长.•分类规则:设一个蠓虫的数据为(x,y)•如果y≥1.47x-0.017,则判断蠓虫属Apf类;•如果y<1.47x-0.017;则判断蠓虫属Af类.分类结果:(1.24,1.80),(1.28,1.84)属于Af类;(1.40,2.04)属于Apf类.图2分类直线图•缺陷:根据什么原则确定分类直线?•若取A=(1.46,2.10),B=(1.1,1.6)不变,则分类直线变为y=1.39x+0.071分类结果变为:(1.24,1.80),(1.40,2.04)属于Apf类;(1.28,1.84)属于Af类•哪一分类直线才是正确的呢?•因此如何来确定这个判别直线是一个值得研究的问题.一般地讲,应该充分利用已知的数据信息来确定判别直线.再如,如下的情形已经不能用分类直线的办法:•新思路:将问题看作一个系统,蠓虫的数据作为输入,蠓虫的类型作为输出,研究输入与输出的关系。神经元的数学模型图4神经元的数学模型3·4人工神经网络的数学模型其中x=(x1,…xm)T输入向量,y为输出,wi是权系数;输入与输出具有如下关系:miiixwfy1)(•θ为阈值,f(X)是激发函数;它可以是线性函数,也可以是非线性函数.例如,若记取激发函数为符号函数miiixwz1.0,0,0,1)sgn(xxx则S型激发函数:miiimiiixwxwzfy11,,0,,1)(,11)(xexf;1)(0xf或注:若将阈值看作是一个权系数,-1是一个固定的输入,另有m-1个正常的输入,则(1)式也可表示为:,)(xxxxeeeexf.1)(1xfmiiixwfy1)((1)•参数识别:假设函数形式已知,则可以从已有的输入输出数据确定出权系数及阈值。假设有P个训练样本,即有P个输入输出对(Ip,Tp),p=1,…,P,其中输入向量为:TpmppiiI),...,(1目标输出向量为(实际上的):TpnppttT),...,(1网络输出向量为(理论上的)TpnppooO),...,(1nipipiot12)(min(p=1,…,P)(2)记wij为从输入向量的第j(j=1,…,m)个分量到输出向量的第i(i=1,…,n)个分量的权重。通常理论值与实际值有一误差,网络学习则是指不断地把与比较,并根据极小原则修改参数wij,使误差平方和达最小:记•Delta学