ImageVerifierCode 换一换
格式:DOC , 页数:36 ,大小:761.43KB ,
资源ID:827621      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-827621.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(本科毕业设计(论文)--基于VB的BP神经网络实现与应用.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

本科毕业设计(论文)--基于VB的BP神经网络实现与应用.doc

1、基于VB的BP神经网络实现与应用摘要:近年来,神经网络无论在理论研究上,还是在实际应用中,都取得了突飞猛进的发展。BP神经网络如今以其独特的优势,在许多领域得到广泛的应用:模式识别、人工智能、控制工程、神经计算和进化计算、信号处理等。并且许多基于Visual Basic 平台开发的项目系统需要用到BP神经网络的非线性预测和分类功能,而一般的BP神经网络往往由MatLab和C/C+语言实现,用VB开发的BP神经网络系统非常少,因此开发一个基于VB的BP神经网络系统,把它集成到大的项目系统中,成为必要。本文介绍了基于VB的BP神经网络系统的实现以及相关应用。通过对BP神经网络仿真与原函数图像非线性

2、拟合,经过BP网络大批样本训练以后,能够进行比较精确的预测。在本文中,系统主要用于环境迁移物的预测,经过实验,取得了不错的效果,还可以被应用到土地覆盖、大气污染、噪音污染和地质灾害预测等很多方面。关键词:BP神经网络;VB;训练;预测中图分类号:TP389.1Implementation and Aplication of BP Network Based on VBAbstract: In recent years, the neural network has been made rapid development both in theory research and in practi

3、ce. Nowadays, with unique advantages, the BP neural network has been widely used in many fields such as pattern recognition, artificial intelligence, control engineering, neural computation, evolutionary computation, signal processing, etc. In addition, a lot of project systems based on Visual Basic

4、 6.0 demand non-linear prediction and classification of the BP neural network. However, the general BP neural networks are frequently implemented by Matlab and C/C+, while few are developed by VB. So its very necessary to develop a VB-based BP, and integrated it into large project systems.This paper

5、 introduces the BP Neural Network Systems based on VB and its related applications.By the simulations of BP neural network and non-linear fitting the original functions image,we can improve its prediction accuracy after a large quantity of training about samples to the Bp neural network.In this pape

6、r, the system is mainly used to predict environmental migration compounds. And itachieved good resultsthrough experiments. Apart from this, the system can also be applied into many other predictions, such as land cover, atmospheric pollution, noise pollution,geological disasters, and so on.Keywords:

7、 user management system; VB; Training; PredictClassification: TP389.1目 次摘要目次1前言11.1概述11.2发展现状11.3发展历史和研究意义11.3.1发展历史11.3.2研究意义22正文42.1可行性分析42.2需求分析42.2.1研究思路和工作计划42.2.2用户需求42.2.3逻辑模型52.2.4数据字典53开发环境、工具简介84系统概要设计94.1系统结构和模型94.2整体框架设计94.3局部功能介绍105系统详细设计115.1系统界面设计及功能说明115.1.1界面的功能特点115.1.2主界面115.1.3学习

8、界面125.1.4预测界面125.2程序设计说明135.2.1主体流程135.2.2BP算法实现的编程步骤145.2.3界面操作流程146算法描述及其相关代码实现156.1正向传播156.1.1正向传播实现算法156.1.2正向传播实现的算法相应代码166.1.3正向传播实现的预测算法的相应流程图176.2反向传播186.2.1反向传播实现算法186.2.2反向传播实现的算法相应代码196.2.3反向传播和正向传播共同实现的学习算法的相应流程图206.3影响输出结果的因素216.4BP神经网络的优缺点227系统应用237.1人工神经网络的主要应用237.1.1模式识别237.1.2人工智能23

9、7.1.3信号处理237.1.4自动控制237.1.5通信方面247.1.6其他方面247.2本毕业设计的主要应用247.2.1本毕业设计的主要应用方面247.2.2主要应用的分析247.2.3主要应用效果258性能测试和分析268.1测试环境268.2测试报告268.2.1主界面输入框测试报告268.2.2主界面选择框测试报告268.2.3主界面选择框测试报告268.2.4回归学习界面菜单测试报告268.2.5回归学习界面显示测试报告278.2.6回归预测界面菜单测试报告288.2.7回归预测界面显示测试报告288.2.8分类测试报告289总结与展望299.1总结299.2展望29参考文献3

10、0作者简历31学位论文数据集3232中国计量学院本科毕业设计(论文)1 前言1.1 概述人工神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”1。 人工神经网络这种适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑

11、神经系统的信息处理功能。它是由大量处理单元互联组成的非线性、自适应信息处理系统。是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理2。它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科。1.2 发展现状人工神经网络的研究与发展经过了一段曲折的历程,但随着各种神经网络模型的不断完善,以及计算机性能的不断提高,目前,神经网络理论的应用已渗透到各个领域,并在智能控制、模式识别、计算机视觉、自适应滤波和信息处理、非线性优化、自动目标识别、连续语音识别、声纳信号处理、知识处理、传感技术与机器人、生物医学工程等方面均取得了令人鼓舞的进展,因而

12、为神经网络的应用创造了更有利的条件。 1.3 发展历史和研究意义1.3.1 发展历史1943年,心理学家W.S.McCulloch和数理逻辑学家W.Pitts建立了神经网络和数学模型,称为MP模型。他们通过MP模型提出了神经元的形式化数学描述和网络结构方法,证明了单个神经元能执行逻辑功能,从而开创了人工神经网络研究的时代3。1949年,心理学家提出了突触联系强度可变的设想。60年代,人工神经网络的到了进一步发展,更完善的神经网络模型被提出,其中包括感知器和自适应线性元件等。1969年M.Minsky等出版了Perceptron一书,指出感知器不能解决高阶谓词问题的局限,极大地影响了神经网络的研

13、究,加之当时串行计算机和人工智能所取得的成就,掩盖了发展新型计算机和人工智能新途径的必要性和迫切性,使人工神经网络的研究处于低潮。但在此期间,一些人工神经网络的研究者仍然致力于这一研究,提出了适应谐振理论(ART网)、自组织映射、认知机网络,同时进行了神经网络数学理论的研究,这些为神经网络的研究和发展奠定了基础。1982年,美国加州工学院物理学家J.J.Hopfield提出了Hopfield神经网格模型,引入了“计算能量”概念,给出了网络稳定性判断,为神经计算机的研究做了开拓性的工作。1985年,又有学者提出了波耳兹曼模型,在学习中采用统计热力学模拟退火技术,保证整个系统趋于全局稳定点。198

14、6年,以Rumelhart和McCelland为首的科学家小组提出的PDP (parallel distributed processing) 理论则致力于对微观结构的探索,提出了并行分布处理的理论,同时发展了多层网络的BP算法。人工神经网络的研究受到了各个发达国家的重视,美国国会通过决议将1990年1月5日开始的十年定为“脑的十年”,国际研究组织号召它的成员国将“脑的十年”变为全球行为。在日本的“真实世界计算(RWC)项目中,人工智能的研究成了一个重要的组成部分4。人工神经网络发展至今,已有近40种神经网络模型,其中有反传网络、感知器、自组织映射、Hopfield网络、波耳兹曼机、适应谐振理

15、论等。其中,BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的人工神经网络模型之一5。1.3.2 研究意义(1)对19912002年全国全日制在校研究生的12年数据资料采用不同的模型进行拟合和预测,从结果来看BP神经网络模型的预测效果最好,其次是回归、自回归混合模型预测法,而线性回归模型的预测效果最差,这可能主要是线性回归模型没有考虑时间趋势的滞后效应所致6。(2)与线性回归模型相比, BP网络的参数确定过程是一个反复的学习过程,数据的强共线性在进行线性回归时常会引起麻烦,而在神经网络模型中不会带来多大问题。BP神经网络模型给出的结果是权重和阈值,模型中因变量和自变量关系

16、的解释不像线性回归或时间序列分析那样直观。在一个多层网络中,很难说当其它自变量不变时,某一自变量会引起因变量多大变化。其原因是:在线性模型中,各自变量的作用是可以相互分离的,而在BP网络模型中,某个自变量对因变量的影响,不但取决于此自变量变化的大小,还依赖于其它自变量的取值。用BP网络所失去的是模型解释的直观性,所得到的是更精确的预测结果。(3)利用BP神经网络,虽然可解决传统处理方法所不能处理的问题,但在实际应用中,对如何选择和确定一个合适的神经网络结构没有确切的理论指导,需反复实验以确定一个合适的网络结构。同时,由于BP神经网络训练过程中的权系数和阈值是随机产生的,所以每次训练、预测的结果

17、都不同,即预报结果极不稳定。需反复训练,当多次输出结果在一定误差范围内时才取用7。(4)许多基于Visual Basic 平台开发的项目系统需要用到BP神经网络的非线性预测和分类功能,而一般的BP神经网络往往由MatLab和C/C+语言实现,用VB开发的BP神经网络系统非常少,因此开发一个基于VB的BP神经网络系统,把它集成到大的项目系统中,成为必要8。2 正文2.1 可行性分析通过对课题的调查与分析,复查了系统的规模和目标。研究了该课题的高层逻辑模型,认为开发这个系统是可行的,从技术方面:我们能使用现有的技术来完成开发工作。从经济方面:开发本系统的成本是很低的,我们能够满足经济要求。从操作方

18、面:我们开发的系统的充分考虑到用户的需求和体验效果。2.2 需求分析2.2.1 研究思路和工作计划正如研究任何其它软件项目一样,我做的毕业设计也经历了从选题,调研,熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。图2.1的流程图反映了我的基本的思路和过程。图2.1 研究思路图2.2.2 用户需求由于系统主要的应用是进行预测与分类,所以其需求分析主要涉及到以下方面的功能实现:(1)确定BP神经网络的基本模型,既用于学习或者训练的样本个数,BP神经网络结构的输入层节点个数、中间层节点个数以及输出层的节点个数。(2)BP算法

19、分类/回归的学习,即BP神经网络分类算法的训练过程,训练过程实际上是根据目标值与网络输出值之间误差的大小反复调整权值和阈值,直到此误差 达到预定值为止。最后保存符合要求的权值和阀值,用于预测。(3)BP算法分类/回归的预测,这是BP神经网络的主要应用所在,可以根据已知的一些数据预测其结果。 2.2.3 逻辑模型据以上的需求分析得到该系统的数据流图如图2.2。图2.2 系统数据流图2.2.4 数据字典数据流程图是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的

20、情况,但却无法表达各个处理的详细内容,因此还要对数据流程图中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。数据字典的任务就是对数据流程图中的出现的所有被命名的图形元素在数据字典中作为一个条目加以定义,便得每一个图形元素的名字都有一个确切的解释。数字是对数据流程图的补充说明,它的编制和维护是一项非常繁重的工作,一旦建立起来,从系统分析直至系统运行都用到它。数据流1) 数据流名:系统操作请求信息说明:由用户进入系统进行相应的系统操作来源:用户去向:系统组成:系统操作请求信息BP算法回归学习+ BP算法回归预测+ BP算法分类学习+ BP算法分类预测2) 数据流名:BP算法回

21、归学习请求说明:用户进行BP算法回归学习操作来源:用户操作去向:系统组成:BP算法回归学习请求系统操作请求标志3) 数据流名:BP算法回归学习操作结果反馈信息说明:系统对用户提出的BP算法回归学习操作请求进行处理后得到的反馈信息来源:系统去向:用户组成:BP算法回归学习操作结果反馈信息BP算法回归学习权重值文件4) 数据流名:BP算法回归预测请求说明:用户进行BP算法回归预测操作来源:用户操作去向:系统组成:BP算法回归预测请求系统操作请求标志5) 数据流名:BP算法回归预测操作结果反馈信息说明:系统对用户提出的BP算法回归预测操作请求进行处理后得到的反馈信息来源:系统去向:用户组成:BP算法

22、回归预测操作结果反馈信息BP算法回归预测权重值文件6) 数据流名:BP算法分类学习请求说明:用户进行BP算法分类学习操作来源:用户操作去向:系统组成:BP算法分类学习请求系统操作请求标志7) 数据流名:BP算法分类学习操作结果反馈信息说明:系统对用户提出的BP算法分类学习操作请求进行处理后得到的反馈信息来源:系统去向:用户组成:BP算法分类学习操作结果反馈信息BP算法分类学习权重值文件8) 数据流名:BP算法分类预测请求说明:用户进行BP算法分类预测请求操作来源:用户操作去向:系统组成:BP算法分类预测请求系统操作请求标志9) 数据流名:BP算法分类预测操作结果反馈信息说明:系统对用户提出的B

23、P算法分类预测操作请求进行处理后得到的反馈信息来源:系统去向:用户组成:BP算法分类预测操作结果反馈信息BP算法分类预测权重值文件3 开发环境、工具简介本系统采用的是VisualBasic6.0作为开发语言。Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,以及动态数据交换(DDE)等,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用

24、软件系统9。4 系统概要设计4.1 系统结构和模型人工神经网络是并行分布式系统,采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结构化信息方面的缺陷,具有自适应、自组织和实时学习的特点。BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层隐层(中间层)输出层,每层神经元的状态只影响下一层神经元。它的信息处理能力来自于简单非线性函数的多次复合。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函

25、数达到最小值,从而完成信息提取和记忆过程。其结构图如图4.1所示10。 图4.1 BP神经网络结构图人工神经网络中,神经网络的节点,即神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。4.2 整体框架设计图4.2 整体框架4.3 局部功能介绍1、BP算法主界面:显示BP算法主界面,用户可以选择BP

26、算法分类学习、BP算法分类预测、BP算法回归学习、BP算法回归预测功能,并分别设置用于学习或者预测的样本个数,BP神经网络的输入层节点个数,中间层节点个数和输出层节点个数;2、BP算法分类学习:显示BP算法分类学习界面,并显示分类学习功能,相应系数设置及其操作结果;3、BP算法分类预测:显示BP算法分类预测界面,并显示分类预测功能,相应系数设置及其操作结果;4、BP算法回归学习:显示BP算法回归学习界面,并显示回归学习功能,相应系数设置及其操作结果;5、BP算法回归预测:显示BP算法回归预测界面,并显示回归预测功能,相应系数设置及其操作结果;5 系统详细设计5.1 系统界面设计及功能说明5.1

27、.1 界面的功能特点 BP神经网络系统的主界面不仅要考虑“界面视觉设计”,还需要考虑人、产品和使用者环境三者之间的关系。让设计更加人性化,营造优秀的用户体验,界面友好,使用方便。5.1.2 主界面图5.1 主菜单界面说明:主界面主要能进行学习和预测功能的选择,并且可以选择BP算法回归(如图5.1)和分类这两种,设置神经网络模型的结构,主要需设置的初始参数如下:(1)学习样本数:即用于学习的样本个数,在学习样本文件和权值文件的第一行显示。(2)输入层节点:设置的BP神经网络模型结构中输入层的节点个数,即每个样本中输入数据的个数,在学习样本文件和权值文件的第二行显示。(3)中间层节点: 设置的BP

28、神经网络模型结构中中间层的节点个数,在学习样本文件和权值文件的第三行显示。(4)输出层节点或类别个数:设置的BP神经网络模型结构中输出层节点的节点个数,若是回归算法,这里填1,其输出结果即为一个输出数据;若是分类算法,分为N类,既有N个输出层节点或者类别个数,在学习样本文件和权值文件的第四行显示。5.1.3 学习界面图5.2 回归学习图说明:选择BP算法回归或者分类后,点击网络学习,进入初始界面。然后,单击菜单栏上的打开菜单并单击“打开样本”。样本文件为txt文件。打开后设置结果允许的最大误差,最大学习次数,权值调节系数和阈值调节系数。并会随机生成相应的权值和阀值。单击“网络学习”按钮,让右上

29、角的误差曲线图会渐渐的靠近基准虚线则学习完成。如图5.2为回归学习界面图。学习之后单击菜单栏上的保存并单击“保存权重”。若马上进行预测则可单击菜单栏上的测试中的“模拟预测”,将马上进入测试窗口。5.1.4 预测界面图5.3 回归预测图说明:选择BP算法回归或者BP算法分类后,点击预测,进入如图5.3的回归测试初始界面或类似的分类测试初始界面。在学习窗口中点击模拟测试也会进入此界面。然后选择菜单栏上的打开中的“打开权值文件”,将刚才存好的权重文件打开并将自动的输入权重的地方,再单击打开菜单栏里的“打开数据文件”打开要预测的文件(预测文件也是事先将预测数据创立了一个txt文件)。单击“模拟预测”马

30、上在预测输出里可看到输出数据。我们可以把这个结果保存:单击保存菜单就可选择两种方式的保存。5.2 程序设计说明5.2.1 主体流程图5.4 整体流程图由于开发的BP神经网络系统具有预测结果(回归)和预测分类功能,先利用样本进行训练,训练完成后,可以对输入进行预测结果或者预测分类,输出预测结果或者预测分类结果。所以该BP神经网络系统主要涉及对样本的一个学习和预测的过程,虽然这两个过程又分为回归算法和分类算法,但由于这两个算法的实现过程除了其输出结果处理有所差异,其他基本一致,所以下面先不考虑这两种算法的区别,用整体的一个流程图来解释它们的实现方法。如上图图5.4所示。5.2.2 BP算法实现的编

31、程步骤(1)初始化对权值矩阵W、V赋随机数,将样本模式计数器p和训练次数计数器q置为1,误差E置0,学习率设为01内的小数,网络训练后达到的精度Emin设为一个正的小数。(2)输入训练样本对,计算各层输出用当前样本Xp、dp对向量数组X、d赋值,计算隐含层(中间层)和输出层的各分量。(3)计算网络输出误差设共有P个训练样本,网络对于不同的样本具有不用的误差,可将全部样本输出误差的平方进行累加再开方,作为总输出误差。(4)计算各层误差信号(5)调整各层权值计算W、V中个分量。(6)检查是否对所有样本完成一次轮训若pP,计数器p、q增1,返回步骤(2),否则转步骤(7)。(7)检查网络总误差是否达

32、到精度要求若满足,训练结束,否则E置0,p置1,返回步骤(2)。5.2.3 界面操作流程图5.5 界面操作流程图界面操作涉及到的是消息的处理,通过消息机制进行处理相应消息。6 算法描述及其相关代码实现BP神经网络的拓扑结构决定各神经元与网络层之间的信息传递途径。其算法由数据流的正向传播和误差信号的反向传播两个过程构成。训练规则利用转移函数实施处理数据的加权与求和,每输入一个样本,都要回传误差并调整权值,进而训练网络实施模式识别。处理所得的加权和,通过转移函数转换为输出值。作为分类结果,获得最大权重的类别即被认定为输入向量的类别11。图6.1 BP神经网络结构图6.1 正向传播6.1.1 正向传

33、播实现算法正向传播时,传播方向为输入层隐层(中间层)输出层,每层神经元的状态只影响下一层神经元。设 BP网络的输入层有n个节点(第i个),中间层有q个节点(第k个),输出层有m个节点(第j个),输入层与中间层之间的权值为vki,中间层与输出层之间的权值为wjk,中间层的阀值为Rk,输出层的阀值为Tj,如图6.1BP神经网络结构图所示。隐层的传递函数为f1(x),输出层的传递函数为f2(x),则中间层节点的输出值为(阈值写入求和项中): zk=f1()=()+Rk k=1,2,q (6.1)输出层节点的输出为:yj=f2() j=1,2,m (6.2)为了提高系统的精确度,在学习算法和回归算法预

34、测中的正向传递函f2(x)有所区别,回归算法中调用的传递函数为:f2(x)=x+Tj (6.3)分类算法中调用的传递函数为:f2(x)=f(x+Tj) (6.4) f(x)= 1/(1+e(-x) (6.5)6.1.2 正向传播实现的算法相应代码由于为了使代码能够更具可读性,在代码里定义的变量,尽量都用有相应代表意义的英文名,而没有直接用公式里的字母表示。 在程序初步实现后不断测试和改进过程中,发现回归算法直接用这个公式相对来说误差较大,所以对回归的算法做了进一步改进,其算法与上面公式有所差异,但是基本原理不变,只是他的传递函数不一样。Public Sub MidLayer() 计算中间层各单

35、元的加权和/输出Dim i, j As IntegerDim net() As DoubleReDim net(Midlayer_notes)For j = 1 To Midlayer_notes For i = 1 To Inlayer_notes net(j) = net(j) + In_Mid_W(j, i) * Inlayer_out(Current_sample, i) 加权和 Next i Midlayer_out(Current_sample, j) = f(net(j) + Mid_T(j) 对第j个节点求其输出值 Next jEnd SubPublic Sub Cla_Out

36、Layer() 分类算法中计算输出层各单元的加权和/输出Dim j, k As IntegerDim net() As DoubleReDim net(Outlayer_notes)For k = 1 To Outlayer_notes For j = 1 To Midlayer_notes net(k) = net(k) + Mid_Out_W(k, j) * Midlayer_out(Current_sample, j) 加权和 Next j Outlayer_out(Current_sample, k) = f(net(k) + Out_T(k) 对第k个节点求其输出值Next kEnd

37、 SubPublic Sub Re_OutLayer() 回归算法中计算输出层各单元的加权和/输出Dim j, k As IntegerDim net() As DoubleReDim net(Outlayer_notes)For k = 1 To Outlayer_notes For j = 1 To Midlayer_notes net(k) = net(k) + Mid_Out_W(k, j) * Midlayer_out(Current_sample, j) 加权和 Next j Outlayer_out(Current_sample, k) = net(k) + Out_T(k) 对

38、第k个节点求其输出值Next kEnd SubPublic Function f(X As Double) As Doublef = 1 / (1 + Exp(-X) 1/(1+e(-x)End Function6.1.3 正向传播实现的预测算法的相应流程图预测功能:两个预测的方法是相同的,就是分类的输出多用了一个转变函数,就是在显示预测结果前多了一个转换结果输出,其他算法相同。预测功能主要由两个函数组成:(1)计算中间层各单元的输入/输出。(2)计算输出层各单元的输入/输出。图6.2 回归预测的算法描述6.2 反向传播6.2.1 反向传播实现算法若在输出层得不到期望的输出,则转向误差信号的反

39、向传播流程。设 BP网络的输入层有n个节点(第i个),中间层有q个节点(第k个),输出层有m个节点(第j个),输入层与中间层之间的权值为vki,中间层与输出层之间的权值为wjk,中间层的阀值为Rk,输出层的阀值为Tj。(1)定义误差函数输入p个学习样本,用x1,x2,xp,xq来表示。第p个样本输入到网络后得到输出yjp(j=1,2,m),即实际输出。采用平方型误差函数,于是得到第p个样本的误差Ep:Ep=(1/2) (6.6)式中:tpj为理论输出,Ep用于判断样本是否要进去反向传播调整,若Ep的值小于设定的误差系数e,则要进行反向传播,调整权值与阀值;否则不需要进行调整,进入下一个样本输入

40、运算。 对于p个样本,全局误差为: E= (1/2)= (6.7)(2)输出层一般化误差Eoutlayer:为提高精确度,对分类算法和回归算法也采用不同的输出层一般误差算法。对于分类算法,其 Eoutlayer(j)= (6.8)对于回归算法,其 Eoutlayer(j)= (6.9)注:对于回归只有一个输出节点,即m=j=1(3)中间层一般化误差Emidlayer: S= (6.10)Emidlayer(k)= (6.11)(4)中间层到输出层权值和阀值调整算法:权值 Wjk= (6.12)阀值 Tj= (6.13)L1,L2分别为用户设置或系统初始化生成的权调系数和阀调系数。(5)输入层到

41、中间层权值和阀值调整算法:权值 vki= (6.14)阀值 Rk= (6.15)6.2.2 反向传播实现的算法相应代码Public Sub Cla_outlayer_err() 计算输出层各单元的一般化误差Dim k As IntegerFor k = 1 To Outlayer_notesOutlayer_err(k) = (Theor_result(Current_sample, k) - Outlayer_out(Current_sample, k) * Outlayer_out(Current_sample, k) * (1 - Outlayer_out(Current_sample,

42、 k) Next kEnd SubPublic Sub Re_outlayer_err() 计算输出层各单元的一般化误差Dim k As IntegerFor k = 1 To Outlayer_notesOutlayer_err(k) = Theor_result(Current_sample, k) - Outlayer_out(Current_sample, k) Next kEnd SubPublic Sub Mid_err() 计算中间层各单元的一般化误差Dim j, k As IntegerFor j = 1 To Midlayer_notes For k = 1 To Outla

43、yer_notes Midlayer_err(j) = Midlayer_err(j) + Outlayer_err(k) * Mid_Out_W(k, j) Next k Midlayer_err(j) = Midlayer_err(j) * Midlayer_out(Current_sample, j) * (1 -Midlayer_out(Current_sample, j) Next jEnd SubPublic Sub Modify_Mid_Out() 调节中间层至输出层之间的连接权及输出层节点的阈值Dim k, j As IntegerFor k = 1 To Outlayer_n

44、otes For j = 1 To Midlayer_notes Mid_Out_W(k, j) = Mid_Out_W(k, j) + L1 * Outlayer_err(k) * Midlayer_out(Current_sample, j) Next j Out_T(k) = Out_T(k) + L2 * Outlayer_err(k)Next kEnd SubPublic Sub Modify_In_Mid() 调节输入层至中间层的连接权及中间层节点的阈值Dim i, j As IntegerFor j = 1 To Midlayer_notes For i = 1 To Inlayer_notes In_Mid_W(j, i) = In_Mid_W(j, i) + L1 * Midlayer_err(j) * Inlayer_out(Current_sample, i) Next i Mid_T(j) = Mid_T(j) + L2 * Midlayer_err(j) Next jEnd Sub6.2.3 反向传播和正向传播共同实现的学习算法的相应流程图其中学习功能主要由六个函数组成,通过学习使得结果接近预期的效果后得到一系列的权值和阈值为以后的预测做准备。预测功能就是把通过学习得到的权值和阈值导入进来后

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922