基于BP神经网络湖北省人口预测.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于BP神经网络湖北省人口预测

基于BP神经网络湖北省人口预测   摘 要 人口系统是一个非常复杂的非线性系统,对人口数量的准确预测能为生态经济够为可持续发展计划的制定提供重要依据,为此建立了一维时间序列的湖北省人口数量的BP神经网络模型。根据1978~2010年湖北省人口统计数据,借助Matlab7.0软件进行预测,并与一元线性回归预测、二次指数平滑法的预测结果进行比较, 结果表明应用BP神经网络对人口数量的预测精度更高,效果更好。   关键词 BP神经网络 人口预测 时间序列   一、人口预测模型的建立   (一)BP网络的构建   BP神经网络也叫做误差反向传播神经网络,它是由非线性变换单元组成的前馈网络,利用它可以实现多层前馈神经网络权值的调节。从机构上讲,BP网络是一种分层型的典型多层网络,具有输入层、隐含层和输出层,层与层之间多采用全连接的方式。同一层的单元之间不存在相互连接,每一层的权值都可以通过学习来调整。   (二)网络层数、神经元数、传递函数与学习算法的确定   经充分学习的三层BP神经网络可以逼近任何函数,输入层节点数一般要等于要训练的样本矢量维数,可以是原始数据的维数或提取的特征维数;输出层节点数最终确定输入层节点数为4个,输出层节点数为1个。   隐含层节点数的选择是一个非常复杂的问题,隐含层节点数过少,容错性差,识别与学习的样本的能力低;隐含层节点数过多会增加网络训练时间,并将样本中非规律的内容存储进去,经过反复试验,确定隐含层节点数为9。   转移函数决定了神经元的连接方式,在神经网络中的作用非常重要。在BP网络中,涉及的转移函数有很多种,如purelin、tansig、logsig等。   二、预测模型的应用   (一)样本数据选取与预处理   以湖北省1978~2010年的人口数量为依据,进行实证分析和检验。历年人口数据是一维时间序列,但BP神经网络要求用多组输入来训练网络,且输入范围一般定在[0,1]。在网络的学习训练中,由于传递函数的输出限制,学习过程中有较多数量级相差很大的数据要通过一定的计算而转化为0~1的输出值。对数据进行归一化的方法有很多,本文根据式(1)进行预处理,其变化规则为:P(t)=p(t)/10n (1),(1)式中,n为所有统计数据中最大值的整数位数,这里n=4。经过预处理的数据序列p(t)根据确定的网络结构划分为训练样本和检验样本,具体如下:输入样本集p=[p(t-4),p(t-3),p(t-2),p(t-1)],输出样本集t=[p(t)],其中t=1978,1979,……2010。同时,选择1978~2007年的数据作为学习样本集,2008~2010年的数据作为检验样本集。用学习样本集对网络进行训练,并且利用完成训练的神经网络进行模拟。   (二)基于Matlab的BP网络的人口预测   在Matlab中,对于BP网络的实现,其提供了3个基本函数:newff,train和sim,分别对应于新建、训练和仿真三个步骤。   1、新建newff函数。   要实现一个BP网络的训练和仿真,首先需要创建一个BP网络,newff就是为了完成此项操作。建立一个三层网络模型(包括输入层、隐含层和输出层)的基本代码如下:net=newff(minmax(p),[NodeNum TypeNum],{‘tansig’,‘purelin’},‘trainlm’)   2、训练train函数。   BP网络初始化之后,就可以对其进行训练。函数train 采用的是批处理方式进行如下的网络连接权值和阀值的更新,并按照设置的参数(如学习步长、误差目标等)进行:net.performFcn=’mse’;%表示采用均方误差来评价网络性能指数;net.trainParam.show=200;%表示训练间隔为200次就显示一次结果;net.trainParam.goal=le-8;%表示网络均方误差的目标值;net.trainParam.epochs=2000;%表示允许的最大训练周期数;net=train(net,p,t);%开始训练,其中p,t分别是输入、输出向量;训练结束后得到的net就是利用训练样本建立的BP神经网络模型,也就是建立了输入模型与输出模型之间的映射关系。   3、仿真sim函数。   仿真sim函数就是用建立好的神经网络进行仿真。其调用的形式为:X=sim(net,P)其中,net为训练好的网络对象,P为输入向量或矩阵,X为网络输出。如果P为向量,则为单点仿真,P为矩阵,则为多点仿真。利用sim函数,可以在网络训练前后分别进行输入和输出的仿真,加以比较,从而对网络进行修改评价。最后,利用检验样本可以检验训练得到的网络模型预测的效果。网络训练好之后,将检验样本代入,预测p(2

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档