BP神经网络-本科生毕业设计论文-小论文
基于BP神经网络的疾病诊断模型(论文)

基于BP 神经网络的疾病诊断模型郑楷洪 兰妙萍中国矿业大学计算机学院摘要:医生诊断就诊人员是否患肾炎时,通常要化验人体内各种元素含量,通过分析元素含量来判断病人是否患病。
为了能够方便准确的诊断疾病,需要通过建立更加实用的数学模型来应用于诊断设备,实现更加准确的诊断。
本文引出了—种BP 神经网络预测模型,通过对已有数据记录进行数学分析,找出简单有效的肾炎诊断方法。
用Matlab 神经网络工具箱以7种元素化验结果作为网络的输入接点设计了三层神经网络模型,计算并对其检验,得到满意的结果,并对30组就诊病人数据进行了预测。
关键词:肾炎诊断;BP 神经网络;数学模型;数据分析一、 引言在现代生活当中,许多疾病困扰着我们的生活,在某种程度上说诊断疾病是一项相当复杂的过程,需要对许多因素进行分析,有时甚至会出现误诊,而且有时需要花销大量费用。
为了节约费用且能够方便准确的诊断疾病需要通过建立更加实用的数学模型来来应用于诊断设备,从而实现更加准确的诊断。
本文通过BP 神经网络构造出一个疾病诊断模型,通过对数据进行分析拟合来判断就诊人员是否患病。
二、 原理分析BP 神经网络可以是一种具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层,上下层之间实现全连接,而每层神经元间无连接。
当一对学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。
按照减少目标输出与实际误差的方向,从输出层经过各中间层逐层修正各连接权值,最后回到输入层,即BP 算法。
BP 算法通过“训练”这一事件来得到这种输入、输出间合适的线性或非线性关系。
“训练”的过程可以分为向前传输和向后传输两个阶段。
三、 实现方法或步骤流程下面我们就基于BP 人工神经理论来建模。
(1)初始化。
给每个连接权值mt lm v w ,,阈值t m γθ,赋予区间(-1,1)内的随机值。
(2)随机选取一组输入和目标样本),...,,(),...,,(n 21n 21k k k k k k k k s s s T a a a P ==、提供给网络。
毕业论文BP神经网络在图像深度预测中应用

毕业论文BP神经网络在图像深度预测中应用BP神经网络在图像深度预测中应用摘要:深度预测是计算机视觉领域的重要研究方向之一。
该文提出了一种采用BP神经网络方法进行图像深度预测的新方法。
该方法使用BP神经网络结合反向传播算法对图像进行训练,从而预测每个像素点的深度。
实验结果表明,该方法有效地提高了图像深度预测的精度和效率。
关键词:深度预测;神经网络;BP算法;图像处理1.引言深度预测是计算机视觉领域的重要研究方向之一。
在计算机视觉领域中,图像深度预测是一种重要的图像处理技术。
它的主要目的是预测图像中每个像素点的深度。
图像深度预测是一个复杂的问题。
传统的图像深度预测方法采用线性回归模型和决策树模型。
然而,这些方法的预测精度受限,且不能满足实际的应用需求。
随着神经网络和深度学习技术的发展,它们被广泛应用于图像深度预测领域。
2.BP神经网络BP神经网络是一种常用的神经网络模型,它可以在监督学习的情况下进行训练。
BP神经网络通过误差反向传播算法训练网络,不断优化网络的权值和偏置,从而提高预测结果的准确性。
BP神经网络具有很好的非线性拟合能力,并且可以处理大规模、高维度的数据。
3.图像深度预测方法图像深度预测主要包括两个步骤,即训练和预测。
3.1 训练训练过程中,需要将图像所有像素点的深度作为训练数据,输入BP神经网络中。
BP神经网络将深度值作为训练目标,对图像进行训练,不断优化网络的权值和偏置,从而提高预测结果的准确性。
3.2 预测预测过程中,需要将待预测图像输入BP神经网络中。
神经网络将对输入图像进行计算,从而预测每个像素点的深度值。
预测结果可以通过扫描每个像素点获得。
4.实验利用400张图片,采用传统算法和本文提出的算法进行图像深度预测。
实验结果表明,利用BP神经网络方法进行图像深度预测可以在保持高精度的同时提高预测效率。
本文提出的算法拥有更高的预测精度和更快的预测速度,可以有效地用于实际应用中。
5.结论本文提出了一种基于BP神经网络的图像深度预测方法,通过在训练过程中使用反向传播算法,可以提高预测结果的准确性。
BP神经网络以及径向基网络的研究RBF毕业论文

Chen等人提出的正交最小二乘(Orthogonal Least Squares,OLS)算法,每次选择对网络输出影响最大的输入数据作为隐节点的中心,逐个加入RBF网络中,直到适当的网络构造出来为止[23]。这种方法不存在数值病态问题,简单高效,但是选择出来的网络结构不一定是最简单的。Chen又提出了正则化正交最小二乘(Regularized orthogonal least squares, ROLS),把OLS方法和正则化方法相结合,可以训练出网络结构简单泛化、性能优越的RBF网络[24]。Mao使用OLS消除隐层各单元响应的相关性[25],从而每个RBF隐层神经元的分类能力可以分别估计,此方法选择的网络结构简洁,而且隐节点的中心具有很强的分类能力。
2006年,Barreto等人提出了RBF网络基因正交最小二乘算法[39],这个算法在同一层次上混合了正交最小二乘算法和基因算法,吸收了两原始算法的长处,训练出来的RBF网络比仅试用正交最小二乘算法训练出来的网络的泛化性能要优越,而且计算复杂度小于标准遗传算法。
(7)离群点
1995年Sánchez提出了一种针对离群点的RBF网络的鲁棒学习算法[40],用定标鲁棒代价函数(Scaled Robust Loss Function,SRLF)代替通常学习算法使用的平方代价函数,然后使用共轭梯度法完成非线性优化过程,但这种算法不能自动选择隐节点的中心。1999年Chien-Cheng等提出了一种新的鲁棒RBF神经网络[41],具有高效的学习速率,合理的网络结构,可以用于拟合常数值函数,并且对离群点具有鲁棒性。1999年,刘妹琴等提出了一种结合改进遗传算法的RBF网络鲁棒学习算法[42],可以提高RBF网络的泛化性能,消除噪声影响,揭示训练数据的潜在规律,但是该算法的复杂度比较高。
模拟电路论文BP神经网络论文

模拟电路论文BP神经网络论文摘要:通过分析bp神经网络和elman神经网络的基本结构和算法,研究了基于神经网络的模拟电路故障诊断方法,并通过仿真实验对比分析了bp神经网络和elman神经网络的诊断能力。
结果表明,bp神经网络的收敛速度相对较慢、训练时间长;elman神经网络的结构参数调整简单、训练时间短、性能稳定,更适合存在容差、非线性等问题的模拟电路故障诊断。
关键词:模拟电路;故障诊断;bp神经网络;elman神经网络application of bp neural network and elman neural network in fault diagnosis of analog circuit yang chen, shi bao-jun(department of electronics and information engineering,lanzhou jiaotong university, lanzhou 730070, china)abstract: this article studies the method of fault diagnosis of analog circuit based on the neural network, by analyzing the basic structure and the algorithm of bp neural network and elman neural network. then it contrastive analysis the diagnosis ability of bp neuralnetwork andelman neural network through simulation. the results shows that bp neural network's convergence rate is relatively slow, and the training time is long; elman neural network's parameter is simple to adjust, the training time is short, stable performance, and it is more suitable to solve the questions like tolerance, non-linear and so on in fault diagnosis of analog circuit.key words: analog circuit; fault diagnosis; bp neural network; elman neural network由于模拟电路中广泛存在着容差、非线性等问题,导致模拟电路的故障诊断较为复杂。
BP神经网络风险评估论文-最新范文

BP神经网络风险评估论文摘要:软件需求分析不仅仅是为了让开发者满足用户要求,而且还可以帮助用户了解软件的性能和功能,具有一举两得的效果,但是如果软件需求不符合实际需求,就会出现风险,导致返工。
在BP神经网络的基础上,我们建立了软件需求分析风险评估模型,以减少软件开发的失败率,规避因软件需求分析失误而带来的实际存在的或潜在的风险。
关键词:风险;软件需求;BP神经网络;研究;分析软件开发过程中,需求分析是一个关键性的阶段。
导致它失败的原因有很多,例如开发者和用户之间的沟通障碍、软件本身的隐含性、需求信息的不对称等等。
这些问题导致的返工,增加了开发的成本,也损坏了企业形象,更可能流失掉部分用户。
因此,我们必须对软件需求分析进行风险评估管理,把负面影响降到最低。
现代商业发展中,各企业和企业之间的竞争日趋激烈,掌握最新的技术,对技术进行创新,才是企业在行业内立足脚跟,获得更加长远发展的方法,因此要想牢牢地把握企业的运命就需要我们保持对技术创新的热情,并在这条道路上乐此不疲。
21世纪,只有掌握了最新和最具有创造性的技术,才能赢的最后的胜利,本文把BP网络与软件需求分析风险评估模型相结合,具有十分重要的意义。
1BP神经网络BP神经网络是开发者使用最多的神经网络之一,它具有算法简单、极强的鲁棒性、收敛速度极快等优点。
最重要的一点是能够最大限度的接近其真实系统,非常适合于线性的、不确定的、模糊的软件风险数据。
BP算法是一种用于前向多层神经网络的的反传学习算法。
采用BP算法的数层感知器神经网络模型,它的基本思想是,学习过程由信号的正向传播和误差的反向传播两个过程组成。
模糊理论采用模糊数学的方法,通过抽象思维,对处于多种因素作用下的事物做出总体评价。
它的两大主要特征是:第一,结果清晰;第二,系统性强,这非常适合于各种非确定性问题的解决。
2软件需求分析风险评估模型开发过程中,了解软件需求是很重要的。
软件开发主要是依据需求的不同而设计出的产品。
论文 BP神经网络的matlab实现设计论文

学士学位毕业设计(论文)BP神经网络的MATLAB实现学生姓名:**指导教师:**所在学院:信息技术学院专业:电气工程及其自动化中国·大庆2012 年 5 月黑龙江八一农垦大学本科毕业设计(论文)任务书注:1.任务书由指导教师填写后交给学生,要求学生妥善保存。
2.此任务书夹于论文扉页与论文一并装订,作为论文评分依据之。
摘要本文首先说明课题研究的目的和意义,评述课题的国内外研究现状,引出目前存在的问题。
然后分析了神经网络算法的基本原理,给出经典神经网络算法的具体实现方法,总结神经网络算法的特点,并给出神经网络算法的基本流程。
采用Matlab软件编程实现BP神经网络算法。
将神经网络算法应用于函数逼近和样本含量估计问题中,并分析相关参数对算法运行结果的影响。
最后对BP神经网络算法进行了展望。
关键字: 神经网络BP神经网络函数逼近ABSTRACTFirst, the research purpose and significance of neural network is expounded in this article. Commentary studies current situation at the problem home and abroad. Leads to the existing problems. and then have analyzed algorithmic basal principle of neural networks, Give algorithmic concert of classics neural networks out the realization method. Summing up the characteristics of neural network algorithm. Neural network algorithm is given the basic processes. The arithmetic of BP neural network is realized in Matlab software. The algorithm applies of BP neural networks to the function approximation problem and computes the swatch content. And analysis of relevant parameters on the results of algorithm. Finally, The BP neural network algorithm is Outlook.Key words: Neural network BP neural network Function approximation目录摘要 (I)ABSTRACT (II)目录 (III)前言 (IV)1 绪论....................................................... - 1 -1.1 人工神经网络的研究背景和意义 ......................... - 1 -1.2 神经网络的发展与研究现状 ............................. - 2 -1.3 神经网络的研究内容和目前存在的问题 ................... - 3 -1.4 神经网络的应用........................................ - 3 - 2神经网络结构及BP神经网络................................... - 5 -2.1 神经元与网络结构...................................... - 5 -2.2 BP神经网络及其原理................................... - 8 -2.3 BP神经网络的主要功能................................ - 10 -2.4 BP网络的优点以及局限性.............................. - 10 -3 BP神经网络在实例中的应用.................................. - 12 -3.1 基于MATLAB的BP神经网络工具箱函数 .................. - 12 -3.2 BP网络在函数逼近中的应用............................ - 14 -3.3仿真实验............................................. - 20 - 结论........................................................ - 29 - 参考文献.................................................... - 30 - 致谢........................................................ - 32 -前言BP神经网络是目前人工神经网络模式中最具代表性,应用得最广泛的一种模型,具有自学习、自组织、自适应和很强的非线性映射能力,可以以任意精度逼近任意连续函数.近年来,为了解决BP网络收敛速度慢,训练时间长等不足,提出了许多改进算法.然而,在针对实际问题的BP网络建模过程中,选择多少层网络,每层多少个神经元节点,选择何种传递函数等,均无可行的理论指导,只能通过大量的实验计算获得.MATLAB中的神经网络工具箱(Neural NetworkToolbox,简称NNbox),为解决这一问题提供了便利的条件.神经网络工具箱功能十分完善,提供了各种MATLAB函数,包括神经网络的建立、训练和仿真等函数,以及各种改进训练算法函数,用户可以很方便地进行神经网络的设计和仿真,也可以在MATLAB源文件的基础上进行适当修改,形成自己的工具包以满足实际需要。
BP神经网络原理与应用实习论文

学年论文(本科)学院数学与信息科学学院专业信息与计算科学专业年级10级4班姓名徐玉琳于正平马孝慧李运凤郭双双任培培论文题目BP神经网络原理与应用指导教师冯志敏成绩2013年 9月 24日BP神经网络的原理与应用1.BP神经网络的原理1.1 BP神经网络的结构BP神经网络模型是一个三层网络,它的拓扑结构可被划分为:输入层(InputLayer )、输出层(Outp ut Layer ) ,隐含层(Hide Layer ).其中,输入层与输出层具有更重要的意义,因此也可以为两层网络结构(把隐含层划入输入层,或者把隐含层去掉)每层都有许多简单的能够执行并行运算的神经元组成,这些神经元与生物系统中的那些神经元非常类似,但其并行性并没有生物神经元的并行性高.BP神经网络的特点:1)网络由多层构成,层与层之间全连接,同一层之间的神经元无连接.2)BP网络的传递函数必须可微.因此,感知器的传递函数-——二值函数在这里没有用武之地.BP网络一般使用Sigmoid函数或线性函数作为传递函数.3)采用误差反向传播算法(Back-Propagation Algorithm)进行学习.在BP 网络中,数据从输入层隐含层逐层向后传播,训练网络权值时,则沿着减少误差的方向,从输出层经过中间各层逐层向前修正网络的连接权值.随着学习的不断进行,最终的误差越来越来小.BP神经网络的学习过程BP神经网络的学习算法实际上就是对误差函数求极小值的算法,它采用的算法是最速下降法,使它对多个样本进行反复的学习训练并通过误差的反向传播来修改连接权系数,它是沿着输出误差函数的负梯度方向对其进行改变的,并且到最后使误差函数收敛于该函数的最小点.1.3 BP网络的学习算法BP网络的学习属于有监督学习,需要一组已知目标输出的学习样本集.训练时先使用随机值作为权值,修改权值有不同的规则.标准的BP神经网络沿着误差性能函数梯度的反向修改权值,原理与LMS算法比较类似,属于最速下降法.拟牛顿算法牛顿法是一种基于二阶泰勒级数的快速优化算法.其基本方法是1(1)()()()x k x k A k g k -+=-式中 ()A k ----误差性能函数在当前权值和阀值下的Hessian 矩阵(二阶导数),即2()()()x x k A k F x ==∇牛顿法通常比较梯度法的收敛速度快,但对于前向型神经网络计算Hessian 矩阵是很复杂的,付出的代价也很大.有一类基于牛顿法的算法不需要二阶导数,此类方法称为拟牛顿法(或正切法),在算法中的Hessian 矩阵用其近似值进行修正,修正值被看成梯度的函数. 1)BFGS 算法在公开发表的研究成果中,你牛顿法应用最为成功得有Boryden,Fletcher,Goldfard 和Shanno 修正算法,合称为BFG 算法. 该算法虽然收敛所需的步长通常较少,但在每次迭代过程所需要的计算量和存储空间比变梯度算法都要大,对近似Hessian 矩阵必须进行存储,其大小为n n ⨯,这里n 网络的链接权和阀值的数量.所以对于规模很大的网络用RPROP 算法或任何一种梯度算法可能好些;而对于规模较小的网络则用BFGS 算法可能更有效. 2)OSS 算法 由于BFGS 算法在每次迭代时比变梯度算法需要更多的存储空间和计算量,所以对于正切近似法减少其存储量和计算量是必要的.OSS 算法试图解决变梯度法和拟牛顿(正切)法之间的矛盾,该算法不必存储全部Hessian 矩阵,它假设每一次迭代时与前一次迭代的Hessian 矩阵具有一致性,这样做的一个有点是,在新的搜索方向进行计算时不必计算矩阵的逆.该算法每次迭代所需要的存储量和计算量介于梯度算法和完全拟牛顿算法之间. 最速下降BP 法最速下降BP 算法的BP 神经网络,设k 为迭代次数,则每一层权值和阀值的修正按下式进行(1)()()x k x k g k α+=-式中()x k —第k 次迭代各层之间的连接权向量或阀值向量;()g k =()()E k x k ∂∂—第k 次迭代的神经网络输出误差对各权值或阀值的梯度向量.负号表示梯度的反方向,即梯度的最速下降方向;α—学习效率,在训练时是一常数.在MATLAB 神经网络工具箱中,,可以通过改变训练参数进行设置;()E K —第k 次迭代的网络输出的总误差性能函数,在MATLAB 神经网络工具箱中BP 网络误差性能函数默认值为均方误差MSE,以二层BP 网络为例,只有一个输入样本时,有2()()E K E e k ⎡⎤=⎣⎦21S≈22221()S i i i t a k =⎡⎤-⎣⎦∑ 222212,1()()()()s ii j i i j a k f w k a k b k =⎧⎫⎪⎪⎡⎤=-⎨⎬⎣⎦⎪⎪⎩⎭∑21221112,,11()(()())()s s i j i j i i i j j f w k f iw k p ib k b k ==⎧⎫⎡⎤⎛⎫⎪⎪=++⎢⎥ ⎪⎨⎬⎢⎥⎝⎭⎪⎪⎣⎦⎩⎭∑∑若有n 个输入样本2()()E K E e k ⎡⎤=⎣⎦21nS ≈22221()S ii i ta k =⎡⎤-⎣⎦∑根据公式和各层的传输函数,可以求出第k 次迭代总误差曲面的梯度()g k =()()E k x k ∂∂,分别代入式子便可以逐次修正其权值和阀值,并是总的误差向减小的方向变化,直到达到所需要的误差性能为止. 1.4 BP 算法的改进BP 算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,但标准BP 算法存在以下缺点:收敛速度缓慢;容易陷入局部极小值;难以确定隐层数和隐层节点个数.在实际应用中,BP 算法很难胜任,因此出现了很多改进算.利用动量法改进BP 算法标准BP 算法实质上是一种简单的最速下降静态寻优方法,在修正W(K)时,只按照第K 步的负梯度方向进行修正,而没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢.动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,即:其中:α为动量系数,通常0<α<0.9;η—学习率,范围在0.001~10之间.这种方法所加的动量因子实际上相当于阻尼项,它减小了学习过程中的振荡趋势,从而改善了收敛性.动量法降低了网络对于误差曲面局部细节的敏感性,有效的抑制了网络陷入局部极小.自适应调整学习速率标准BP算法收敛速度缓慢的一个重要原因是学习率选择不当,学习率选得太小,收敛太慢;学习率选得太大,则有可能修正过头,导致振荡甚至发散.可采用图所示的自适应方法调整学习率.调整的基本指导思想是:在学习收敛的情况下,增大η,以缩短学习时间;当η偏大致使不能收敛时,要及时减小η,直到收敛为止.动量-自适应学习速率调整算法采用动量法时,BP算法可以找到更优的解;采用自适应学习速率法时,BP算法可以缩短训练时间.将以上两种方法结合起来,就得到动量-自适应学习速率调整算法.1. L-M学习规则L-M(Levenberg-Marquardt)算法比前述几种使用梯度下降法的BP算法要快得多,但对于复杂问题,这种方法需要相当大的存储空间L-M(Levenberg-Marquardt)优化方法的权值调整率选为:其中:e —误差向量;J —网络误差对权值导数的雅可比(Jacobian )矩阵;μ—标量,当μ很大时上式接近于梯度法,当μ很小时上式变成了Gauss-Newton 法,在这种方法中,μ也是自适应调整的. 1.5 BP 神经网络的设计 网络的层数输入层节点数取决于输入向量的维数.应用神经网络解决实际问题时,首先应从问题中提炼出一个抽象模型,形成输入空间和输出空间.因此,数据的表达方式会影响输入向量的维数大小.例如,如果输入的是64*64的图像,则输入的向量应为图像中所有的像素形成的4096维向量.如果待解决的问题是二元函数拟合,则输入向量应为二维向量.理论上已证明:具有偏差和至少一个S 型隐含层加上一个线性输出层的网络,能够逼近任何有理数.增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间.而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整.所以一般情况下,应优先考虑增加隐含层中的神经元数. 隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加神经元数了的方法来获得.这在结构实现上,要比增加隐含层数要简单得多.那么究竟选取多少隐含层节点才合适?这在理论上并没有一个明确的规定.在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量.1)0niMi C k =>∑,k 为样本数,M 为隐含层神经元个数,n 为输入层神经元个数.如i>M,规定C i M =0.2)和n 分别是输出层和输入层的神经元数,a 是[0.10]之间的常量.3)M=2log n ,n 为输入层神经元个数.初始权值的选取由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛及训练时间的长短关系很大.如果初始值太大,使得加权后的输入和n落在了S型激活函数的饱和区,从而导致其导数f (n)非常小,从而使得调节过程几乎停顿下来.所以一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节.所以,一般取初始权值在(-1,1)之间的随机数.学习速率学习速率决定每一次循环训练中所产生的权值变化量.大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值.所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性.学习速率的选取范围在0.01-0.8之间.1.6BP神经网络局限性需要参数多且参数选择没有有效的方法对于一些复杂问题 ,BP 算法可能要进行几小时甚至更长的时间训练,这主要是由于学习速率太小所造成的.标准BP 网络学习过程缓慢,易出现平台,这与学习参数率l r的选取有很大关系.当l r较时,权值修改量大,学习速率也快,但可能产生振荡;当l r较小时,虽然学习比较平稳,但速度十分缓慢.容易陷入局部最优BP网络易陷入局部最小, 使 BP网络不能以高精度逼近实际系统.目前对于这一问题的解决有加入动量项以及其它一些方法.BP 算法本质上是以误差平方和为目标函数 , 用梯度法求其最小值的算法.于是除非误差平方和函数是正定的, 否则必然产生局部极小点, 当局部极小点产生时 , BP算法所求的就不是解.1.6.3 样本依赖性这主要表现在网络出现的麻痹现象上.在网络的训练过程中,如其权值调的过大,可能使得所有的或大部分神经元的加权值偏大,这使得激活函数的输入工作在S型转移函数的饱和区,从而导致其导函数非常小,使得对网络权值的调节过程几乎停顿下来.通常为避免这种现象的发生,一是选取较小的初始权值,二是采用较小的学习速率,但又要增加时间训练.初始权敏感对于一些复杂的问题,BP算法可能要进行几个小时甚至更长时间的训练.这主要是由于学习速率太小造成的.可采用变化的学习速率或自适应的学习速率来加以改进.2.BP神经网络应用2.1 手算实现二值逻辑—异或这个例子中,采用手算实现基于BP网络的异或逻辑.训练时采用批量训练的方法,训练算法使用带动量因子的最速下降法.在MATLAB中新建脚本文件main_xor.m,输入代码如下:%脚本%批量训练方式.BP网络实现异或逻辑%%清理clear allclcrand('seed',2)eb = 0.01; %误差容限eta = 0.6; %学习率mc = 0.8; %动量因子maxiter = 1000; %最大迭代次数%% 初始化网络nSampNum = 4;nSampDim = 2;nHidden = 3;nOut = 1;w = 2*(rand(nHidden,nSampDim)-1/2);b = 2*(rand(nHidden,1)-1/2);wex = [w,b];W = 2*(rand(nOut,nHidden)-1/2);B = 2*(rand(nOut,1)-1/2);WEX = [W,B];%%数据SampIn=[0,0,1,1;...0,1,0,1;…1,1,1,1];expected = [0,1,1,0];%%训练iteration = 0;errRec = [];outRec =[];for i = 1:maxiter% 工作信号正向传播hp = wex*SampIn;tau = logsig(hp);tauex = [tau',1*ones(nSampNum,1)]';HM = WEX*tauex;out = logsig(HM);outRec = [outRec,out'];err = expected - out;sse = sumsqr(err);errRec = [errRec,sse];fprintf('第%d 次迭代,误差:%f \n',i,sse);% 判断是否收敛iteration = iteration + 1;if sse <= ebbreak;end% 误差信号反向传播% DELTA 和delta 为局部梯度DELTA = err.*dlogsig(HM,out);delta = W' * DELTA.*dlogsig(hp,tau);dWEX = DELTA*tauex';dwex = delta*SampIn';% 更新权值if i == 1WEX = WEX + eta*dWEX;wex = wex + eta*dwex;elseWEX = WEX + (1-mc)*eta*dWEX + mc*dWEXold;wex = wex + (1-mc)*eta*dwex+mc*dwexold;enddWEXold = dWEX;dwexold = dwex;W = WEX(:,1:nHidden);end%%显示figure(1)grid[nRow,nCol]=size(errRec);semilogy(1:nCol,errRec,'LineWidth',1.5);title('误差曲线');xlabel('迭代次数');x=-0.2:.05:1.2;[xx,yy] = meshgrid(x);for i=1:length(xx)for j=1:length(yy)xi=[xx(i,j),yy(i,j),1];hp = wex*xi';tau = logsig(hp);tauex = [tau',1]';HM = WEX*tauex;out = logsig(HM);z (i,j) =out;endendfigure(2)mesh(x,x,z);figure(3)plot([0,1],[0,1],'*','LineWidth',2);hold onplot([0,1],[1,0],'O','LineWidth',2);[c,h]=contour(x,x,z,0.5,'b');clabel(c,h);legend('0','1','分类面');title('分类面')2.2 误差下降曲线如下图所示:Finger 1010*******400500600700800900100010-210-110误差曲线迭代次数网格上的点在BP 网络映射下的输出如下图:Finger 2异或本质上是一个分类问题,,分类面如图:Finger 3分类面-0.200.20.40.60.81 1.2本文介绍了神经网络的研究背景和现状,分析了目前神经网络研究中存在的问题.然后描述了BP神经网络算法的实现以及BP神经网络的工作原理,给出了BP网络的局限性.本文虽然总结分析了BP神经网络算法的实现,给出了实例分析,但是还有很多的不足.所总结的BP神经网络和目前研究的现状都还不够全面,经过程序调试的图形有可能都还存在很多细节上的问题,而图形曲线所实现效果都还不够好,以及结果分析不够全面、正确、缺乏科学性等,这些都还是需加强提高的.近几年的不断发展,神经网络更是取得了非常广泛的应用,和令人瞩目的发展.在很多方面都发挥了其独特的作用,特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别等众多方面的应用实例,给人们带来了很多应用上到思考,和解决方法的研究.但是神经网络的研究最近几年还没有达到非常热门的阶段,这还需有很多热爱神经网络和研究神经网络人员的不断研究和创新,在科技高度发达的现在,我们有理由期待,也有理由相信.我想在不久的将来神经网络会应用到更多更广的方面,人们的生活会更加便捷.学年论文成绩评定表。
基于BP算法的神经网络技术毕业论文

毕业设计(论文)题目:基于BP算法的神经网络技术研究与应用毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于智能计算的水质预测预警系统的设计与实现温子铭1,刘双印1(1.广东海洋大学信息学院,广东湛江524088)摘要:及时准确地掌握水质变化趋势是确保水产品健康养殖的关键,为此,本设计采用智能计算与现代Web开发技术有机结合,以软件工程为指导,按照面向对象程序设计的方法,构建5种基于智能计算的水质预测预警模型;采用J2EE为开发工具设计实现了B/S架构的水质预测预警系统。
该系统主要有水质数据管理、水质数据趋势展示、水质指标溶解氧浓度预测、水质预警管理等功能模块组成,用户界面友好,水质预测精度较高,能够满足水产养殖水质管理的需要。
该系统的研制为提前掌握水质未来发展趋势、水污染预警提供基础数据和手段,为应对突发水质事件、水质调节、水产养殖生产管理与规划提供科学的决策依据,有一定的实用价值。
关键词:水产养殖;水质趋势;J2EE;水质预测预警系统;智能计算;Design and Implementation of Water Quality Predicting and Early Warning SystemBase on Smart ComputingWen Ziming, Liu Shuangyin(1. Information Institute of Guangdong Ocean University, Zhanjiang,GuangDong 524088) Abstract:Have a good command of water quality trends in time and accurately is the key to assure health growth of the aquatic products. Therefore, this design is combined with intelligent computing and modern web development technology, on the guidance of software engineer, and also established five kinds of water quality predicting and early warning models based on intelligent technology according to the measure of Object-Oriented Programming; We adopted J2EE as development tool to achieve the water quality predicting and early warning system based on B/S framework. This system mainly included water quality data management module, water quality data trend module, dissolved oxygen prediction module and water quality early warning module. It’s useful for users and can meet the needs of aquatic water quality management. The establishment of this system provide the basic data and methods to handling the future water quality trend and water pollution early warning. And also provide the scientific decision for dealing with the water pollution events, water quality adjustment, aquaculture management and plans. It has practical value.Key words: Aquaculture, water quality trend, J2EE, water quality predicting and early warning system, intelligent computing.1引言我国是水产养殖大国,也是世界上唯一一个养殖产量超过捕捞产量的国家, 水产养殖为解决食品供给、粮食安全、改善民生,增加农民收入等方面发挥了重要作用。
但目前水产养殖业主要沿用大量消耗资源和粗放式经营的传统养殖模式,投饵、施药、施肥不科学不合理、极大地恶化了水产品赖以生存的水体环境,严重制约着水产养殖业健康可持续发展。
为此,亟需利用智能信息处理技术对水产养殖水质进行准确预测,及时掌握养殖水质的变化规律,辨识水质异常变化并进行提前预警,对防范水质恶化与疾病爆发、水环境保护与治理提供科学决策依据,在实现水产品高产、优质、高效的健康养殖、推进渔业信息现代化中将发挥重要的作用。
针对水产养殖过程中出现的水质问题和现有水质预测系统在实际应用过程中出现的问题,本文在研究当前水质方面期刊、书籍等之后,认为在这个智能化的年代,智能计算是水质预测的趋势,它将在未来的水质预测中扮演越来越重要的角色。
智能计算讲求的是大量数据的学习,学习量越大,智能计算的数据处理能力就越强。
相比之人脑,计算机拥有更强的运算能力,因此计算机对于智能计算的支持是完美的。
在本文中,本人将通过基于水质预测预警系统的设计与实现来对智能计算与计算机的第一作者:温子铭,男, 学士,广东人,2012届信息管理与信息系统专业。
完美结合进行说明。
2 相关理论概述2.1 信息技术相关理论概述面向对象的开发思想始终贯穿在系统开发的整个过程,所有能够提升系统性能、减轻工作负担的技术都是本人在开发过程中优先考虑的。
本系统立足于J2EE 平台的MVC 架构进行开发,利用struts 与spring 整合技术将系统前后台代码分离、降低系统模块之间耦合度;采用springJDBC 技术将Oracle 数据库交给spring 管理,大大减少了系统实现的代码;同时为减轻系统负担,能在数据库完成的处理一般优先考虑用PL/SQL 来处理;在系统前台方面,本系统采用JSP 技术进行开发,为了系统界面美观,同时加入了富客户端技术—ExtJS 。
系统测试表明,系统的前台页面比较美观,系统性能颇为突出,在前后台交互的实现中具有JSP+Servlet 模式所不具有的能力。
2.2 BP 神经网络算法概述BP 神经网络是一种反向递推修正权数的非线性、多层前馈型神经网络, 它具有很强的非线性映射能力、自学习自适应能力、容错能力和泛化能力,它可以通过学习映射关系,将学习内容记忆到网络中去,并且能够自动纠错,将学习成果应用于新知识中去[1]。
BP 神经网络的模型视图是一个拓扑结构,包括输入层、隐含层和输出层,其中,输入层和输出层都只有一层,而隐层可以有多层。
如图2-1所示,样本数据通过与隐含层的映射送达输出层,最终处理得到网络的输出。
关于BP 神经网络的各层处理过程,将在下面的章节中涉及到。
1x 2x N x图2-1 BP 神经网络示意图2.3 预测算法概述预测学是综合运用多学科知识和技术分析方法对事物规律与未来发展进行分析和研究的交叉学科。
预测是估计事物及未来的变化趋势,采用数学的方法,可以从历史规律中预测未来。
在本系统中,运用了时间序列平滑预测法的差分指数平滑法和移动平均法。
他们的核心都是将被观察到的某种统计指标值依时间先后顺序排列,作为一个数据集合,抽取其数据规律,进而预测出未来的相关数据[2]。
在本系统中,主要采用了移动平均法进行数据预测。
移动平均法是以假定预测值与预测期相邻的若干观察期数据有密切关系为基础的一种方法。
移动平均法是根据时间序列资料逐项推移,依次计算包含一定项数的时序平均数,以反映长期趋势的方法。
当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析预测序列的长期趋势。
移动平均法包含简单移动平均法、加权移动平均法和二重移动平均法。
3 水质预测关键技术分析水质预测预警系统的设计与实现是本次研究重点与难点,在本系统中,难点在于BP 神经网络与智能预测算法在Java 中的实现。
3.1 BP 神经网络算法设计作为目前应用最广泛的神经网络模型之一, BP 神经网络的“记忆”能力相当突出,能学习和存贮大量的输入-输出模式映射关系,在事前没有揭示描述这种映射关系的数学方程的情况下能通过学习出模型参数产生数学模型。
那么这个数学模型怎么产生?这就涉及到BP 神经网络的训练过程了,关于这个训练过程,将在BP 算法训练过程那一节详细说明。
神经网络算法都有两个过程,一个是训练过程,另一个是实现过程[3]。
对于每一种神经网络,其基本思想都是通过训练得出权值作为模型参数生成神经网络非线性模型,然后通过实现过程使用训练出来的模型。
训练过程又分为两种训练过程,一种是有导师的训练过程,另一种则是无导师训练过程。
BP 神经网络的训练过程是一个有导师的学习过程,所谓有导师学习过程是指在整个学习的过程中有对应的预期目标作为输出向导,BP 神经网络的训练目的就是使最终输出更加拟合目标输出。
下文将进一步讲述BP 神经网络的训练过程。
第一步:设置好已知参数,包括目标输出、预期平均误差、隐含层的数量与神经元个数、输出层的神经元个数、各层的权值与阀值等。
预期的目标输出就是训练的导师,因为训练就是从已有的正确数据中进行的,因此训练的目标输出可以从往期数据中获取;预期平均误差,这个误差相当重要,它代表了训练输出与目标输出的拟合度,平均误差越小,训练次数会越多,相应的输出也会越趋近于目标输出;隐含层的数量与神经元个数一般是越多越好,但是越多,训练的收敛速度就会越慢,想得出网络的输出也就越难,因此正在规定隐层数量与神经元个数时应该重点考虑可行性,并不能一昧堆积个数;输出层的神经元个数一般以目标输出的个数为向导,有多少个目标输出,就有多少个输出层神经元;各层的权值作为各层神经元之间的连接、阀值作为修正参数,是BP 神经网络最重要的一部分,也是其魅力所在,为了使网络输出结果不偏向某种情况,权值与阀值的取值必须随机化,即将其值全部随机定在(0,1)的区间之中。
第二步:在设定好各种参数之后,确定每一样本的参数。
每一样本的每个数据作为输入层神经元,所有样本计算做为一个学习周期,为了使网络能更快地收敛,应该将输入层神经元归一化,即将其按照式3.1转换为(0,1)之间的值,其中x 是样本数据。