BP神经网络结构.doc

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

BP神经网络结构 如图3-1所示结构,BP神经网络是一种单向传播的多层前馈型神经网络结构。其拓扑结构包括输入层(input)、中间层(hide layer)和输出层(output layer)。信息和误差分别经过正向传播以及反向传播合成了BP神经网络。由输入层来处理传入的各种信息,再传输给中间层,再由中间层到输出层。这里神经网络的输入(包括全部输入和部分输入)是在对神经元加权和之后综合出来的,与此同时对应的输出也是在依据非线性传递函数后输出来的。神经网络工作时通常将S型函数作为激活函数,工作后的输出数据是从0到1之间的数据,这种工作方式实现了输入到输出的非线性映射。它可以利用对样本的训练完成从输入到输出的任意一个非线性函数的对应关系的映射,而且利用建立这种映射关系离开体现对象的内在规律[7]。 BP神经网络的学习算法 各符号的形式及意义说明: 网络输入向量=(); 网络目标向量 中间层单元输入向量,输出向量 输出层单元输入向量,输出向量 输入层至中间层的连接权 中间层至输出层的连接权 中间层各单元的输出阈值 输出层各单元的输出阈值 参数 = 1 \* GB2 \* MERGEFORMAT ⑴初始化。给每个连接权值、、和在区间(-1,1)内进行赋值,值为随机。 = 2 \* GB2 \* MERGEFORMAT ⑵输入之前任意选取一组输入和目标样本提供给神经网络进行训练预测。 = 3 \* GB2 \* MERGEFORMAT ⑶计算中利用、连接权值和阈值算出中间层的输入,下一步利用在传递函数的基础上计算出中间层各单元的输出。 = (3-1) = (3-2) = 4 \* GB2 \* MERGEFORMAT ⑷根据第三步得出的、和算出输出层各单元的输出,再通过一定的函数关系得到输出层各单元的响应。 = (3-3) = (3-4) = 5 \* GB2 \* MERGEFORMAT ⑸经由目标向量,输出,得出输出层的各单元的一般化误差。 = (3-5) = 6 \* GB2 \* MERGEFORMAT ⑹利用、和中间层的输出计算中间层各单元的一般化误差。 (3-6) = 7 \* GB2 \* MERGEFORMAT ⑺利用与中间层各单元的输出来修复改正和。 = 8 \* GB2 \* MERGEFORMAT ⑻利用,输入=()来修复改正和。 = 9 \* GB2 \* MERGEFORMAT ⑼任意选择下一个样本向量传输到神经网络的输入层,再重复步骤 = 3 \* GB2 \* MERGEFORMAT ⑶的工作,最终到选取的样本数据总量全部训练完成[8]。 对央视财经50指数的样本数据进行预处理 由于MATLAB软件的原因在对央视财经50指数仿真分析时首先要对样本数据归一化处理,这样可以减少由于500个数据太大太多而造成的网络仿真问题,只有数据在一定的范围内时才可以有效的是数据整齐划一,图像平整平滑,进而也可以消除不该有的问题。 BP神经网络模型的建立及仿真 在开始对央视财经50指数的预测研究之前,首先选择了最为广泛使用的BP神经网路。选取500组数据进行预测,通过央视财经50指数的开盘价、最高价、最底价、收盘价以及成交量作为训练过程中的样本,通过对这些样本的训练,来估计次日的收盘价。采用动态BP神经网络,输入层是5个输入,一个输出层,对于隐单元数,根据公式得出所需隐层神经元的范围,再通过加一减一的方式得出针对自己所需要的隐层神经元个数,此处可为8,在此基础上创建BP神经网络[18]。 1、BP神经网络模型 net=newff([minmax(p1n)],[5,3,1],{'tansig(正切sigmoid激励型函数)','tansig','purelin(线性激励函数)'},'trainlm'); 其中newff是创造一个误差反向传播神经网络 训练模式的选择 此次对央视财经50指数的研究仿真分析,程序中我的设定训练次数为1000次,训练精度为0.01,具体的程序段为: net.trainParam.epochs=1000; net.trainParam.goal=0

文档评论(0)

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

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

1亿VIP精品文档

相关文档