神经网络1参考模板_第1页
神经网络1参考模板_第2页
神经网络1参考模板_第3页
神经网络1参考模板_第4页
神经网络1参考模板_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1/1814神经网络系统及其应用14.1、基本概念14.1.1人类两类思维模式人的思维有逻辑性和直观性两种不同的基本方式,逻辑性的思维是指根据逻辑规则进行推理的过程,它是将信息概念化,按串行的模式进行逻辑分析和推理。而直观性的思维是将分布式存储的信息并行协同处理的过程。譬如,我们常常无意识地将分布在人脑各部位的信息综合起来,结果忽然间产生想法或解决问题的办法,这种思维方式的根本在于以下两点:(1)信息是通过神经元上的兴奋模式分布存储在网络上;(2)信息处理是通过神经元之间同时相互作用的动态过程来完全的。14.1.2人工神经网络(ArtificialNewralNetwork)人工神经网络是模拟人的直观性思维模式,在现代生物学研究人脑组织所取得的成果基础上,用大量简单的处理单元广泛连结组成复杂网络,用以模拟人类大脑神经网络结构与行为。人工神经网络是一个非线性系统,其特色在于信息的分布式存储和并行协同处理。今天的人工神经网络工具已有人脑功能的基本特征:学习、记忆和归纳。学习:人工神经网可以被训练,通过训练实件来决定自身行为。记忆(概括):人工神经网络对外界输入信息的少量丢失或网络组织的局部缺损不敏感,正如大脑每日有大量神经细胞正常死亡,但不影响大脑的功能。联想(归纳):例如,对一张人像的一系列不完整的照片识别训练后,再任选一张缺损的照片让神经网络认别,网络将会作出一个完整形式人像照片的响应。14.2、神经网络模型14.2.1生物神经元模型图14.1神经元结构14.2.2人工神经元模型人工神经元是对生物神经元的简化和模拟,它是神经网络的基本处理单元。图14.2所示为一种简化的神经元结构。这是一个多输入,单输出的非线性元件,其输入输出关系:(14.2-1)x0=1θx1ω1iyix2ω2iΣΣ:ωnixn图14.2神经元结构模型:从其它细胞传来的输入信号:阈值。:从细胞j到细胞i的连接权值:传递函数。神经网络模型神经网络是由大量的神经元广泛互连而成的网络。人工神经网络(模型)是根据人脑原理将大量人工神经元连结构成一个神经网络去模拟人脑神经网络的特性。网络可分为若干层:输入层、中间层(中间层可为若干层)、输出层、如图14.3所示::....:::::::输入层中间层输出层图14.3神经网络如果每一层神经元只接受前一层神经元的输出称为前向网络。如果网络中任意两个神经元都可能有联接称为互相连接型网络。目前已有数十种神经网络模型,可分为三大类:前向网络(FeedforwardNNs)反馈网络(FeedbackNNs)自组织网络(Self-organizingNNs)有代表性的网络模型有感知器、BP网络、线性神经网络、Hopfield网络(FecdbackNNs)、自组织网络等。以下分别介绍几种有代表性的网络。感知器(Perceptron)美心理学家Rosenbla等于1958年提出了一个最基本的但具有学习功能的层状网络,由三层组成,既S(Sensory)层,A(Association)层和R(Response)层。其中,S层与A层是之间的耦合是固定的,A层为R层之间的耦合程度(权值)可通过学习改变。见图14.4SAR:::::图14.4感知器感知器的R层的单元特性(传递函数)采用符号函数(见14.2-2),当输入的加权和大于或等于阀值时,感知器输出为1,否则为O或为-1。1x≥of(x)=(14.4-2)0x<0显然,这类神经网络可方便地用于模式分类,但是,它也有严重的局限性。2线性神经网络线性神经网络也是一种简单的神经元模型,可由一个或多个线性神经元构成,与感知器输入的1或0不同。线性神经网络中神经元的传递函数为线性函数f(x)=x。因此,线性神经网络的输入输出之间是简单的比例关系。BP网络(BackpropagationNN)BP网络是一单向性播的多层单向网络,其结构如图14.2。网络除输入输出节点外,有一层或多层的隐层节点,同层节点中没有任何耦合。输入信号从输入层节点,依次传过各隐层节点,每一层节点的输出只影响下一层节点的输出。每个节点都是一个单元神经元结构,其单元特性(传递函数)通常采用Sigmoicl型。(14.2-3)或为双曲正切函数 BP网络采用的传递(变换)函数为可微的单调逆增函数,这对于网络的学习训练具有非常重要的意义。另外,可以证明,对于统一连续函数,都可用一个三层BP网络以任意希望的绝对精度来实现。(当然,尽管如此,为了减少隐层节点总数,有时还是宁愿采用多层BP网络)。因此,BP网络是一个非常重要的神经网络模型。4Hopfield网络(反馈网络)以上介绍的几种都是单向网络。网络中的每一层神经元都只接受前一层神经元的输出。而在反馈网络中,输入信号决定反馈系统的初始状态,然后系统经过一系列状态转移后,逐渐收敛于平衡状态。因此,反馈网络是一种动态网络,它需要工作一段时间才能稳定。稳定性是反馈网络的最重要问题之一。J.Hopfield在1982年发表的论文宣告了神经网络的第二次浪潮的到来,他表示,Hopfield模型可用作联想存储器。如果可把Lyapunov函数定义为最优函数的话,Hopfield网络还可用来解决快速最优问题。Hopfield网络的传递函数采用了对称饱和线性函数f(x)(14.2-4)x图14.5对称饱和线性函数5自组织网络人脑由巨量的神经细胞组成,但它们并非都起同样的作用,处于空间不同区域的神经细胞分工有所不同。例如,在听觉通道的层次上,其神经元与神经纤维在结构上的排列可能与频率有密切的关系,对于某个频率,相应的神经元可能具有更大更积极的响应。自组织神经网络模型的建立正是基于这样一种认识,它是一种无教师学习的神经网络。对于输入模式,神经网络的不同区域具有不同的响应特征,通常只有一个神经元或局部区域的神经元对输入模式有积极响应,同时,这一个过程是自动完成的。自组织神经网络模型有自组织特征映射,网络CPN模型等。自组织神经网络应用广泛,可用于语言识别,图象压缩,机器人控制,优化问题等。最后,应当认识到,人类神经网络不论结构还是功能都是经历了漫长的历程演变而成,而今天人工智能研究者提出的任何一个人工神经网络都只能说是对大脑组织与功能的一种朴素的模仿。任何一个神经元的结构都忽略了一些生物原形的特性,如没有考虑影响网络动态特性的时间延迟,输入立即产生输出;更重要的是,它们不包括同步或异步的影响(而这个特性原本十分关键)。但既便如此,人工神经网络这种朴素的模仿依然取得了很有影响的效果,显示了比一般方法更具有人脑的特征。如:从经验中学习的能力,在已有知识上进行概括的能力,完成抽取事物特征的能力等。14.3神经网络的学习算法如前所述,人工神经网络近似函数处理信息的能力完全取决于网络中各神经元之间的耦合权值。对于较大规模的网络,权值不可能一一设定。因此,网络本身必须具有学习的功能,既能够从系统模式的学习中逐渐调整权值,使网络整体具有近似函数或处理信息的功能。网络的这种学习过程亦被称之为训练。14.3.1学习方法按照学习方式,网络学习可分为两大类,有教师学习(Supervisedlearning)和无教师学习(unsupervisedlearning)。在有教师学习的方式中,网络的输出和希望的输出(即教师信号)进行比较,如果存在差错,则利用一些算法改变网络权值使差错减小。通常训练一种网络要求有许多这样配对的训练范例,通过使用训练范例集的范例,逐渐调整权值,直至整个训练范例集的差值达到可接受的程度。显然,很难认为这种完全通过比较学习结果和实际所需结果的学习方式便是人类大脑的学习机制,因为如果这样的话,又如何去解释这个实际所需结果是从何而来?因此,有观点认为无教师学习方式应更接近生物系统的学习机制。在无教师学习方式中,训练范例集仅由输入向量组成,学习算法修改网络权值,使其生成的输出向量是一致的,也就是说,若训练范例集中有两个充分类似的输入向量,它们应生成两个充分近似的输出向量,在这样一种统计分类的原则下,建立起输入-输出关系。14.3.2Hebb学习规则Hebb学习规则是一种无教师学习方法,其原理基于这样一个生物学研究发现:当连接着的神经元对同时处于兴奋状态时它们之间的突触是增加的,因此经常应用的路径将逐步增强(这可用来解释“习惯成自然”和“温故而知新”)。根据这个认识而设立的Hebb学习规则为:根据一对连接着的神经元受刺激的程度增加连结弧的权值,用符号可表示为:(14.3-1)ωij(k):调整前,神经元i到j的连接弧权值;ωij(k+1):调整后,神经元i到j的连接弧权值;:神经元I,j的激活水平。当神经元由(14.2-1)描述时,即Hebb学习规则可写成yi:神经元i的输出值和神经元j的输入值yj:神经元j的输出值和神经元j的输入值a——学习率常数14.4、神经网络的应用14.4.1应用概况人工神经网络由于具有大规模并行处理、自适应学习能力和分布式信息存储等特点,已经得到较多的应用。在实际应用方面,其应用已涉及到经济、化学工程、生物化学、自动控制、航空航天等许多领域,从控制理论和方法方面来说,其应用主要表现在以下方面。模式信息处理和模式识别最优化系统辩识复杂控制尤其是对于非线性系统,因其复杂性,至今尚无完整的系统解析方法和系统控制设计方法。利用神经网络来辩识和控制非线性系统,给这一领域带来了良好的前景。14.4.2应用举例(一)模式分类两类模式的分类,相当于在高维样本空间中,用一个超平面将两类样本分开。感知器神经元神经网络是由线性网络函数组成,特别适用于简单的模式分类。虽然用一个单感知器神经单元对一个简单的异或(XOR)函数也无法表示其输入输出关系。但是,也可证明。如果两类模式是线性可分的(存在一个超平面将它们分开),则算法一定收敛。以下是一个简单的模式分类问题。例14.1采用单一感知器神经元解决一个简单的分类问题:将二维平面上的四个输入矢量分为两类,其中两个矢量对应的目标值为1,另两个矢量对应的目标值为0,即输入矢量:目标分类矢量:解:该例题为MATLAB/NNETTOOLBOX中的一个示范程序,以下为具体程序清单,其中对各条指令及程序段的功能给出了详细说明:%Chp14_1Classificationwitha2-inputperceptron.echoonclc%=================================%INITP-Inititializesaperceptronlayer.%SIMUP-Simulatesaperceptronlayer.%TRAINP-Trainsaperceptronlayerwithperceptronrule.%=================================%CLASSIFICATIONWITHA2-INPUTPERCEPTRON:%Usingtheabovefunctionsa2-inputhardlimitneuronis%trainedtoclassify4inputvectorsintotwocategories.pause%Strikeanykeytocontinue...clc%DEFININGACLASSIFICATIONPROBLEM%=================================%ArowvectorPdefinesfour2-elementinputvectors:P=[-0.5-0.5+0.3+0.0;-0.5+0.5-0.5+1.0];%ArowvectorTdefinesthevector'stargetcategories.T=[1100];pause%Strikeanykeytoseeaplotofthesevectors...clc%PLOTTINGTHEVECTORSTOCLASSIFY%================================%WecanplotthesevectorswithPLOTPV:plotpv(P,T);%Theperceptronmustproperlyclassifythe4inputvectorsinP%intothetwocategoriesdefinedbyT.pause%Strikeanykeytodefininetheneuralnetwork...figureclc%DEFINETHEPERCEPTRON%=========================%PerceptronshaveHARDLIMneurons.Theseneuronsarecapable%ofseparatinganinputspacewithastraightlineintotwo%categories(0and1).%INITPgeneratesinitialweightsandbiasesforourneuron:[W,b]=initp(P,T)echooffk=pickic;ifk==2W=[-0.81610.3078];b=[-0.1680];endechoonclc%INITIALPERCEPTRONCLASSIFICATION%=================================%Theinputvectorscanbereplotted...plotpv(P,T)%...withtheneuron'sinitialattemptatclassification.plotpc(W,b)%Theneuronprobablydoesnotyetmakeagoodclassification!%Fearnot...wearegoingtotrainit.pause%Strikeanykeytotraintheperceptron...clc%TRAININGTHEPERCEPTRON%=======================%TRAINPtrainsperceptronstoclassifyinputvectors.%TRAINPreturnsnewweightsandbiasesthatwillforma%betterclassifier.Italsoreturnsthenumberofepochs%theperceptronwastrainedandtheperceptron'serrors%throughouttraining.%Trainingbegins...pleasewait...[W,b,epochs,errors]=trainp(W,b,P,T,-1);%...andfinishes.pause%Strikeanykeytoseeaplotoferrors...clc%PLOTTINGTHEERRORCURVE%========================%Heretheerrorsareplottedwithrespecttotrainingepochs:figureploterr(errors);pause%Strikeanykeytousetheclassifier...clc%USINGTHECLASSIFIER%====================%WecannowclassifyanyvectorwelikeusingSIMUP.%Letstryaninputvectorof[-0.5;0]:p=[-0.5;0];a=simup(p,W,b)pause%Strikeanykeytousetheclassifier...clc%Now,useSIMUPtotestwhether[0.3;-0.5]iscorrectly%classifiedas0.p=[0.3;-0.5];a=simup(p,W,b)echooffdisp('EndofNN_Class')程序运行后可得输入矢量图、网络训练后的分类结果及相应的误差变化如图14.6-14.8所示:图14.6输入矢量图图14.7分类结果图14.8误差变化曲线(二)系统辩识所谓系统辩识是指在输入和输出数据的基础上,从一组给定的模型类中确定一个与所测系统等价的模型,在实际应用中,通常的做法是先确定一个可能合适的模型结构,然后在模型输出和系统输出的差的平方和最小(最小二乘准则)的前提下求出模型的参数。利用神经网络辩识非线性动态系统,是指构造一个神经网络,然后根据系统输出与网络的输出来调整和更新网络的参数(权连结数值与阀值),使网络的映射与系统输入输出关系相同。这种经过学习的神经网络辩识模型,将对学习中未出现过的输入信号仍能产生期望的输出信号。以下是对一个线性系统进行辩识的例,由于是线性系统,所以选用线性网络来建模。这样,计算迅速,而且模型误差极小。例14.2线性网络在线性系统辩识中的应用。1问题描述对于有限冲击响应线性系统,有输入信号x,其周期为5秒,每25毫秒采样一次,信号x为time=0:0.025:5;x=sin(sin(time).*time*10);假设系统的输出测量值为t=filter([10.5–1.5],1,x);系统的输入、输出值如图14.9所示.(a)信号x(b)系统输出图14.9系统的输入、输出值网络设计此例中,应用一个线性网络来进行系统辩识.该网络设计为三个输入和一个输出,其输入由信号x的当前值和前两个时刻的值,可由函数delaysig生成p=delaysig(x,0,2)然后,可利用函数solvelin来设计一个线性网络[w,b]=solvelin(p,w,b)网络性能检验网络的权值和阈值确定后,可进一步利用函数simulin对网络性能进行检验并比较网络输出与系统实际输出结果。以下是相应的MATLAB源程序%Linearsystemidentification.clcpause%Strikeanykeytocontinue...clcti

温馨提示

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

评论

0/150

提交评论