.net的bp实验平台设计与实现
指导教师 彭雅琴 摘 要随着科技的发展,人们开始非常期待在某些场景机器能够替代人类完成的复杂工作,这正是人工智能研究的内容。其理论分支有很多,神经网络中的BP算法就是一种性能较好的方法,目前已经被广泛的应用于语音识别、图像识别、文字识别等多个领域。本文的研究课题就是BP神经网络算法,首先分析了算法的基本结构,然后详细地介绍了算法的基本步骤和重要参数,最后在.NET平台上实现一个小型的实验系统,能够方便地读入样本、训练样本和测试样本,实验结果证明了算法的有效性。
目 录
第一章 绪论 1
1.1 BP神经网络的意义 1
1.2 BP神经网络的发展现状和未来方向 1
1.3章节安排 2
第二章 开发技术 3
2.1开发平台 3
2.2编程语言C# 4
第三章 算法介绍与数据分析 5
3.1算法的介绍 5
3.2算法的步骤 5
3.3算法的流程 6
第四章 实现系统的设计与实现 7
4.1函数方法 7
4.2系统的功能 7
4.3实验结果 17
结束语 21
致 谢 22
参考文献 23
第一章 绪论
1.1 BP神经网络的背景意义
现代计算机构成单元的速度是人脑神经元素的几百万倍,但是由于现有计算机是按照冯诺依曼原理,基于程序存取进行工作的,因而在很多方面的功能还远不能达到人的智能水平。随着现代信息技术的飞速发展,这方面的问题日趋尖锐,促使科学家和技术专家们开辟出解决问题的新出路。随着对生物脑的深入了解,人工神经网络由此产生并迅猛发展。
人工神经网络其实就是模拟人脑思维的第二种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单且功能有限,但大量神经元构成的网络系统所要实现的功能却是极其丰富多彩的。
现在已经有的人工神经网络模型不下百种。随着应用需求研究的不断深入,人工神经网络模型也在不断的推陈出新。其中最具代
*好棒文|www.hbsrm.com +Q: *351916072*
表人工神经网络模型有多层前馈网络(MLP)、Hopfield神经网络(HNN)、随机神经网络和自组织神经网络。
由Rosenblatt提出的反向传播(BP)算法,使得前馈网络的研究取得了重大进展。BP算法被人们所知并且投入研究,发现BP算法能够解决多层网络中隐节点的学习问题以及权重调整问题,自此BP算法掀起热潮,
现在已经被广泛使用于语音识别,图像识别,文字识别等多个领域。本文的研究课题正是BP神经网络,并基于.NET平台实现了一个小型的实验平台,可以为初学者方便快捷地学习和使用。
1.2 BP神经网络的发展和未来方向
人工神经网络的早期研究工作应该追溯到1940年代。1943年,在心理学家W麦克洛克和数理逻辑学家W皮特的分析、总结神经元的基本特性的基础上,首次提出神经元的数学模型。此模型至今仍然在使用,并且直接影响着这一领域研究的进展。因而,W麦克洛克和W皮特两人可称为人工神经网络研究的先驱。
50年代末,FRosenblatt设计制作了“感知机”,它是一种多层的神经网络。60年代末期,人工神经网络的研究进入了低潮。随着人们对感知机兴趣的衰退,神经网络的研究沉默了很长一段时间。 美国的物理学家Hopfield于1982年和1984年在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。人们重新认识到神经网络的威力以及付诸应用的现实性。随即,一大批学者和研究人员围绕着 Hopfield提出的方法开展了进一步的工作,形成了80年代中期以来人工神经网络的研究热潮。
人工神经网络发展的高潮一直保持着余温,直到今天人们也一直保持高度的兴趣研究着它,同时也发现了它的缺点,也做出了相应的改进,如针对BP神经网络易于陷入局部最小以及收敛速度较慢的问题,可以通过对BP神经网络的样本进行采样分析,得到训练目标函数与输入向量之间的相关系数,依据此相关系数得到网络训练时的初始权重,再给待训练的BP神经网络进行初始权重的赋值,通过对初始权重的科学赋值从而达到避免网络在训练过程中陷入局部最小点与加快收敛速度的目的[1]。还有其他比较应用广泛的改进方法:修正BP算法的误差函数和激励函数,网络初始参数归一化处理,隐含层节点数选择方法的改进和改进的BP网络学习率;通过SN油田SGH组的油气预测,表明利用BP神经网络进行油气藏的储层预测是有效的[2];用Matlab编制出相应的BP神经网络算法程序,并将其用于处理紫外分光光度法[3];通过建立大量的BP网络进行比较,来提高训练速度和仿真精度,筛选出最具应用价值的网络[4];选择声道反射系数为语音识别的特征值,建立了网络的训练样本集,对网络进行了训练[5];将动态神经网络Elman应用于交通流预测中,通过对比应用较为广泛的Bp神经网络,对实际监测到的一组数据进行学习、仿真和预测[6];针对常规的BP神经网络不能给出诊断结果的可信度问题,利用多个网络共同诊断,根据多个诊断结果的标准差获得诊断结果的可信度,多个结果的均值作为最终诊断结果,从而提高了准确性。构造了适合于变压器油中溶解气体分析故障诊断的神经网络,并将训练所得的多个神经网络用于变压器故障诊断[7]。
神经网络正向模拟人类认知的道路上更加深入的发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展[8]。随着神经网络理论研究的深入以及网络计算能力的不断提高,神经网络的应用领域将会不断扩大,应用水平将会不断提高,最终达到神经网络系统可用来帮人做事的目的,这也是神经网络研究的最终目标[9]。
1.3章节安排
本文的结构安排如下:
第一章,课题介绍。主要介绍课题的研究背景和意义,分别说明人工神经网络和BP神经网络算法的发展和未来研究的方向,最后简要地阐述论文的章节安排。
第二章,开发技术。介绍了实现BP神经网络算法所需要的开发平台的来源、特点以及在课题中所起到的作用。阐述了实现BP神经网络算法所需要的编程语言C#的特点。
第三章,算法的介绍与数据分析。主要介绍了BP神经网络算法的步骤流程。
第四章,系统的设计与实现。主要分析了模块的代码和功能的实现。
总结,主要是对研究工作内容的总结,包括研究中遇到的问题,以及还未解决的问题,并且明确了日后主要的研究方向。
第二章 开发技术
2.1开发平台
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft?Silverlight?及Windows Phone。
目 录
第一章 绪论 1
1.1 BP神经网络的意义 1
1.2 BP神经网络的发展现状和未来方向 1
1.3章节安排 2
第二章 开发技术 3
2.1开发平台 3
2.2编程语言C# 4
第三章 算法介绍与数据分析 5
3.1算法的介绍 5
3.2算法的步骤 5
3.3算法的流程 6
第四章 实现系统的设计与实现 7
4.1函数方法 7
4.2系统的功能 7
4.3实验结果 17
结束语 21
致 谢 22
参考文献 23
第一章 绪论
1.1 BP神经网络的背景意义
现代计算机构成单元的速度是人脑神经元素的几百万倍,但是由于现有计算机是按照冯诺依曼原理,基于程序存取进行工作的,因而在很多方面的功能还远不能达到人的智能水平。随着现代信息技术的飞速发展,这方面的问题日趋尖锐,促使科学家和技术专家们开辟出解决问题的新出路。随着对生物脑的深入了解,人工神经网络由此产生并迅猛发展。
人工神经网络其实就是模拟人脑思维的第二种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单且功能有限,但大量神经元构成的网络系统所要实现的功能却是极其丰富多彩的。
现在已经有的人工神经网络模型不下百种。随着应用需求研究的不断深入,人工神经网络模型也在不断的推陈出新。其中最具代
*好棒文|www.hbsrm.com +Q: *351916072*
表人工神经网络模型有多层前馈网络(MLP)、Hopfield神经网络(HNN)、随机神经网络和自组织神经网络。
由Rosenblatt提出的反向传播(BP)算法,使得前馈网络的研究取得了重大进展。BP算法被人们所知并且投入研究,发现BP算法能够解决多层网络中隐节点的学习问题以及权重调整问题,自此BP算法掀起热潮,
现在已经被广泛使用于语音识别,图像识别,文字识别等多个领域。本文的研究课题正是BP神经网络,并基于.NET平台实现了一个小型的实验平台,可以为初学者方便快捷地学习和使用。
1.2 BP神经网络的发展和未来方向
人工神经网络的早期研究工作应该追溯到1940年代。1943年,在心理学家W麦克洛克和数理逻辑学家W皮特的分析、总结神经元的基本特性的基础上,首次提出神经元的数学模型。此模型至今仍然在使用,并且直接影响着这一领域研究的进展。因而,W麦克洛克和W皮特两人可称为人工神经网络研究的先驱。
50年代末,FRosenblatt设计制作了“感知机”,它是一种多层的神经网络。60年代末期,人工神经网络的研究进入了低潮。随着人们对感知机兴趣的衰退,神经网络的研究沉默了很长一段时间。 美国的物理学家Hopfield于1982年和1984年在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。人们重新认识到神经网络的威力以及付诸应用的现实性。随即,一大批学者和研究人员围绕着 Hopfield提出的方法开展了进一步的工作,形成了80年代中期以来人工神经网络的研究热潮。
人工神经网络发展的高潮一直保持着余温,直到今天人们也一直保持高度的兴趣研究着它,同时也发现了它的缺点,也做出了相应的改进,如针对BP神经网络易于陷入局部最小以及收敛速度较慢的问题,可以通过对BP神经网络的样本进行采样分析,得到训练目标函数与输入向量之间的相关系数,依据此相关系数得到网络训练时的初始权重,再给待训练的BP神经网络进行初始权重的赋值,通过对初始权重的科学赋值从而达到避免网络在训练过程中陷入局部最小点与加快收敛速度的目的[1]。还有其他比较应用广泛的改进方法:修正BP算法的误差函数和激励函数,网络初始参数归一化处理,隐含层节点数选择方法的改进和改进的BP网络学习率;通过SN油田SGH组的油气预测,表明利用BP神经网络进行油气藏的储层预测是有效的[2];用Matlab编制出相应的BP神经网络算法程序,并将其用于处理紫外分光光度法[3];通过建立大量的BP网络进行比较,来提高训练速度和仿真精度,筛选出最具应用价值的网络[4];选择声道反射系数为语音识别的特征值,建立了网络的训练样本集,对网络进行了训练[5];将动态神经网络Elman应用于交通流预测中,通过对比应用较为广泛的Bp神经网络,对实际监测到的一组数据进行学习、仿真和预测[6];针对常规的BP神经网络不能给出诊断结果的可信度问题,利用多个网络共同诊断,根据多个诊断结果的标准差获得诊断结果的可信度,多个结果的均值作为最终诊断结果,从而提高了准确性。构造了适合于变压器油中溶解气体分析故障诊断的神经网络,并将训练所得的多个神经网络用于变压器故障诊断[7]。
神经网络正向模拟人类认知的道路上更加深入的发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展[8]。随着神经网络理论研究的深入以及网络计算能力的不断提高,神经网络的应用领域将会不断扩大,应用水平将会不断提高,最终达到神经网络系统可用来帮人做事的目的,这也是神经网络研究的最终目标[9]。
1.3章节安排
本文的结构安排如下:
第一章,课题介绍。主要介绍课题的研究背景和意义,分别说明人工神经网络和BP神经网络算法的发展和未来研究的方向,最后简要地阐述论文的章节安排。
第二章,开发技术。介绍了实现BP神经网络算法所需要的开发平台的来源、特点以及在课题中所起到的作用。阐述了实现BP神经网络算法所需要的编程语言C#的特点。
第三章,算法的介绍与数据分析。主要介绍了BP神经网络算法的步骤流程。
第四章,系统的设计与实现。主要分析了模块的代码和功能的实现。
总结,主要是对研究工作内容的总结,包括研究中遇到的问题,以及还未解决的问题,并且明确了日后主要的研究方向。
第二章 开发技术
2.1开发平台
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft?Silverlight?及Windows Phone。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2186.html