资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,人工神经网络建模专题,Artificial Neural Network,生物神经元之间的相互连接从而让信息传递的部位披称为突触(Synapse)。突触按其传递信息的不同机制,可分为化学突触和电突触、其中化学突触占大多数,其神经冲动传递借助于化学递质的作用。生物神经元的构造大致描述如以下图所示。,什么是神经网络模型?,定义一:神经网络,有时也称作多层感知器MLPs,本质上是人脑处理信息方式的简化模型。它通过模拟大量相互连接的简洁处理单元工作,这些处理单元似乎神经元的抽象化版本。,定义二:神经网络是指用大量的简洁计算单元即神经元构成的非线性系统,它在肯定程度上仿照了人脑神经系统的信息处理、存储及检索功能。,定义三:一个神经网络是一个由简洁处理元构成的规模宏大的并行分布式处理器。自然具有存储学问和使之可用的特性。神经网络在两个方面与人脑相像:,1.神经网络获得的学问是从外界环境中学习得到的。,2.互连神经元的连接强度,即突触权值,用于储存猎取的学问。,多层感知器 假设在输入和输出层间加上一层或多层的神经元(隐层神经元),就可构成多层前向网络,这里称为多层感知器。这里需指出的是:多层感知器只允许调整一层的连接权。这是由于按感知器的概念,无法给出一个有效的多层感知器学习算法。,上述三层感知器中,有两层连接权,输入层与隐层单元间的权值是随机设置的固定值,不被调整;输出层与隐层间的连接权是可调整的。,1.2激活传递函数的取法,在Matlab工具箱里包括了很多激活传递函数。在“Transfer Function Graphs”中可以找到它们的完全列表,函数名 功 能,purelin 线性传递函数,hardlim 硬限幅递函数,hardlims 对称硬限幅递函数,satli 饱和线性传递函数,satlins 对称饱和线性传递函数,logsig 对数S 形传递函数,tansig 正切S 形传递函数,radbas 径向基传递函数,compet 竞争层传递函数,1.3、网络构造以及工作方式,从连接方式看NN主要有两种网络拓扑构造:,前馈型网络:结点分为输入单元和计算单元,反响型网络:全部结点都是计算单元,NN的工作过程主要分为两个阶段:,第一阶段:学习期,此时个计算单元状态不变,各连线上的权值可通过学习来修改,其次阶段:工作期,此时各连接权值固定,计算各单元状态变化,网络构造:前馈型神经网络,两个或更多的上面所示的神经元可以组合成一层,一个典型的网络可包括一层或者多层。我们首先来争论神经元层。,单层神经元网络,有R输入元素和S个神经元组成的单层网络如以下图所示,n1=net.IW1,1*p+net.b1,多层神经元网络,上面所示的网络有R1个输入,第一层有S1个神经元,其次层,有S2个神经元,中间层的输出就是下一层的输入。其次层可看作有S1个输入,S2个神经元和S1xS2 阶权重矩阵W2 的单层网络。其次层的输入是a1,输出是a2,现在我们已经确定了其次层的全部向量和矩阵,我们就能把它看成一个单层网络了。其他层也可以照此步骤处理。多层网络的功能特别强大。例、一个两层的网络,第一层的转移函数是曲线函数,其次层的转移函数是线性函数,通过训练,它能够很好的模拟任何有有限断点的函数。这种两层网络集中应用于“反向传播网络”。留意:我们把第三层的输出a3标记为y。我们将使用这种符号来定义这种网络的输出。,神经网络模型节点,神经网络模型的学习过程(A)模型的特点1、有指导的学习2、前馈网络3、反向传播算法(B)可变参数1、隐含层的数目2、学习效率3、动态常量4、停顿准则,神经网络模型节点,神经网络的主要特点 并行分布处理并行构造和并行实现,适于实时和动态处理 非线性映射可以处理非线性问题 适应和集成适用于简单、大规模和多变量系统,可以在线 运行和定性定量分析 自学习训练可以解决数学模型和规章难以解决的问题,Clementine中神经网络的特有功能:,敏感度分析:以帮助解释神经网络结果 修剪和验证:以避开过度训练 动态网络 :自动找出适宜的网络构造设计,神经网络模型节点,神经网络模型的主要功能,分类Cl,猜测Pr,掌握Ct,函数拟合Ft,神经网络的缺乏:,模型为黑匣子,得到的结果不易解释,模型可能会消失过拟合的状况,结果可能是局部最小值,而非全局最优值,1.4创立网络,newp 创立感知器网络,newlind 设计一线性层,newlin 创立一线性层,newff 创立一前馈 BP 网络,newcf 创立一多层前馈 BP 网络,newfftd 创立一前馈输入延迟 BP 网络,newrb 设计一径向基网络,newrbe 设计一严格的径向基网络,newgrnn 设计一广义回归神经网络,newpnn 设计一概率神经网络,newc 创立一竞争层,newsom 创立一自组织特征映射,newhop 创立一 Hopfield 递归网络,newelm 创立一 Elman 递归网络,1.5数据构造:影响网络仿真的输入数据构造的格式,静态网络中的同步输入仿真:,例1,动态网络中的异步输入仿真:当网络中存在延迟时,挨次发生的输入向量就要按肯定的序列输入网络。为了演示这种状况,我们以一个有延迟的简洁网络为例。,动态网络中的同步输入仿真,假设我们在上例中把输入作为同步而不是异步应用,我们就会得到完全不同的响应。这就好象每一个输入都同时加到一个单独的并行网络中。在前一个例子中,假设我们用一组同步输入,我们有:,p1=1,p2=2,p3=3,p4=4,这可用以下代码创立:P=1 2 3 4;,模拟这个网络,我们得到:,A=sim(net,P),A=,1 2 3 4,在某些特定的状况下,我们可能想要在同一时间模拟一些不同序列的网络响应。这种状况我们就要给网络输入一组同步序列。比方说,我们要把下面两个序列输入网络:,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=1 4 2 3 3 2 4 1;,现在我们就可以模拟这个网络了:,A=sim(net,P);,网络输出结果将是:,A=1 4 4 11 7 8 10 5,可以看到,每个矩阵的第一列是由第一组输入序列产生的输出序列,每个矩阵的其次列是由其次组输入序列产生的输出序列。这两组序列之间没有关联,好象他们是同时应用在单个的并行网络上的。,前面的争论中,不管是作为一个同步向量矩阵输入还是作为一个异步向量细胞数组输入,模拟的输出值是一样的。,在训练网络时,这是不对的。当我们使用adapt函数时,假设输入是异步向量细胞数组,那么权重将在每一组输入提交的时候更新就是增加方式;假设输入是同步向量矩阵,那么权重将只在全部输入提交的时候更新就是批处理方式。,1.6,训练方式,两种不同的训练方式(1)增加方式:每提交一次输入数据,网络权重和偏置都更新一次;(2)在批处理方式中:仅仅当全部的输入数据都被提交以后,网络权重和偏置才被更新.,增加方式应用于自适应网络和其他网络 虽然增加方式更普遍的应用于动态网络,比方自适应滤波,但是在静态和动态网络中都可以应用它。,静态网络中的增加方式,用增加方式来训练静态同步仿真中的例1,这样每提交一次输入数据,网络权重和偏置都更新一次。,在此我们用函数adapt,并给出输入和目标序列:假定我们要训练网络建立以下线性函数:t=2p1+p2.,我们的输入是:,目标输出是:t1=4,t2=5,t3=7,t4=7,首先用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=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,a,e,pf=adapt(net,P,T);,由于学习速度为0,网络输出仍旧为0,并且权重没有被更新。错误和目标输出相等。,a=0 0 0 0 e=4 5 7 7,假设我们设置学习速度为0.1,我们就能够看到当每一组输入提交时,网络是怎么调整的了。,net.inputWeights1,1.learnParam.lr=0.1;,net.biases1,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,2、BP神经网络,2.1、概述,BP网络是承受Widrow-Hoff学习算法和非线性可微转移函数的多层网络。一个典型的BP网络承受的是梯度下降算法,也就是Widrow-Hoff算法所规定的。backpropagation就是指的为非线性多层网络计算梯度的方法。现在有很多根本的优化算法,例如变尺度算法和牛顿算法。神经网络工具箱供给了很多这样的算法。,一个经过训练的BP网络能够依据输入给出适宜的结果,虽然这个输入并没有被训练过。这个特性使得BP网络很适合承受输入/目标对进展训练,而且并不需要把全部可能的输入/目标对都训练过。为了提高网络的适用性,神经网络工具箱供给了两个特性-规章化和早期停顿。,2.2、根底 网络构造 1常用的前馈型BP网络的转移函数有logsig,tansig有时也会用到线性函数purelin。当网络的最终一层承受曲线函数时输出被限制在一个很小的范围内,假设承受线性函数则输出可为任意值。假设需要也可以创立其他可微的转移函数。2在BP网络中,转移函数可求导是特别重要的,tansig、logsig和purelin都有对应的导函数dtansig、dlogsig和dpurelin。为了得到更多转移函数的导函数,可以输入tansig(deriv)ans=dtansig,网络构建和初始化,训练前馈网络的第一步是建立网络对象。,函数newff建立一个可训练的前馈网络。,net=newff(PR,S1 S2.SNl,TF1 TF2.TFNl,BTF,BLF,PF),这里需要4个输入参数。,第一个参数是一个RxS1的矩阵以定义R个输入向量的最小值,和最大值。,其次个参数是一个每层神经元个数的数组。,第三个参数是包含每层用到的转移函数名称的细胞数组。,最终一个参数是用到的训练函数的名称。,例、创立一个二层网络,它的输入是两个元素的向量,第一层有四个神经元,其次层有三个神经元。第一层的转移函数是tan-sigmoid,输出层的转移函数是linear。,输入向量的第一个元素的范围是-1到2,输入向量的其次个元素的范围是0到5,训练函数是traingd。,net=newff(-1 2;0 5,4,3,tansig,purelin,traingd);,这个命令建立了网络对象并且初始化了网络权重和偏置,因此网络就可以进展训练了。,在训练前馈网络之前,权重和偏置必需被初始化。初始化权重和偏置的工作用命令init来实现。net=init(net);对前馈网络来说,有两种不同的初始化方式常常被用到:initwb和initnw。1initwb函数依据每一层自己的初始化参数(net.inputWeightsi,j.initFcn)初始化权重矩阵和偏置。前馈网络的初始化权重通常设为rands,它使权重在-1到1之间随机取值值,这种方式常常用在转换函数是线性函数时。2initnw通常用于转换函数是曲线函数。它依据Nguyen和WidrowNgWi90为层产生初始权重和偏置值,使得每层神经元的活动区域能大致平坦的分布在输入空间。它比起单纯的给权重和偏置随机赋值有以下优点:1削减神经元的铺张由于全部神经元的活动区域都在输入空间内。2有更快的训练速度由于输
展开阅读全文