神经网络基础知识.doc

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

实验十二:神经网络及其在数据拟合中的应用(设计性实验) 一、实验目的 1、了解神经网络的基本知识。 2、学会用matlab神经网络工具箱进行数据拟合。 3、通过实例学习matlab神经网络工具箱的应用。 二、实验原理 人工神经网络是在对复杂的生物神经网络研究和理解的基础上发展起来的。我们知道,人脑是由大约个高度互连的单元构成,这些单元称为神经元,每个神经元约有个连接。仿照生物的神经元,可以用数学方式表示神经元,引入人工神经元的概念,并由神经元的互连可以定义出不同种类的神经网络。 1、神经网络的概念及结构 单个人工神经元的数学表示形式如图1所示。其中,为一组输入信号,它们经过权值加权后求和,再加上阈值,则得出的值。可以认为该值为输入信号与阈值所构成的广义输入信号的线性组合。该信号经过传输函数可以得出神经元的输出信号。 图1 由若干个神经元相互连接,则可以构成一种网络,称为神经网络。由于连接方式的不同,神经网络的类型也不同。这里仅介绍前馈神经网络,因为其权值训练中采用误差逆向传播的方式,所以这类神经网络更多地称为反向传播(back propagation)神经网络,简称BP神经网络。BP网的基本结构如下图所示: MATLAB的神经网络工具箱提供了现成的函数和神经网络类,可以使用newff()函数来建立一个前馈的BP神经网络模型。newff()的具体调用格式如下: net=newff(x,y,[h1,h2,…,hk],{f1,f2,…,fk}) 其中,x为输入向量,y为输出(目标)向量。[h1,h2,…,hk]是一个行向量,用以存储神经网络各层的节点数,该向量的大小等于神经网络隐层的层数。{f1,f2,…,fk}为一个元胞数组,由若干个字符串构成,每个字符串对应于该层的传输函数类型。当这些参数设定好后,就建立了一个神经网络数据对象net,它的一些重要属性在下表给出。 2、神经网络的训练和泛化 若建立了神经网络模型net,则可以调用train()函数对神经网络参数进行训练。该函数的调用格式为: [net,tr,y1,e]=train(net,x,y) 其中,变量x为的矩阵,为输入变量的维数,为样本的组数,y为的矩阵,为输出变量的维数,x,y分别存储样本点的输入和输出数据。由样本点数据进行训练,则可以得出训练后的神经网络对象net,且可以返回其它相关的内容,tr为结构体数据,返回训练的相关跟踪信息,tr.epochs为训练步数,tr.perf为各步目标函数的值。y1和e矩阵分别返回由神经网络计算出的输出和误差矩阵。在训练过程中将每隔25步自动显示一次训练指标。训练结束后还可以用下面的语句绘制出目标值曲线: plotperf(tr) 如果在给出的最大训练步数下无法得出满足要求的网络,则将给出错误的信息提示。用户可以再调用该函数一次,这时将以上次的训练结果加权矩阵为初值继续训练,用户可以循环调用该语句。如果误差在几次循环调用后仍无显著改善,则说明网络结构有问题,应该修改网络结构。 神经网络训练完成后,可以利用该网络对样本区域内的其他输入量求解其输出值,这种求值的方法称为神经网络的仿真或泛化(generalization),可以理解为利用神经网络进行数据拟合,对新的输入点数据x1调用sim()函数进行泛化,得出这些输入点处的输出矩阵y1,且 y1=sim(net,x1) 神经网络是否成功不在于对样本点本身拟合误差的大小,而关键在于其泛化效果。如果对样本点以外的其他输入点均有较好的拟合效果,则说明该神经网络结构合理。否则,训练出来的神经网络没有应用价值。 例:产生一组数据: x=-1?:0.2?:1?;y=1./(1+25*x.^2)?; x0=-1?:0.1?:1?;y0=1./(1+25*x0.^2)?; 其中,x, y为训练数据,x1, y1为测试数据。由数据可知,输入变量x为一维数据,取值范围分别为[-1,1]。利用newff()函数建立BP神经网络。设定其有2个隐层,第1隐层有5个节点,该层神经元采用tansig传输函数,第2隐层含1个节点,传输函数为tansig()函数,建立神经网络模型: net=newff(x,y,5,{‘tansig’})?; net=train(net,x,y) ; %用x,y训练网络 y1=sim(net,x0) ; %调用sim()函数进行泛化 figure,plot(x,y,o,x0,y0,x0,y1,:) ; %从图形上看神经网络的泛化能力c 用神经网络对二元函数进行曲面拟合。 例: [x,y]=meshgrid(-3:.6:3, -2:.4:2); x=x(:); y=y(

文档评论(0)

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

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

1亿VIP精品文档

相关文档