数学建模神经网络建模学习教案.pptx

上传人:一*** 文档编号:71939021 上传时间:2023-02-07 格式:PPTX 页数:47 大小:758.05KB
返回 下载 相关 举报
数学建模神经网络建模学习教案.pptx_第1页
第1页 / 共47页
数学建模神经网络建模学习教案.pptx_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《数学建模神经网络建模学习教案.pptx》由会员分享,可在线阅读,更多相关《数学建模神经网络建模学习教案.pptx(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、会计学1数学数学(shxu)建模神经网络建模建模神经网络建模第一页,共47页。1 1、神经网络简介、神经网络简介、神经网络简介、神经网络简介(ji(ji n ji)n ji)人工神经网络是在现代神经科学的基础上发展起来的,旨在模拟人脑结构以及功能的一种抽象的数学模型,其中Hopfield神经网络、ART神经网络、BP神经网络是常用的网络。Hopfield神经网络是由相同的神经元构成的单元,是一类(y li)不具有学习能力的单层自联想网络,她的网络模型由一组可使某一个能量函数最小的微分方程组成。ART神经网络主要用于模式识别,她的不足之处在于对转换、失真和规模变化较敏感BP神经网络是误差反向传播

2、的多层前向网络,其信息处理机制由神经元激活特性和网络拓扑结构决定,神经元的传递函数是非线性函数,网络结构由输入层、隐含层、输出层组成,同层节点间无关联,异层节点前向连接。第1页/共47页第二页,共47页。、人工、人工、人工、人工(rngng)(rngng)神经元模型神经元模型神经元模型神经元模型人工神经网络的基本单元(dnyun)的神经元模型第2页/共47页第三页,共47页。人工人工人工人工(rngng)(rngng)神经元的三个要素神经元的三个要素神经元的三个要素神经元的三个要素第3页/共47页第四页,共47页。激活激活激活激活(j hu)(j hu)(传递)函数的取法(传递)函数的取法(传

3、递)函数的取法(传递)函数的取法在Matlab工具箱里包括了许多激活(传递)函数。在“Transfer Function Graphs”中可以找到它们的完全列表 函数名 功 能 purelin 线性传递函数 hardlim 硬限幅递函数 hardlims 对称硬限幅递函数 satli 饱和线性传递函数 satlins 对称饱和线性传递函数 logsig 对数(du sh)S 形传递函数 tansig 正切S 形传递函数 radbas 径向基传递函数 compet 竞争层传递函数 第4页/共47页第五页,共47页。第5页/共47页第六页,共47页。、网络结构以及工作、网络结构以及工作、网络结构以

4、及工作、网络结构以及工作(gngzu)(gngzu)方式方式方式方式从连接方式看从连接方式看NNNN主要有两种网络拓扑结构:主要有两种网络拓扑结构:前馈型网络:结点分为输入单元前馈型网络:结点分为输入单元(dnyun)(dnyun)和计算单元和计算单元(dnyun)(dnyun)反馈型网络:所有结点都是计算单元反馈型网络:所有结点都是计算单元(dnyun)(dnyun)NNNN的工作过程主要分为两个阶段:的工作过程主要分为两个阶段:第一阶段:学习期,此时个计算单元第一阶段:学习期,此时个计算单元(dnyun)(dnyun)状态不变,状态不变,各连线上的权值可通过学习来修改各连线上的权值可通过学

5、习来修改第二阶段:工作期,此时各连接权值固定,计算各单元第二阶段:工作期,此时各连接权值固定,计算各单元(dnyun)(dnyun)状态变化状态变化第6页/共47页第七页,共47页。网络结构:前馈型神经网络网络结构:前馈型神经网络网络结构:前馈型神经网络网络结构:前馈型神经网络 两个或更多的上面所示的神经元可以组合成一层,一个典型的网络可包括一层或者多层。我们首先来研究神经元层。单层神经元网络 有R输入元素和S个神经元组成(z chn)的单层网络如下图所示n1=net.IW1,1*p+net.b1第7页/共47页第八页,共47页。多层神经元网络多层神经元网络多层神经元网络多层神经元网络 上面(

6、shng min)所示的网络有R1个输入,第一层有S1个神经元,第二层有S2个神经元第8页/共47页第九页,共47页。中间层的输出就是下一层的输入。第二层可看作有中间层的输出就是下一层的输入。第二层可看作有中间层的输出就是下一层的输入。第二层可看作有中间层的输出就是下一层的输入。第二层可看作有S1S1个输入,个输入,个输入,个输入,S2S2个个个个神经元和神经元和神经元和神经元和S1xS2 S1xS2 阶权重矩阵阶权重矩阵阶权重矩阵阶权重矩阵W2 W2 的单层网络。第二层的输入是的单层网络。第二层的输入是的单层网络。第二层的输入是的单层网络。第二层的输入是a1a1,输,输,输,输出是出是出是出

7、是a2a2,现在我们已经确定了第二层的所有向量和矩阵,我们就能,现在我们已经确定了第二层的所有向量和矩阵,我们就能,现在我们已经确定了第二层的所有向量和矩阵,我们就能,现在我们已经确定了第二层的所有向量和矩阵,我们就能把它看成一个单层网络了。其他层也可以照此步骤把它看成一个单层网络了。其他层也可以照此步骤把它看成一个单层网络了。其他层也可以照此步骤把它看成一个单层网络了。其他层也可以照此步骤(bzhu)(bzhu)处理。处理。处理。处理。多层网络的功能非常强大。例、一个两层的网络,第一层的转移函多层网络的功能非常强大。例、一个两层的网络,第一层的转移函多层网络的功能非常强大。例、一个两层的网络

8、,第一层的转移函多层网络的功能非常强大。例、一个两层的网络,第一层的转移函数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够很好的模拟任何有有限断点的函数。这种两层网络集中应用于很好的模拟任何有有限断点的函数。这种两层网络集中应用于很好的模拟任何有有限断点的函数。这种两层网络集中应用于很好的模拟任何有有限断点的函数。这种两层网络集中应用于“反反反反向传播网络向传播网络向传播网络向传播网络”。注意注意注意注意:我们把

9、第三层的输出我们把第三层的输出我们把第三层的输出我们把第三层的输出a3a3标记为标记为标记为标记为y y。我们将使用这种符号来定义。我们将使用这种符号来定义。我们将使用这种符号来定义。我们将使用这种符号来定义这种网络的输出。这种网络的输出。这种网络的输出。这种网络的输出。第9页/共47页第十页,共47页。创建创建创建创建(chungjin)(chungjin)网络网络网络网络newp 创建感知器网络 newlind 设计一线性层 newlin 创建一线性层 newff 创建一前馈 BP 网络 newcf 创建一多层前馈 BP 网络 newfftd 创建一前馈输入延迟 BP 网络newrb 设计

10、一径向基网络 newrbe 设计一严格的径向基网络 newgrnn 设计一广义回归神经网络 newpnn 设计一概率(gil)神经网络 newc 创建一竞争层 newsom 创建一自组织特征映射 newhop 创建一 Hopfield 递归网络 newelm 创建一 Elman 递归网络 第10页/共47页第十一页,共47页。数据结构数据结构数据结构数据结构:影响影响影响影响(y(y ngxingxi ng)ng)网络仿真的输入数据结构的网络仿真的输入数据结构的网络仿真的输入数据结构的网络仿真的输入数据结构的格式格式格式格式静态网络(wnglu)中的同步输入仿真:例1第11页/共47页第十二页

11、,共47页。动态网络中的异步输入仿真:当网络中存在延迟时,顺序发动态网络中的异步输入仿真:当网络中存在延迟时,顺序发动态网络中的异步输入仿真:当网络中存在延迟时,顺序发动态网络中的异步输入仿真:当网络中存在延迟时,顺序发生的输入向量就要按一定的序列输入网络。为了演示这种情生的输入向量就要按一定的序列输入网络。为了演示这种情生的输入向量就要按一定的序列输入网络。为了演示这种情生的输入向量就要按一定的序列输入网络。为了演示这种情况,我们况,我们况,我们况,我们(w(w men)men)以一个有延迟的简单网络为例。以一个有延迟的简单网络为例。以一个有延迟的简单网络为例。以一个有延迟的简单网络为例。第

12、12页/共47页第十三页,共47页。动态网络中的同步动态网络中的同步动态网络中的同步动态网络中的同步(tngb)(tngb)输入仿真输入仿真输入仿真输入仿真n n如果我们在上例中把输入作为同步而不是异步应用,如果我们在上例中把输入作为同步而不是异步应用,我们就会得到完全不同的响应。这就好象每一个我们就会得到完全不同的响应。这就好象每一个(y(y )输入都同时加到一个输入都同时加到一个(y(y )单独的并行网络中。单独的并行网络中。在前一个在前一个(y(y )例子中,如果我们用一组同步输入,例子中,如果我们用一组同步输入,我们有:我们有:n np1=1,p2=2,p3=3,p4=4 p1=1,p

13、2=2,p3=3,p4=4 n n这可用下列代码创建:这可用下列代码创建:P=1 2 3 4;P=1 2 3 4;n n模拟这个网络,我们得到:模拟这个网络,我们得到:n nA=sim(net,P)A=sim(net,P)n nA=A=n n1 2 3 4 1 2 3 4 第13页/共47页第十四页,共47页。n n在某些特定的情况下,我们在某些特定的情况下,我们(w(w men)men)可能想要在同一时间模拟一些不同序可能想要在同一时间模拟一些不同序列的网络响应。这种情况我们列的网络响应。这种情况我们(w(w men)men)就要给网络输入一组同步序列。比就要给网络输入一组同步序列。比如说,

14、我们如说,我们(w(w men)men)要把下面两个序列输入网络:要把下面两个序列输入网络:n n p(1)=1,p(2)=2,p(3)=3,p(4)=4 p(1)=1,p(2)=2,p(3)=3,p(4)=4 n n p(1)=4,p(2)=3,p(3)=2,p(4)=1 p(1)=4,p(2)=3,p(3)=2,p(4)=1 n n输入输入 P P应该是一个细胞数组,每一个数组元素都包含了两个同时发生应该是一个细胞数组,每一个数组元素都包含了两个同时发生n n的序列的元素。的序列的元素。n nP=1 4 2 3 3 2 4 1;P=1 4 2 3 3 2 4 1;n n现在我们现在我们(w

15、(w men)men)就可以模拟这个网络了:就可以模拟这个网络了:n nA=sim(net,P);A=sim(net,P);n n网络输出结果将是:网络输出结果将是:n nA=1 4 4 11 7 8 10 5 A=1 4 4 11 7 8 10 5 n n可以看到,每个矩阵的第一列是由第一组输入序列产生的输出序列,每个可以看到,每个矩阵的第一列是由第一组输入序列产生的输出序列,每个矩阵的第二列是由第二组输入序列产生的输出序列。这两组序列之间没有矩阵的第二列是由第二组输入序列产生的输出序列。这两组序列之间没有关联,好象他们是同时应用在单个的并行网络上的。关联,好象他们是同时应用在单个的并行网络

16、上的。第14页/共47页第十五页,共47页。前面的讨论中,不论是作为一个同步向量矩阵输前面的讨论中,不论是作为一个同步向量矩阵输入还是作为一个异步向量细胞数组输入,模拟的入还是作为一个异步向量细胞数组输入,模拟的输出值是一样的。输出值是一样的。在训练网络时,这是不对的。当我们使用在训练网络时,这是不对的。当我们使用adaptadapt函函数时,如果输入是异步向量细胞数组,那么权重数时,如果输入是异步向量细胞数组,那么权重(qun(qun zhnzhn)将在每一组输入提交的时候更新(就是增加方将在每一组输入提交的时候更新(就是增加方式);如果输入是同步向量矩阵,那么权重式);如果输入是同步向量矩

17、阵,那么权重(qun zhn(qun zhn)将只将只在所有输入提交的时候更新(就是批处理方式)。在所有输入提交的时候更新(就是批处理方式)。第15页/共47页第十六页,共47页。训练训练训练训练(xnlin)(xnlin)方式方式方式方式 两种不同的训练(xnlin)方式(1)增加方式:每提交一次输入数据,网络权重和偏置都更新一次;(2)在批处理方式中:仅仅当所有的输入数据都被提交以后,网络权重和偏置才被更新.增加方式(应用于自适应网络和其他网络)虽然增加方式更普遍的应用于动态网络,比如自适应滤波,但是在静态和动态网络中都可以应用它。第16页/共47页第十七页,共47页。静态网络静态网络静态

18、网络静态网络(w(w nglu)nglu)中的增加方式中的增加方式中的增加方式中的增加方式 用增加方式来训练静态同步仿真中的例用增加方式来训练静态同步仿真中的例1 1,这样每提交一次输,这样每提交一次输入数据,网络权重和偏置都更新一次。入数据,网络权重和偏置都更新一次。在此我们用函数在此我们用函数adaptadapt,并给出输入和目标序列,并给出输入和目标序列(xli)(xli):假定我们要:假定我们要训练网络建立以下线性函数:训练网络建立以下线性函数:t=2p1+p2.t=2p1+p2.我们的输入是:我们的输入是:目标输出是:目标输出是:t1=4,t2=5,t3=7,t4=7 t1=4,t2

19、=5,t3=7,t4=7 首先用首先用0 0初始化权重和偏置。为了显示增加方式的效果,先把初始化权重和偏置。为了显示增加方式的效果,先把学习速度也设为学习速度也设为0 0。net=newlin(-1 1;-1 1,1,0,0);net.IW1,1=0 0;net.b1=0;net=newlin(-1 1;-1 1,1,0,0);net.IW1,1=0 0;net.b1=0;为了用增加方式,我们把输入和目标输出表示为以下序列为了用增加方式,我们把输入和目标输出表示为以下序列(xli)(xli):P=1;2 2;1 2;3 3;1;T=4 5 7 7;P=1;2 2;1 2;3 3;1;T=4 5

20、 7 7;第17页/共47页第十八页,共47页。用增加方式训练网络:用增加方式训练网络:net=newlin(-1 1;-1 1,1,0,0);net.IW1,1=0 0;net=newlin(-1 1;-1 1,1,0,0);net.IW1,1=0 0;net.b1=0;P=1;2 2;1 2;3 3;1;T=4 5 7 7;net.b1=0;P=1;2 2;1 2;3 3;1;T=4 5 7 7;net,a,e,pf=adapt(net,P,T);net,a,e,pf=adapt(net,P,T);由于学习速度为由于学习速度为0 0,网络输出仍然为,网络输出仍然为0 0,并且权重没有,并且

21、权重没有被更新。错误和目标输出相等。被更新。错误和目标输出相等。a=0 0 0 0 e=4 5 7 7 a=0 0 0 0 e=4 5 7 7 如果如果(rgu(rgu)我们设置学习速度为,我们就能够看到我们设置学习速度为,我们就能够看到当每一当每一组输入提交时,网络是怎么调整的了。组输入提交时,网络是怎么调整的了。net.inputWeights1,1.learnParam.lr=0.1;net.inputWeights1,1.learnParam.lr=0.1;net.biases1,1.learnParam.lr=0.1;net.biases1,1.learnParam.lr=0.1;n

22、et,a,e,pf=adapt(net,P,T);net,a,e,pf=adapt(net,P,T);a=0 2 6.0 5.8 e=4 3 1.0 1.2 a=0 2 6.0 5.8 e=4 3 1.0 1.2 第18页/共47页第十九页,共47页。2、BP神经网络神经网络、概述、概述BPBP网网络络是是采采用用Widrow-HoffWidrow-Hoff学学习习算算法法和和非非线线性性可可微微转转移移函函数数的的多多层层网网络络。一一个个典典型型的的BPBP网网络络采采用用的的是是梯梯度度下下降降算算法法,也也就就是是Widrow-HoffWidrow-Hoff算算法法所所规规定定的的。b

23、ackpropagationbackpropagation就就是是指指的的为为非非线线性性多多层层网网络络计计算算梯梯度度的的方方法法。现现在在有有许许多多基基本本的的优优化化算算法法,例例如如变变尺尺度度算算法法和和牛牛顿顿算算法法。神神经网络工具箱提供了许多这样的算法。经网络工具箱提供了许多这样的算法。一一个个经经过过训训练练的的BPBP网网络络能能够够根根据据输输入入给给出出合合适适的的结结果果,虽虽然然这这个个输输入入并并没没有有被被训训练练过过。这这个个特特性性使使得得BPBP网网络络很很适适合合采采用用输输入入/目目标标对对进进行行训训练练,而而且且并并不不需需要要把把所所有有可可

24、能能的的输输入入/目目标标对对都都训训练练过过。为为了了提提高高(t(t go)go)网网络络的的适适用用性性,神神经经网网络络工工具具箱箱提提供供了了两两个个特特性性-规规则则化化和和早期停止。早期停止。第19页/共47页第二十页,共47页。2.22.2、基础、基础、基础、基础 网络结构网络结构网络结构网络结构 1 1)常用的前馈型)常用的前馈型)常用的前馈型)常用的前馈型BPBP网络的转移函数有网络的转移函数有网络的转移函数有网络的转移函数有logsiglogsig,tansigtansig有有有有时也会用到线性函数时也会用到线性函数时也会用到线性函数时也会用到线性函数purelinpur

25、elin。当网络的最后一层采用曲。当网络的最后一层采用曲。当网络的最后一层采用曲。当网络的最后一层采用曲线函数时输出被限制在一个很小的范围内,如果采用线线函数时输出被限制在一个很小的范围内,如果采用线线函数时输出被限制在一个很小的范围内,如果采用线线函数时输出被限制在一个很小的范围内,如果采用线性函数则输出可为任意值。如果需要也可以创建其他可性函数则输出可为任意值。如果需要也可以创建其他可性函数则输出可为任意值。如果需要也可以创建其他可性函数则输出可为任意值。如果需要也可以创建其他可微的转移函数。微的转移函数。微的转移函数。微的转移函数。2 2)在)在)在)在BPBP网络中,转移函数可求导是非

26、常重要网络中,转移函数可求导是非常重要网络中,转移函数可求导是非常重要网络中,转移函数可求导是非常重要(zhngyo)(zhngyo)的,的,的,的,tansigtansig、logsiglogsig和和和和purelinpurelin都有对应的导函都有对应的导函都有对应的导函都有对应的导函数数数数dtansigdtansig、dlogsigdlogsig和和和和dpurelindpurelin。为了得到更多转移函数。为了得到更多转移函数。为了得到更多转移函数。为了得到更多转移函数的导函数的导函数的导函数的导函数,可以输入可以输入可以输入可以输入tansig(deriv)tansig(deri

27、v)ans=dtansig ans=dtansig 第20页/共47页第二十一页,共47页。网络网络网络网络(w(w nglu)nglu)构建和初始化构建和初始化构建和初始化构建和初始化训练前馈网络的第一步是建立网络对象。训练前馈网络的第一步是建立网络对象。函数函数(hnsh)newff(hnsh)newff建立一个可训练的前馈网络。建立一个可训练的前馈网络。net=newff(PR,S1 S2.SNl,TF1 TF2.TFNl,BTF,BLF,PF)net=newff(PR,S1 S2.SNl,TF1 TF2.TFNl,BTF,BLF,PF)这里需要这里需要4 4个输入参数。个输入参数。第一

28、个参数是一个第一个参数是一个RxS1RxS1的矩阵以定义的矩阵以定义R R个输入向量的最小值个输入向量的最小值和最大值。和最大值。第二个参数是一个每层神经元个数的数组。第二个参数是一个每层神经元个数的数组。第三个参数是包含每层用到的转移函数第三个参数是包含每层用到的转移函数(hnsh)(hnsh)名称的细胞数组。名称的细胞数组。最后一个参数是用到的训练函数最后一个参数是用到的训练函数(hnsh)(hnsh)的名称。的名称。第21页/共47页第二十二页,共47页。例、创建例、创建例、创建例、创建(chungjin)(chungjin)一个二层网络一个二层网络一个二层网络一个二层网络它的输入是两个

29、元素的向量,第一层有四个神经元,第二层有三个神它的输入是两个元素的向量,第一层有四个神经元,第二层有三个神经元。第一层的转移函数是经元。第一层的转移函数是tan-sigmoidtan-sigmoid,输出层的转移函数是,输出层的转移函数是linearlinear。输入向量的第一个元素的范围是输入向量的第一个元素的范围是-1-1到到2 2,输入向量的第二个元素的范,输入向量的第二个元素的范围是围是0 0到到5 5,训练函数是,训练函数是traingdtraingd。net=newff(-1 2;0 5,4,3,tansig,purelin,traingd);net=newff(-1 2;0 5,

30、4,3,tansig,purelin,traingd);这个命令建立了网络对象并且这个命令建立了网络对象并且(bngqi)(bngqi)初始化了网络权重和偏置,因此网络初始化了网络权重和偏置,因此网络就可以进行训练了。就可以进行训练了。第22页/共47页第二十三页,共47页。在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的工作用命令工作用命令工作用命令工作用命令initinit来实现。来实现。来实

31、现。来实现。net=init(net);net=init(net);对前馈网络来说,有两种不同的初始化方式经常被用到:对前馈网络来说,有两种不同的初始化方式经常被用到:对前馈网络来说,有两种不同的初始化方式经常被用到:对前馈网络来说,有两种不同的初始化方式经常被用到:initwbinitwb和和和和initnwinitnw。1 1)initwbinitwb函数根据每一层自己的初始化参数函数根据每一层自己的初始化参数函数根据每一层自己的初始化参数函数根据每一层自己的初始化参数(net.inputWeightsi,j.initFcn)(net.inputWeightsi,j.initFcn)初始化

32、权重矩阵和偏置。前馈网络初始化权重矩阵和偏置。前馈网络初始化权重矩阵和偏置。前馈网络初始化权重矩阵和偏置。前馈网络的初始化权重通常设为的初始化权重通常设为的初始化权重通常设为的初始化权重通常设为randsrands,它使权重在,它使权重在,它使权重在,它使权重在-1-1到到到到1 1之间随机取值值,这种之间随机取值值,这种之间随机取值值,这种之间随机取值值,这种方式经常用在转换函数是线性函数时。方式经常用在转换函数是线性函数时。方式经常用在转换函数是线性函数时。方式经常用在转换函数是线性函数时。2 2)initnwinitnw通常用于转换函数是曲线函数。它根据通常用于转换函数是曲线函数。它根据

33、通常用于转换函数是曲线函数。它根据通常用于转换函数是曲线函数。它根据NguyenNguyen和和和和WidrowNgWi90WidrowNgWi90为层产生初始权重和偏置值,使得每层神经元的活动为层产生初始权重和偏置值,使得每层神经元的活动为层产生初始权重和偏置值,使得每层神经元的活动为层产生初始权重和偏置值,使得每层神经元的活动区域能大致平坦区域能大致平坦区域能大致平坦区域能大致平坦(pngt(pngt n)n)的分布在输入空间。它比起单纯的给权重和的分布在输入空间。它比起单纯的给权重和的分布在输入空间。它比起单纯的给权重和的分布在输入空间。它比起单纯的给权重和偏置随机赋值有以下优点:(偏置

34、随机赋值有以下优点:(偏置随机赋值有以下优点:(偏置随机赋值有以下优点:(1 1)减少神经元的浪费(因为所有神经元的)减少神经元的浪费(因为所有神经元的)减少神经元的浪费(因为所有神经元的)减少神经元的浪费(因为所有神经元的活动区域都在输入空间内)。(活动区域都在输入空间内)。(活动区域都在输入空间内)。(活动区域都在输入空间内)。(2 2)有更快的训练速度(因为输入空间的)有更快的训练速度(因为输入空间的)有更快的训练速度(因为输入空间的)有更快的训练速度(因为输入空间的每个区域都在活动的神经元范围中)。每个区域都在活动的神经元范围中)。每个区域都在活动的神经元范围中)。每个区域都在活动的神

35、经元范围中)。第23页/共47页第二十四页,共47页。n n初始化函数被初始化函数被newffnewff所调用。因此当网络创建所调用。因此当网络创建n n时,它根据缺省的参数自动初始化。时,它根据缺省的参数自动初始化。n ninitinit不需要单独的调用。可是不需要单独的调用。可是(ksh)(ksh)我们可能要重新初始化权我们可能要重新初始化权重和偏置或者进行自定义的初始化。例如,我们用重和偏置或者进行自定义的初始化。例如,我们用newffnewff创建创建的网络,它缺省用的网络,它缺省用initnwinitnw来初始化第一层。如果我们想要用来初始化第一层。如果我们想要用randsrands

36、重新初始化第一层的权重和偏置,我们用以下命令:重新初始化第一层的权重和偏置,我们用以下命令:n n net.layers1.initFcn=initwb;net.inputWeights1,1.initFcn=net.layers1.initFcn=initwb;net.inputWeights1,1.initFcn=rands;net.biases1,1.initFcn=rands;net.biases2,1.initFcn=rands;net.biases1,1.initFcn=rands;net.biases2,1.initFcn=rands;rands;n n net=init(net

37、);net=init(net);第24页/共47页第二十五页,共47页。网络网络网络网络(w(w nglu)nglu)模拟模拟模拟模拟(SIM)(SIM)用函数用函数sim sim 模拟一个网络。模拟一个网络。sim sim 接收网络输入接收网络输入p p,网络对象,网络对象netnet,返回网络输出,返回网络输出(shch)a(shch)a,这里是,这里是simuffsimuff用来模拟上面建立的带一个输用来模拟上面建立的带一个输入向量的网络。入向量的网络。p=1;2;p=1;2;a=sim(net,p)a=sim(net,p)a=-0.1011(a=-0.1011(用这段代码得到的输出用这

38、段代码得到的输出(shch)(shch)是不一样的,是不一样的,这是因为网络初始化是随机的。这是因为网络初始化是随机的。)例、调用例、调用simsim来计算一个同步输入来计算一个同步输入3 3向量网络的输出向量网络的输出(shch)(shch):p=1 3 2;2 4 1;p=1 3 2;2 4 1;a=sim(net,p)a=sim(net,p)第25页/共47页第二十六页,共47页。网络网络(wnglu)训练训练 一旦网络加权和偏差被初始化,网络就可以开始训练了。我们能够(nnggu)训练网络来做函数近似(非线性后退),模式结合,或者模式分类。训练处理需要一套适当的网络操作的例子-网络输入

39、p和目标输出t。在训练期间网络的加权和偏差不断的把网络性能函数减少到最小。前馈网络的缺省性能函数是均方误差mse-网络输出和目标输出t之间的均方误差。第26页/共47页第二十七页,共47页。反向传播反向传播反向传播反向传播(chunb)(chunb)算法算法算法算法 反向传播学习算法最简单的应用是沿着性能函数最速增反向传播学习算法最简单的应用是沿着性能函数最速增加的方向加的方向-梯度的负方向更新权重和偏置。这种递归算梯度的负方向更新权重和偏置。这种递归算法可以写成:法可以写成:xk+1=xk-a k*g k xk+1=xk-a k*g k 这里这里xkxk是当前权重和偏置向量,是当前权重和偏置

40、向量,g kg k是当前梯度,是当前梯度,a ka k是是学习速率。学习速率。有两种不同的办法实现梯度下降算法:增加模式和批处有两种不同的办法实现梯度下降算法:增加模式和批处理模式。在增加模式中,网络理模式。在增加模式中,网络(w(w nglu)nglu)输入每提交一输入每提交一次,梯度计次,梯度计算一次并更新权重。在批处理模式中,当所有的输入都算一次并更新权重。在批处理模式中,当所有的输入都被提交后网络被提交后网络(w(w nglu)nglu)才被更新。才被更新。第27页/共47页第二十八页,共47页。增加增加增加增加(zngji)(zngji)模式训练法(模式训练法(模式训练法(模式训练法

41、(ADAPTADAPT)现在我们就可以开始训练网络了。当然我们要指定输入现在我们就可以开始训练网络了。当然我们要指定输入值和目标值如下所示:值和目标值如下所示:p=-1-1 2 2;0 5 0 5;p=-1-1 2 2;0 5 0 5;t=-1-1 1 1;t=-1-1 1 1;如果我们要在每一次提交输入后都更新权重,那么我们如果我们要在每一次提交输入后都更新权重,那么我们需要将输入矩阵和目标矩阵转变需要将输入矩阵和目标矩阵转变(zhu(zhu nbin)nbin)为细胞数为细胞数组。每一个细组。每一个细胞都是一个输入或者目标向量。胞都是一个输入或者目标向量。p=num2cell(p,1);t

42、=num2cell(t,1);p=num2cell(p,1);t=num2cell(t,1);现在就可以用现在就可以用adaptadapt来实现增加方式训练了来实现增加方式训练了:net,a,e=adapt(net,p,t);net,a,e=adapt(net,p,t);训练结束以后,就可以模拟网络输出来检验训练质量了。训练结束以后,就可以模拟网络输出来检验训练质量了。a=sim(net,p)a=-0.9995-1.0000 1.0001 1.0000 a=sim(net,p)a=-0.9995-1.0000 1.0001 1.0000 第28页/共47页第二十九页,共47页。n n带动力的梯

43、度下降(LEARDGDM)n n批处理训练方式(fngsh)n n批处理梯度下降法(TRAINGD)n n带动量的批处理梯度下降法(批处理训练方式(fngsh)TRAINGDM)第29页/共47页第三十页,共47页。例例例例1 1、蠓虫分类、蠓虫分类、蠓虫分类、蠓虫分类(fn li)(fn li)问题问题问题问题1 1、蠓虫分类问题、蠓虫分类问题 生物学家试图对两种蠓虫(生物学家试图对两种蠓虫(AfAf与与ApfApf)进行鉴别,依据的)进行鉴别,依据的资料是触角和翅膀的长度,已经测得了资料是触角和翅膀的长度,已经测得了9 9支支AfAf和和6 6支支ApfApf的数的数据如下:据如下:Af:

44、(1.24,1.27)Af:(1.24,1.27),(1.36,1.74)(1.36,1.74),(1.38,1.64)(1.38,1.64),(1.38,1.82)(1.38,1.82),(1.38,1.90)(1.38,1.90),(1.40,1.70)(1.40,1.70),(1.48,1.82)(1.48,1.82),(1.54,1.82)(1.54,1.82),(1.56,2.08)(1.56,2.08);Apf:(1.14,1.82)Apf:(1.14,1.82),(1.18,1.96)(1.18,1.96),(1.20,1.86)(1.20,1.86),(1.26,2.00)(1

45、.26,2.00),(1.28,2.00)(1.28,2.00),(1.30,1.96).(1.30,1.96).(i i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。(ii ii)对触角和翼长分别为)对触角和翼长分别为(1.24,1.80)(1.24,1.80),(1.28,1.84)(1.28,1.84)与与(1.40,2.04)(1.40,2.04)的的3 3个个标本,用所得到的方法加以识别标本,用所得到的方法加以识别(shbi)(shbi)。(iii iii)设)设AfAf是宝贵的传粉益虫,是宝贵的传粉益虫,ApfApf是某

46、疾病的载体,是否应该修是某疾病的载体,是否应该修改分类方法。改分类方法。第30页/共47页第三十一页,共47页。问题分析问题分析问题分析问题分析(fnx)(fnx):要求依据已知资料(:要求依据已知资料(:要求依据已知资料(:要求依据已知资料(9 9支支支支AfAf的数据和的数据和的数据和的数据和6 6支支支支ApfApf的数据)制的数据)制的数据)制的数据)制定一种分类方法,类别是已经给定的(定一种分类方法,类别是已经给定的(定一种分类方法,类别是已经给定的(定一种分类方法,类别是已经给定的(AfAf或或或或ApfApf)。我们将)。我们将)。我们将)。我们将9 9支支支支AfAf及及及及6

47、 6支支支支ApfApf的数据集合称之为学习样本。的数据集合称之为学习样本。的数据集合称之为学习样本。的数据集合称之为学习样本。2 2 多层前馈网络多层前馈网络多层前馈网络多层前馈网络为解决此问题,考虑一个其结构如下图所示的人工神经网络为解决此问题,考虑一个其结构如下图所示的人工神经网络为解决此问题,考虑一个其结构如下图所示的人工神经网络为解决此问题,考虑一个其结构如下图所示的人工神经网络输入(shr)层输出(shch)层中间层(隐层)第31页/共47页第三十二页,共47页。以以以以s=1,2,s=1,2,15,15,分别表示学习样本,分别表示学习样本,分别表示学习样本,分别表示学习样本(yn

48、gbn)(yngbn)中的中的中的中的1515个样个样个样个样品,对样品品,对样品品,对样品品,对样品s s而言,对任何一组确定的输入而言,对任何一组确定的输入而言,对任何一组确定的输入而言,对任何一组确定的输入I_ks(k=1,2)I_ks(k=1,2)隐隐隐隐单元单元单元单元j j 的输入是的输入是的输入是的输入是相应的输出状态是相应的输出状态是相应的输出状态是相应的输出状态是网络的最终输出是网络的最终输出是网络的最终输出是网络的最终输出是第32页/共47页第三十三页,共47页。对于任何一组确定的输入对于任何一组确定的输入 ,输出是所有权的函数。,输出是所有权的函数。如果我们能够选定一组适

49、当的权值,使得对应于学习如果我们能够选定一组适当的权值,使得对应于学习样本中任何一组样本中任何一组AfAf样品样品(yngp(yngp n)n)的输入,输出为的输入,输出为(1,0)(1,0),对应于,对应于ApfApf的输入数据,输出为的输入数据,输出为(0,1)(0,1),那么蠓虫分类问题实际,那么蠓虫分类问题实际上就解决了。因为,对于任何一个未知类别的样品上就解决了。因为,对于任何一个未知类别的样品(yngp(yngp n)n),只,只要将其触角及翅膀长度输入网络,视其输出模式靠近要将其触角及翅膀长度输入网络,视其输出模式靠近(1,0)(1,0)亦或亦或(0,1)(0,1),就可能判断其

50、归属。当然,有可能出,就可能判断其归属。当然,有可能出现现介于中间无法判断的情况。介于中间无法判断的情况。现在的问题是,如何找到一组适当的权值,实现上面所现在的问题是,如何找到一组适当的权值,实现上面所设想的网络功能。设想的网络功能。第33页/共47页第三十四页,共47页。3 3 向后传播算法向后传播算法向后传播算法向后传播算法在在在在19851985年,美国加州大学的一个研究小组提出了所谓向后传播算法年,美国加州大学的一个研究小组提出了所谓向后传播算法年,美国加州大学的一个研究小组提出了所谓向后传播算法年,美国加州大学的一个研究小组提出了所谓向后传播算法(Back-PropagationBa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com