BP神经网络-本科生毕业设计论文-小论文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于智能计算的水质预测预警系统的设计与实现温子铭1,刘双印1(1.广东海洋大学信息学院,广东湛江524088)摘要:及时准确地掌握水质变化趋势是确保水产品健康养殖的关键,为此,本设计采用智能计算与现代Web开发技术有机结合,以软件工程为指导,按照面向对象程序设计的方法,构建5种基于智能计算的水质预测预警模型;采用J2EE为开发工具设计实现了B/S架构的水质预测预警系统。该系统主要有水质数据管理、水质数据趋势展示、水质指标溶解氧浓度预测、水质预警管理等功能模块组成,用户界面友好,水质预测精度较高,能够满足水产养殖水质管理的需要。该系统的研制为提前掌握水质未来发展趋势、水污染预警提供基础数据和手段,为应对突发水质事件、水质调节、水产养殖生产管理与规划提供科学的决策依据,有一定的实用价值。关键词:水产养殖;水质趋势;J2EE;水质预测预警系统;智能计算;DesignandImplementationofWaterQualityPredictingandEarlyWarningSystemBaseonSmartComputingWenZiming,LiuShuangyin(1.InformationInstituteofGuangdongOceanUniversity,Zhanjiang,GuangDong524088)Abstract:Haveagoodcommandofwaterqualitytrendsintimeandaccuratelyisthekeytoassurehealthgrowthoftheaquaticproducts.Therefore,thisdesigniscombinedwithintelligentcomputingandmodernwebdevelopmenttechnology,ontheguidanceofsoftwareengineer,andalsoestablishedfivekindsofwaterqualitypredictingandearlywarningmodelsbasedonintelligenttechnologyaccordingtothemeasureofObject-OrientedProgramming;WeadoptedJ2EEasdevelopmenttooltoachievethewaterqualitypredictingandearlywarningsystembasedonB/Sframework.Thissystemmainlyincludedwaterqualitydatamanagementmodule,waterqualitydatatrendmodule,dissolvedoxygenpredictionmoduleandwaterqualityearlywarningmodule.It’susefulforusersandcanmeettheneedsofaquaticwaterqualitymanagement.Theestablishmentofthissystemprovidethebasicdataandmethodstohandlingthefuturewaterqualitytrendandwaterpollutionearlywarning.Andalsoprovidethescientificdecisionfordealingwiththewaterpollutionevents,waterqualityadjustment,aquaculturemanagementandplans.Ithaspracticalvalue.Keywords:Aquaculture,waterqualitytrend,J2EE,waterqualitypredictingandearlywarningsystem,intelligentcomputing.1引言我国是水产养殖大国,也是世界上唯一一个养殖产量超过捕捞产量的国家,水产养殖为解决食品供给、粮食安全、改善民生,增加农民收入等方面发挥了重要作用。但目前水产养殖业主要沿用大量消耗资源和粗放式经营的传统养殖模式,投饵、施药、施肥不科学不合理、极大地恶化了水产品赖以生存的水体环境,严重制约着水产养殖业健康可持续发展。为此,亟需利用智能信息处理技术对水产养殖水质进行准确预测,及时掌握养殖水质的变化规律,辨识水质异常变化并进行提前预警,对防范水质恶化与疾病爆发、水环境保护与治理提供科学决策依据,在实现水产品高产、优质、高效的健康养殖、推进渔业信息现代化中将发挥重要的作用。针对水产养殖过程中出现的水质问题和现有水质预测系统在实际应用过程中出现的问题,本文在研究当前水质方面期刊、书籍等之后,认为在这个智能化的年代,智能计算是水质预测的趋势,它将在未来的水质预测中扮演越来越重要的角色。智能计算讲求的是大量数据的学习,学习量越大,智能计算的数据处理能力就越强。相比之人脑,计算机拥有更强的运算能力,因此计算机对于智能计算的支持是完美的。在本文中,本人将通过基于水质预测预警系统的设计与实现来对智能计算与计算机的第一作者:温子铭,男,学士,广东人,2012届信息管理与信息系统专业。完美结合进行说明。2相关理论概述2.1信息技术相关理论概述面向对象的开发思想始终贯穿在系统开发的整个过程,所有能够提升系统性能、减轻工作负担的技术都是本人在开发过程中优先考虑的。本系统立足于J2EE平台的MVC架构进行开发,利用struts与spring整合技术将系统前后台代码分离、降低系统模块之间耦合度;采用springJDBC技术将Oracle数据库交给spring管理,大大减少了系统实现的代码;同时为减轻系统负担,能在数据库完成的处理一般优先考虑用PL/SQL来处理;在系统前台方面,本系统采用JSP技术进行开发,为了系统界面美观,同时加入了富客户端技术—ExtJS。系统测试表明,系统的前台页面比较美观,系统性能颇为突出,在前后台交互的实现中具有JSP+Servlet模式所不具有的能力。2.2BP神经网络算法概述BP神经网络是一种反向递推修正权数的非线性、多层前馈型神经网络,它具有很强的非线性映射能力、自学习自适应能力、容错能力和泛化能力,它可以通过学习映射关系,将学习内容记忆到网络中去,并且能够自动纠错,将学习成果应用于新知识中去[1]。BP神经网络的模型视图是一个拓扑结构,包括输入层、隐含层和输出层,其中,输入层和输出层都只有一层,而隐层可以有多层。如图2-1所示,样本数据通过与隐含层的映射送达输出层,最终处理得到网络的输出。关于BP神经网络的各层处理过程,将在下面的章节中涉及到。1x2x1Nx1y2y2Ny1z2z3Nz123N1T2Tihwhjw---隐含层输出层输入层3NT图2-1BP神经网络示意图2.3预测算法概述预测学是综合运用多学科知识和技术分析方法对事物规律与未来发展进行分析和研究的交叉学科。预测是估计事物及未来的变化趋势,采用数学的方法,可以从历史规律中预测未来。在本系统中,运用了时间序列平滑预测法的差分指数平滑法和移动平均法。他们的核心都是将被观察到的某种统计指标值依时间先后顺序排列,作为一个数据集合,抽取其数据规律,进而预测出未来的相关数据[2]。在本系统中,主要采用了移动平均法进行数据预测。移动平均法是以假定预测值与预测期相邻的若干观察期数据有密切关系为基础的一种方法。移动平均法是根据时间序列资料逐项推移,依次计算包含一定项数的时序平均数,以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析预测序列的长期趋势。移动平均法包含简单移动平均法、加权移动平均法和二重移动平均法。3水质预测关键技术分析水质预测预警系统的设计与实现是本次研究重点与难点,在本系统中,难点在于BP神经网络与智能预测算法在Java中的实现。3.1BP神经网络算法设计作为目前应用最广泛的神经网络模型之一,BP神经网络的“记忆”能力相当突出,能学习和存贮大量的输入-输出模式映射关系,在事前没有揭示描述这种映射关系的数学方程的情况下能通过学习出模型参数产生数学模型。那么这个数学模型怎么产生?这就涉及到BP神经网络的训练过程了,关于这个训练过程,将在BP算法训练过程那一节详细说明。神经网络算法都有两个过程,一个是训练过程,另一个是实现过程[3]。对于每一种神经网络,其基本思想都是通过训练得出权值作为模型参数生成神经网络非线性模型,然后通过实现过程使用训练出来的模型。训练过程又分为两种训练过程,一种是有导师的训练过程,另一种则是无导师训练过程。BP神经网络的训练过程是一个有导师的学习过程,所谓有导师学习过程是指在整个学习的过程中有对应的预期目标作为输出向导,BP神经网络的训练目的就是使最终输出更加拟合目标输出。下文将进一步讲述BP神经网络的训练过程。第一步:设置好已知参数,包括目标输出、预期平均误差、隐含层的数量与神经元个数、输出层的神经元个数、各层的权值与阀值等。预期的目标输出就是训练的导师,因为训练就是从已有的正确数据中进行的,因此训练的目标输出可以从往期数据中获取;预期平均误差,这个误差相当重要,它代表了训练输出与目标输出的拟合度,平均误差越小,训练次数会越多,相应的输出也会越趋近于目标输出;隐含层的数量与神经元个数一般是越多越好,但是越多,训练的收敛速度就会越慢,想得出网络的输出也就越难,因此正在规定隐层数量与神经元个数时应该重点考虑可行性,并不能一昧堆积个数;输出层的神经元个数一般以目标输出的个数为向导,有多少个目标输出,就有多少个输出层神经元;各层的权值作为各层神经元之间的连接、阀值作为修正参数,是BP神经网络最重要的一部分,也是其魅力所在,为了使网络输出结果不偏向某种情况,权值与阀值的取值必须随机化,即将其值全部随机定在(0,1)的区间之中。第二步:在设定好各种参数之后,确定每一样本的参数。每一样本的每个数据作为输入层神经元,所有样本计算做为一个学习周期,为了使网络能更快地收敛,应该将输入层神经元归一化,即将其按照式3.1转换为(0,1)之间的值,其中x是样本数据。minmaxmaxxxxxxii(3.1)第三步:确定样本数据之后,通过每一个样本数据对网络进行的计算。计算时首先将输入层神经元按照式3.2计算出隐含层输入,其中h表示隐含层,k表示第k个样本,ihw表示第i个输入层神经元与第h个隐含层神经元之间连接的权值,hb表示隐含层第h个神经元的阀值。计算隐含层输入之后通过可导函数(一般选择sigmond函数,如式3.3所示,其中x表示隐含层输入)处理得出隐含层输出;将第一层隐含层的输出作为下一隐含层的神经元进行下一隐含层输入计算,在通过可导函数处理得出下一层隐含层的输出如此反复计算,直至隐含层全部计算完;nihiihbkxwkhi1)()((3.2))1/(1)(xexf(3.3)第四步:将最后一层隐含层的输出作为输出层神经元按照式3.4求输出层输入,其中)(kyio表示第k样本的输出层输出,how表示最后层隐含层第h个神经元与输出第o个神经元之间的权值,hho表示第h个神经元的值,ob表示输出层第o个神经元的阀值。再通过式3.5处理得到输出层输出。将输出层输出与经过本样本中归一化处理后的目标输出按照式3.6求误差,得出其样本误差,其中ijE表示第j个样本的第i个输出的误差,ijT表示第j个样本的第i个预期输出,ijyo代表第j个样本的第i个实际输出。同时按照式3.7,式3.8求出输出层误差和输入层误差。完成本样本计算之后,进入下一个样本的计算,直至所有样本计算完毕,本周期训练才算是结束。phohhoobkhowkyi1)()((3.4)))(()(kyifkyooo(3.5)(3.6))1(**)()()2(pjpjpjkjjyoyoyoTk(3.7))1(**)](*[)()2

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功