基于MATLABD的BP神经网络.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLABD的BP神经网络

基于MATLABD的BP神经网络 一、BP网络模型 BP神经网络,也称为多层前馈神经网络,是一种利用BP算法或称“广义准则”训练的反向传播神经网络,BP由网络由输入层、隐层和输出层组成。层与层之问采用全互连方式,同一层之间不存在相互连接,隐层可以有一个或多个。连接权的调整采用的是反向传播(Back Propagation)的学习算法。BP神经网络的主要思想是把学习的过程分为两个部分,一部分是信息流在输入层和隐含层中得到计算处理并由输出层输出;另一部分则是根据输出和期望输出之间的误差值进行调节网络权重的反向传播。神经元是神经网络最基本的处理单元,神经元的变换函数采用S型函数,因此输出量是0到1之间的连续量,它可实现从输入到输出的任意的非线性映射。利用样本集首先对BP网络进行训练,也即对网络的连接权系数进行学习和调整,以使该网络实现给定的输入输出映射关系,这就是BP神经网络的学习。经过训练的BP网络,对于不是样本集中的输入也能给出合适的输出。该性质称为泛化(generalization)功能。标准的BP算法是一种梯度下降学习算法,其权值的修正是沿着误差性能函数梯度的反方向进行的。在前向计算过程中,输入信息从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,通过修改各层的神经元的权值,使得网络系统误差最小。最终网络的实际输出与各自所对应的期望输出逼近。 由于BP神经网络存在样本数据比较复杂、训练中容易陷入局部极值、初始权值随机选取、网络结构难以确定等不足,直接影响到泛化能力的提高,限制了BP神经网络在实际中的推广和应用。为此,本文将采用贝叶斯正则化算法TRAINBR 二、基于MATLAB神经网络工具箱及其相关函数简介 BP神经网络设计时,需要确定网络的拓扑结构(隐层的层数及各层的神经元的数目)及其神经元的变换函数,网络的初始化,误差计算,学习规则及网络训练,训练参数及训练样本的归一化处理等方面的工作。在MATIAB神经网络工具箱中,有对应的函数完成所涉及到的全部计算任务。 1 设计BP网络的相关函数 1) 神经元变换函数:线性变换函数purelin、对数S型变换函数logsin、双曲线正切S型变换函数tansig。 2) BP网络生成函数newff:它是用来生成BP神经网络并进行初始化,可以确定网络层数、每层中的神经元数和变换函数。这个函数有六个输入参数,分别是:输入向量的范围、网络结构、各层变换函数、训练算法函数、学习函数和性能函数。输出参数为所生成的BP神经网络名net。其语法为:net=newff(PR,[S1,S2? ,SN1],[TF1,TF2,?TFN1],BTF,BLE,PE)。 其中:PR是一个由每个输入向量的最大最小值构成的Rx2矩阵,R为输入神经元数目。Si是第i层网络的神经元个数,网络共有N1层。TFi是第i层网络神经元的变换函数,缺省为tansig。BTF是BP训练算法函数,缺省为trainlm。BLF是学习函数,缺省为leamgdm。PF是性能函数,缺省为mse。 Newff在确定网络结构后会自动调用初始化函数init,用缺省参数来初始化网络中各个权值和阈值,产生一个可训练的前馈网络,即该函数的返回值net。 3) 初始化函数init:它是对网络的连接权值和阈值进行初始化。Newff在创建网络对象的同时,自动调动初始化函数,根据缺省的参数对网络进行连接权值和阈值初始化。 4) 学习函数:提供多种学习函数,用来修正权值和阈值。基本的学习函数有:leamgd、leamgdm。 5) 性能函数:它是用来计算网络的输出误差,为训练提供判据。 6) 训练函数train:BP网络的训练初始化后,可对它进行训练。训练网络的函数是train按设置的net.trainFcn和net.trainParam参数来训练网络,采用批处理方式进行网络的权值和阈值修正,最终达到设定的网络性能指标的要求。 7) BP训练算法函数:它是根据网络的输入、目标期望输出,对由函数newff生成的BP网络进行计算,修正其权值和阈值,最终达到设定的网络性能指标的要求。 8) 仿真函数sim:可以用来计算网络在给定输入下的输出。 9) 绘图函数poltperf:可以用来计算网络性能曲线 2 数据预处理 如果对神经网络的输入和输出数据进行一定的预处理,可以加快网络的训练速度。MATLAB提供的预处理方法有:归一化处理(将每组数据都变为-1至1之间数,所涉及的函数有premnmx、postmnmx、tramnmx)、标准化处理和主成分分析。 下面以归一化处理为例说明其用法,对于输入矩阵P和输出矩阵t进行归一化处理的语句为:[pn,minp,max

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档