版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神经网络建模第1页,共47页,2023年,2月20日,星期一1、神经网络简介
人工神经网络是在现代神经科学的基础上发展起来的,旨在模拟人脑结构以及功能的一种抽象的数学模型,其中Hopfield神经网络、ART神经网络、BP神经网络是常用的网络。Hopfield神经网络是由相同的神经元构成的单元,是一类不具有学习能力的单层自联想网络,她的网络模型由一组可使某一个能量函数最小的微分方程组成。ART神经网络主要用于模式识别,她的不足之处在于对转换、失真和规模变化较敏感BP神经网络是误差反向传播的多层前向网络,其信息处理机制由神经元激活特性和网络拓扑结构决定,神经元的传递函数是非线性函数,网络结构由输入层、隐含层、输出层组成,同层节点间无关联,异层节点前向连接。
第2页,共47页,2023年,2月20日,星期一1.1、人工神经元模型人工神经网络的基本单元的神经元模型第3页,共47页,2023年,2月20日,星期一人工神经元的三个要素第4页,共47页,2023年,2月20日,星期一1.2激活(传递)函数的取法在Matlab工具箱里包括了许多激活(传递)函数。在“TransferFunctionGraphs”中可以找到它们的完全列表函数名功能purelin线性传递函数hardlim硬限幅递函数hardlims对称硬限幅递函数satli饱和线性传递函数satlins对称饱和线性传递函数logsig对数S形传递函数tansig正切S形传递函数radbas径向基传递函数compet竞争层传递函数第5页,共47页,2023年,2月20日,星期一第6页,共47页,2023年,2月20日,星期一1.3、网络结构以及工作方式从连接方式看NN主要有两种网络拓扑结构:前馈型网络:结点分为输入单元和计算单元反馈型网络:所有结点都是计算单元NN的工作过程主要分为两个阶段:第一阶段:学习期,此时个计算单元状态不变,各连线上的权值可通过学习来修改第二阶段:工作期,此时各连接权值固定,计算各单元状态变化第7页,共47页,2023年,2月20日,星期一网络结构:前馈型神经网络
两个或更多的上面所示的神经元可以组合成一层,一个典型的网络可包括一层或者多层。我们首先来研究神经元层。单层神经元网络
有R输入元素和S个神经元组成的单层网络如下图所示n{1}=net.IW{1,1}*p+net.b{1}第8页,共47页,2023年,2月20日,星期一多层神经元网络
上面所示的网络有R1个输入,第一层有S1个神经元,第二层有S2个神经元…第9页,共47页,2023年,2月20日,星期一中间层的输出就是下一层的输入。第二层可看作有S1个输入,S2个神经元和S1xS2阶权重矩阵W2的单层网络。第二层的输入是a1,输出是a2,现在我们已经确定了第二层的所有向量和矩阵,我们就能把它看成一个单层网络了。其他层也可以照此步骤处理。
多层网络的功能非常强大。例、一个两层的网络,第一层的转移函数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够很好的模拟任何有有限断点的函数。这种两层网络集中应用于“反向传播网络”。
注意:我们把第三层的输出a3标记为y。我们将使用这种符号来定义这种网络的输出。
第10页,共47页,2023年,2月20日,星期一1.4创建网络newp创建感知器网络newlind设计一线性层newlin创建一线性层newff创建一前馈BP网络newcf创建一多层前馈BP网络newfftd创建一前馈输入延迟BP网络newrb设计一径向基网络newrbe设计一严格的径向基网络newgrnn设计一广义回归神经网络newpnn设计一概率神经网络newc创建一竞争层newsom创建一自组织特征映射newhop创建一Hopfield递归网络newelm创建一Elman递归网络第11页,共47页,2023年,2月20日,星期一1.5数据结构:影响网络仿真的输入数据结构的格式静态网络中的同步输入仿真:例1第12页,共47页,2023年,2月20日,星期一动态网络中的异步输入仿真:当网络中存在延迟时,顺序发生的输入向量就要按一定的序列输入网络。为了演示这种情况,我们以一个有延迟的简单网络为例。
第13页,共47页,2023年,2月20日,星期一动态网络中的同步输入仿真如果我们在上例中把输入作为同步而不是异步应用,我们就会得到完全不同的响应。这就好象每一个输入都同时加到一个单独的并行网络中。在前一个例子中,如果我们用一组同步输入,我们有:p1=[1],p2=[2],p3=[3],p4=[4]这可用下列代码创建:P=[1234];模拟这个网络,我们得到:A=sim(net,P)A=1234第14页,共47页,2023年,2月20日,星期一在某些特定的情况下,我们可能想要在同一时间模拟一些不同序列的网络响应。这种情况我们就要给网络输入一组同步序列。比如说,我们要把下面两个序列输入网络:
p(1)=[1],p(2)=[2],p(3)=[3],p(4)=[4]p(1)=[4],p(2)=[3],p(3)=[2],p(4)=[1]输入P应该是一个细胞数组,每一个数组元素都包含了两个同时发生的序列的元素。P={[14][23][32][41]};现在我们就可以模拟这个网络了:A=sim(net,P);网络输出结果将是:A={[14][411][78][105]}可以看到,每个矩阵的第一列是由第一组输入序列产生的输出序列,每个矩阵的第二列是由第二组输入序列产生的输出序列。这两组序列之间没有关联,好象他们是同时应用在单个的并行网络上的。第15页,共47页,2023年,2月20日,星期一前面的讨论中,不论是作为一个同步向量矩阵输入还是作为一个异步向量细胞数组输入,模拟的输出值是一样的。在训练网络时,这是不对的。当我们使用adapt函数时,如果输入是异步向量细胞数组,那么权重将在每一组输入提交的时候更新(就是增加方式);如果输入是同步向量矩阵,那么权重将只在所有输入提交的时候更新(就是批处理方式)。第16页,共47页,2023年,2月20日,星期一1.6训练方式
两种不同的训练方式
(1)增加方式:每提交一次输入数据,网络权重和偏置都更新一次;
(2)在批处理方式中:仅仅当所有的输入数据都被提交以后,网络权重和偏置才被更新.增加方式(应用于自适应网络和其他网络)虽然增加方式更普遍的应用于动态网络,比如自适应滤波,但是在静态和动态网络中都可以应用它。第17页,共47页,2023年,2月20日,星期一静态网络中的增加方式
用增加方式来训练静态同步仿真中的例1,这样每提交一次输入数据,网络权重和偏置都更新一次。在此我们用函数adapt,并给出输入和目标序列:假定我们要训练网络建立以下线性函数:t=2p1+p2.我们的输入是:目标输出是:t1=[4],t2=[5],t3=[7],t4=[7]首先用0初始化权重和偏置。为了显示增加方式的效果,先把学习速度也设为0。
net=newlin([-11;-11],1,0,0);net.IW{1,1}=[00];net.b{1}=0;为了用增加方式,我们把输入和目标输出表示为以下序列:
P={[1;2][2;1][2;3][3;1]};T={4577};第18页,共47页,2023年,2月20日,星期一用增加方式训练网络:net=newlin([-11;-11],1,0,0);net.IW{1,1}=[00];net.b{1}=0;P={[1;2][2;1][2;3][3;1]};T={4577};[net,a,e,pf]=adapt(net,P,T);由于学习速度为0,网络输出仍然为0,并且权重没有被更新。错误和目标输出相等。
a=[0][0][0][0]e=[4][5][7][7]如果我们设置学习速度为0.1,我们就能够看到当每一组输入提交时,网络是怎么调整的了。net.inputWeights{1,1}.learnParam.lr=0.1;net.biases{1,1}.learnParam.lr=0.1;[net,a,e,pf]=adapt(net,P,T);a=[0][2][6.0][5.8]e=[4][3][1.0][1.2]第19页,共47页,2023年,2月20日,星期一2、BP神经网络2.1、概述BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。一个典型的BP网络采用的是梯度下降算法,也就是Widrow-Hoff算法所规定的。backpropagation就是指的为非线性多层网络计算梯度的方法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。神经网络工具箱提供了许多这样的算法。一个经过训练的BP网络能够根据输入给出合适的结果,虽然这个输入并没有被训练过。这个特性使得BP网络很适合采用输入/目标对进行训练,而且并不需要把所有可能的输入/目标对都训练过。为了提高网络的适用性,神经网络工具箱提供了两个特性--规则化和早期停止。第20页,共47页,2023年,2月20日,星期一2.2、基础网络结构
1)常用的前馈型BP网络的转移函数有logsig,tansig有时也会用到线性函数purelin。当网络的最后一层采用曲线函数时输出被限制在一个很小的范围内,如果采用线性函数则输出可为任意值。如果需要也可以创建其他可微的转移函数。
2)在BP网络中,转移函数可求导是非常重要的,tansig、logsig和purelin都有对应的导函数dtansig、dlogsig和dpurelin。为了得到更多转移函数的导函数,可以输入
tansig(‘deriv’)
ans=dtansig
第21页,共47页,2023年,2月20日,星期一网络构建和初始化训练前馈网络的第一步是建立网络对象。函数newff建立一个可训练的前馈网络。net=newff(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)这里需要4个输入参数。第一个参数是一个RxS1的矩阵以定义R个输入向量的最小值和最大值。第二个参数是一个每层神经元个数的数组。第三个参数是包含每层用到的转移函数名称的细胞数组。最后一个参数是用到的训练函数的名称。第22页,共47页,2023年,2月20日,星期一例、创建一个二层网络它的输入是两个元素的向量,第一层有四个神经元,第二层有三个神经元。第一层的转移函数是tan-sigmoid,输出层的转移函数是linear。输入向量的第一个元素的范围是-1到2,输入向量的第二个元素的范围是0到5,训练函数是=newff([-12;05],[4,3],{‘tansig’,‘purelin’},‘traingd’);这个命令建立了网络对象并且初始化了网络权重和偏置,因此网络就可以进行训练了。第23页,共47页,2023年,2月20日,星期一在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的工作用命令init来实现。
net=init(net);
对前馈网络来说,有两种不同的初始化方式经常被用到:initwb和initnw。
1)initwb函数根据每一层自己的初始化参数(net.inputWeights{i,j}.initFcn)初始化权重矩阵和偏置。前馈网络的初始化权重通常设为rands,它使权重在-1到1之间随机取值值,这种方式经常用在转换函数是线性函数时。
2)initnw通常用于转换函数是曲线函数。它根据Nguyen和Widrow[NgWi90]为层产生初始权重和偏置值,使得每层神经元的活动区域能大致平坦的分布在输入空间。它比起单纯的给权重和偏置随机赋值有以下优点:(1)减少神经元的浪费(因为所有神经元的活动区域都在输入空间内)。(2)有更快的训练速度(因为输入空间的每个区域都在活动的神经元范围中)。
第24页,共47页,2023年,2月20日,星期一初始化函数被newff所调用。因此当网络创建时,它根据缺省的参数自动初始化。init不需要单独的调用。可是我们可能要重新初始化权重和偏置或者进行自定义的初始化。例如,我们用newff创建的网络,它缺省用initnw来初始化第一层。如果我们想要用rands重新初始化第一层的权重和偏置,我们用以下命令:
net.layers{1}.initFcn='initwb';net.inputWeights{1,1}.initFcn='rands';net.biases{1,1}.initFcn='rands';net.biases{2,1}.initFcn='rands';net=init(net);第25页,共47页,2023年,2月20日,星期一网络模拟(SIM)
用函数sim模拟一个网络。sim接收网络输入p,网络对象net,返回网络输出a,这里是simuff用来模拟上面建立的带一个输入向量的网络。p=[1;2];a=sim(net,p)a=-0.1011(用这段代码得到的输出是不一样的,这是因为网络初始化是随机的。)例、调用sim来计算一个同步输入3向量网络的输出:p=[132;241];a=sim(net,p)a=-0.1011-0.23080.4955第26页,共47页,2023年,2月20日,星期一网络训练一旦网络加权和偏差被初始化,网络就可以开始训练了。我们能够训练网络来做函数近似(非线性后退),模式结合,或者模式分类。训练处理需要一套适当的网络操作的例子--网络输入p和目标输出t。在训练期间网络的加权和偏差不断的把网络性能函数net.performFcn减少到最小。前馈网络的缺省性能函数是均方误差mse--网络输出和目标输出t之间的均方误差。第27页,共47页,2023年,2月20日,星期一反向传播算法反向传播学习算法最简单的应用是沿着性能函数最速增加的方向--梯度的负方向更新权重和偏置。这种递归算法可以写成:
xk+1=xk-ak*gk这里xk是当前权重和偏置向量,gk是当前梯度,ak是学习速率。有两种不同的办法实现梯度下降算法:增加模式和批处理模式。在增加模式中,网络输入每提交一次,梯度计算一次并更新权重。在批处理模式中,当所有的输入都被提交后网络才被更新。第28页,共47页,2023年,2月20日,星期一增加模式训练法(ADAPT)现在我们就可以开始训练网络了。当然我们要指定输入值和目标值如下所示:
p=[-1-122;0505];t=[-1-111];如果我们要在每一次提交输入后都更新权重,那么我们需要将输入矩阵和目标矩阵转变为细胞数组。每一个细胞都是一个输入或者目标向量。p=num2cell(p,1);t=num2cell(t,1);现在就可以用adapt来实现增加方式训练了:[net,a,e]=adapt(net,p,t);训练结束以后,就可以模拟网络输出来检验训练质量了。
a=sim(net,p)a=[-0.9995][-1.0000][1.0001][1.0000]第29页,共47页,2023年,2月20日,星期一带动力的梯度下降(LEARDGDM)
批处理训练方式批处理梯度下降法(TRAINGD)
带动量的批处理梯度下降法(批处理训练方式TRAINGDM)第30页,共47页,2023年,2月20日,星期一例1、蠓虫分类问题1、蠓虫分类问题生物学家试图对两种蠓虫(Af与Apf)进行鉴别,依据的资料是触角和翅膀的长度,已经测得了9支Af和6支Apf的数据如下:Af:(1.24,1.27),(1.36,1.74),(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08);Apf:(1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96).(i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。(ii)对触角和翼长分别为(1.24,1.80),(1.28,1.84)与(1.40,2.04)的3个标本,用所得到的方法加以识别。(iii)设Af是宝贵的传粉益虫,Apf是某疾病的载体,是否应该修改分类方法。第31页,共47页,2023年,2月20日,星期一问题分析:要求依据已知资料(9支Af的数据和6支Apf的数据)制定一种分类方法,类别是已经给定的(Af或Apf)。我们将9支Af及6支Apf的数据集合称之为学习样本。
2多层前馈网络
为解决此问题,考虑一个其结构如下图所示的人工神经网络输入层输出层中间层(隐层)第32页,共47页,2023年,2月20日,星期一以s=1,2,,15,分别表示学习样本中的15个样品,对样品s而言,对任何一组确定的输入I_k^s(k=1,2)隐单元j的输入是
相应的输出状态是
网络的最终输出是第33页,共47页,2023年,2月20日,星期一对于任何一组确定的输入,输出是所有权的函数。如果我们能够选定一组适当的权值,使得对应于学习样本中任何一组Af样品的输入,输出为(1,0),对应于Apf的输入数据,输出为(0,1),那么蠓虫分类问题实际上就解决了。因为,对于任何一个未知类别的样品,只要将其触角及翅膀长度输入网络,视其输出模式靠近(1,0)亦或(0,1),就可能判断其归属。当然,有可能出现介于中间无法判断的情况。
现在的问题是,如何找到一组适当的权值,实现上面所设想的网络功能。第34页,共47页,2023年,2月20日,星期一3向后传播算法
在1985年,美国加州大学的一个研究小组提出了所谓向后传播算法(Back-Propagation)。
我们希望对应于学习样本中Af样品的输出是(1,0),对应于Apf的输出是(0,1),这样的输出称之为理想输出。实际上要精确地作到这一点是不可能的,只能希望实际输出尽可能地接近理想输出。为清楚起见,把对应于样品s的理想输出记为,
度量了在一组给定的权下,实际输出与理想输出的差异,由此,寻找一组恰当的权的问题,自然地归结为求适当W的值,使E(W)达到极小的问题第35页,共47页,2023年,2月20日,星期一最速下降法对每一个变量w_ij或w而言,这是一个连续可微的非线性函数,为了求得其极小点与极小值,最为方便的就是使用最速下降法。最速下降法是一种迭代算法,为求出E(W)的(局部)极小,它从一个任取的初始点W_0出发,计算在W_0点的负梯度方向,这是函数在该点下降最快的方向;只要,就可沿该方向移动一小段距离,达到一个新的点。不断重复这一过程,一定能达到E的一个(局部)极小点。就本质而言,这就是BP算法的全部内容。然而,对人工神经网络问题而言,这一算法的具体形式是非常重要的,下面我们就来给出这一形式表达。第36页,共47页,2023年,2月20日,星期一对于隐单元到输出单元的权w_ij而言,最速下降法给出的每一步的修正量是可以看出,所有权的修正量都有如下形式指标p对应于两个单元中输出信号的一端,q对应于输入信号的一端,v或者代表H或者代表I。第37页,共47页,2023年,2月20日,星期一由实际输出与理想输出的差及决定,而则需依赖算出,因此,这一算法才称为
向后传播算法。利用这一迭代算法,最终生成在一定精度内满足要求的的过程,称为人工神经网络的学习过程。可以看出,这里所提供的学习机制是元与元之间权的不断调整,学习样本中任何一个样品所提供的信息,最终将包含在网络的每一个权之中。参数h的大小则反映了学习效率。第38页,共47页,2023年,2月20日,星期一第39页,共47页,2023年,2月20日,星期一4、蠓虫分类问题求解clearp1=[1.24,1.27;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.001.28,2.00;1.30,1.96];p=[p1;p2]';pr=minmax(p);goal=[ones(1,9),zeros(1,6);zeros(1,9),ones(1,6)];subplot(1,2,1)plot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o')subplot(1,2,2)net=newff(pr,[3,2],{'logsig','logsig'});net.trainParam.show=10;net.trainParam.lr=0.05;net.trainParam.epochs=3000;net.trainParam.goal=1e-10;net=train(net,p,goal);x=[1.241.80;1.281.84;1.402.04]';y0=sim(net,p)y=sim(net,x)第40页,共47页,2023年,2月20日,星期一例2、人口预测
以下是从《北京统计年鉴》中得到的1980-2010年的北京城近郊区户籍人口统计结果作为样本数据,建立人工神经网络模型,预测、2011年的北京城近郊区户籍人口第41页,共47页,2023年,2月20日,星期一北京市人口数统计表:年份人数(万人)年份人数(万人)1980498.41996631.81981510.21997638.71982521.31998646.21983534.01999651.81984540.72000658.91985542.82001667.41986553.02002678.61987563.22003689.21988573.92004698.81989582.12005707.219905922006713.21991598.72007718.51992604.32008730.91993609.52009743.81994616.12010749.61995625.1第42页,共47页,2023年,2月20日,星期一数据处理后的样本数据:样本用途样本组数输入一输入二输入三输入四输出学习样本10.49840.51020.52130.5340.540720.51020.52130.5340.54070.542830.52130.5340.54070.54280.55340.5340.54070.54280.5530.563250.54070.54280.5530.56320.573960.54280.5530.56320.57390.582170.5530.56320.57390.58210.59280.56320.57390.58210.5920.598790.57390.58210.5920.59870.6043100.58210.5920.59870.60430.6095110.5920.59870.60430.60950.6161120.59870.60430.60950.61610.6251130.60430.60950.61610.62510.6318140.60950.61610.62510.63180.6387150.61610.62510.63180.63870.6462160.62510.63180.63870.64620.6518170.63180.63870.64620.65180.6589180.63870.64620.65180.65890.6674190.64620.65180.65890.66740.6786200.65180.65890.66740.67860.6892210.65890.66740.67860.68920.6988220.66740.67860.68920.6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粉色清新风客服沟通技巧培训
- 食品卫生与营养学专业实习心得体会
- 2026广西南宁隆安县城管大队招聘城管协管员1人备考题库及参考答案详解(满分必刷)
- 2026福建福州新区(长乐区)新任教师(教育部直属师范大学公费师范生)招聘1人备考题库带答案详解ab卷
- 鞋业生产流程规范化制度
- 纺织品包装运输制度
- 2026四川成都市新都区人民法院上半年招聘聘用制人员2人备考题库附参考答案详解(夺分金卷)
- 2026黑龙江齐齐哈尔市龙沙区南航街道公益性岗位招聘1人备考题库参考答案详解
- 2026福建厦门市义务交警队招聘备考题库及答案详解【网校专用】
- 2026云南省机关事务管理局抗战胜利纪念堂管理处招聘编外人员3人备考题库有答案详解
- 天津市十二区重点学校2025-2026学年高三下学期毕业联考-语文试卷
- 2026年全国社会工作者职业资格证考试模拟试卷及答案(共六套)
- 公路危大工程监理实施细则
- 2026安徽省供销集团有限公司集团本部招聘7人笔试参考题库及答案解析
- 2026年山西药科职业学院单招综合素质考试题库及答案详解(基础+提升)
- 福利院食品卫生安全制度
- 5G通信网络规划与优化-课程标准
- 茶楼劳动合同
- 中数联物流运营有限公司招聘笔试题库2026
- 高压线路新建监理规划书
- 科主任临床科室管理
评论
0/150
提交评论