基于LabVIEW的BP曲线逼近算法

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

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

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

资源描述

石家庄铁道大学研究生课程考试答题纸培养单位_电气与电子工程学院学科专业_电力电子与电力传动课程名称_数字图像处理__任课教师____王硕禾________考试日期____2012/5/30______学生姓名____郭影_________学号_____120111104_____研究生学院研究生课程考试答题纸第1页基于LabVIEW的BP曲线逼近算法1、LabVIEWLabVIEW是美国国家仪器公司(NI)公司开发的图形化编程语言,相比与文本型编程语言,这种图形化的编程语言具有直观、简便、快速、易于开发和便于维护等优点,在虚拟仪器设计和测控系统开发等相关领域得到了日益广泛的应用。神经网络的程序往往计算量大,循环复杂,以往在编写这些程序时,都是使用诸如VC++、Matlab等文本式编程语言。比较而言,以LabVIEW为代表的图形化编程语言不但形象、直观、便捷,而且具有功能强大的数学运算和分析工具,尤其是便捷的图表显示功能,利用LabVIEW可以方便的建立各类仿真模型,进行相应的仿真实验。所以本文结合BP神经网络理论和LabVIEW图形化的编程思想,对BP神经网络的学习算法进行仿真。2、BP神经网络的算法BP网络的学习过程是由正向传播和误差反向传播组成,把输入样本从输入层传到隐含层单元,经隐含层单元逐层处理后产生一个输出,至输出层,这个过程为正向传播,如果输出层没有得到所期望的输入值,把期望值和输出值的误差信号按原路径返回,并通过修改各层神经元的连接权值,使误差信号为最小。这个过程为反向传播。第一层为输入层,第Q层为输出层,中间为隐含层,如图1.1。设第q层的神经元个数为nq,输入到第q层的第i个神经元的连接权系数为)(qijw(i=1,2,…,nq-1),该网络的输入输出变换关系为10)1()()(qnjqjqijqixws()()1(0qiqx,1)(0qiw))(11)()()(qisqiqiesfxqni,,2,11,2,1qnqQq,2,1y1y2yn......x1x2xn输入层隐含层输出层图2.1神经元网络研究生课程考试答题纸第2页设给定P组输入输出样本Tpnpppxxxx][)0()0(2)0(1)0(0,][21Qpnpppdddd设定拟合误差的代价函数为PpniPppQpipiQExdE1112)()(21采用一阶梯度法调节连接权系数E最小。最后归纳出BP网络的学习算法如下:)1()()1()()()(kDkwkWqijqijqij,0)1()()(qpjqpiqijxD11)()()1()1()()1()(qnkqpiqpiqkiqpkqpixxw1,,1,QQqqni,,2,11,,2,1qnj3、利用BP神经网络进行曲线逼近本实验选取的学习样本,输入样本点Xi(qni,,2,1)为(0,1)上的随机数,这些随机数由LabVIEW自带的函数产生。该神经网络为三层结构的神经网络,即由输入层,隐含层和输出层组成,输入层为单输入,含100个神经元,隐含层只有一层,神经元个数为10,输出层为单输出,神经元个数为100。程序流程如下所示研究生课程考试答题纸第3页初始化设定学习样本赋值权值初值学习次数是否达到求出隐含层,输入层各单元输出求出目标值和实际输出的偏差由输出偏差计算出隐含层输出偏差根据误差梯度权值修正否画出BP拟合曲线和学习样本曲线画出拟合样本输出与样本输出的误差曲线是结束在了解BP曲线拟合算法后,用LabVIEW编程,这主要是由于LabVIEW基于数据流的编程风格非常适合描述神经网络的正向传播和误差反向传播的过程,在本程序中,用while循环和移位寄存器作为主要的循环手段,中间计算过程综合采用LabVIEW的矩阵运算和数组运算,不仅简化了算法编程的难度,而且结构清晰。4、程序代码(1)本程序需在LabVIEW软件上运行,程序代码见附录。(2)前面板导出图研究生课程考试答题纸第4页在面板上可以实时显示训练过程曲线和误差曲线,通过右下方的输入控件可以设置训练要达到的精度和最大训练次数,两个指示灯用来指示训练是以完成设置精度结束还是以完成训练次数结束,误差显示控件显示训练结束时的误差大小。5、实验结果(1)训练样本和输入样本(2)训练过程研究生课程考试答题纸第5页(3)训练完成训练20次后误差为0.000468243,达到了精度要求(小于0.0005),训练停止。(4)误差曲线6、心得体会研究生课程考试答题纸第6页由于本次程序中采用的神经单元模型的输出变换函数为xxf11)(,神经单元的输出是在(0,1)开区间内,所以选取xysin的正半周期作为学习曲线,虽然训练效果很好但是由于神经单元模型的限制,该训练函数适用范围很有限,要想突破这个局限需要另选神经单元模型的输出变换函数,或者通过其他方法解决。其次由于对于阈值的修正没有一个好的修正算法,同时也为了简化算法,本实验中没设计关于阈值修正,直接是默认的阈值0。再次,在本实验中BP网络采用的一组样本对应一组权值,而不是所有的样本使用同一组样本。这样学习效率提高,学习比较快,缩短学习时间,但是权值数量比较庞大。总之各种方法都各有优缺点,可以根据实际的情况去选择方案,调整,修正算法。因此还需要对此进行更深入的研究。7、参考文献[1]卜富清,王茂芝,于庆刚.基于BP神经网络的数字识别[J].长江大学学报(自然科学版).2009.6(2):293-294[2]赵长青,李欧迅,黄书童.BP神经网络数字识别系统的设计方法[J].桂林航天工业高等专科学校学报.2010.3:292-294[3]马耀名,黄敏.基于BP神经网络的数字识别研究[J].信息技术.2007.4:87-91研究生课程考试答题纸第7页8、附录程序代码

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

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

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

×
保存成功