基于LabVIEW及BP曲线逼近算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LabVIEW及BP曲线逼近算法

石家庄铁道大学 研究生课程考试答题纸 培养单位_电气与电子工程学院 学科专业_电力电子与电力传动 课程名称_ 数字图像处理 __ 任课教师____ 王硕禾________ 考试日期____2012/5/30______ 学生姓名____ 郭影_________ 学 号_____120111104_____ 研究生学院 基于LabVIEW的BP曲线逼近算法 1、LabVIEW LabVIEW是美国国家仪器公司(NI)公司开发的图形化编程语言,相比与文本型编程语言,这种图形化的编程语言具有直观、简便、快速、易于开发和便于维护等优点,在虚拟仪器设计和测控系统开发等相关领域得到了日益广泛的应用。神经网络的程序往往计算量大,循环复杂,以往在编写这些程序时,都是使用诸如VC++、Matlab等文本式编程语言。比较而言,以LabVIEW为代表的图形化编程语言不但形象、直观、便捷,而且具有功能强大的数学运算和分析工具,尤其是便捷的图表显示功能,利用LabVIEW可以方便的建立各类仿真模型,进行相应的仿真实验。所以本文结合BP神经网络理论和LabVIEW图形化的编程思想,对BP神经网络的学习算法进行仿真。 2、BP神经网络的算法 BP网络的学习过程是由正向传播和误差反向传播组成,把输入样本从输入层传到隐含层单元,经隐含层单元逐层处理后产生一个输出,至输出层,这个过程为正向传播,如果输出层没有得到所期望的输入值,把期望值和输出值的误差信号按原路径返回,并通过修改各层神经元的连接权值,使误差信号为最小。这个过程为反向传播。 第一层为输入层,第Q层为输出层,中间为隐含层,如图1.1。设第q层的神经元个数为nq,输入到第q层的第i个神经元的连接权系数为(i=1,2,…,nq-1) ( , ) 图2.1 神经元网络 设给定P组输入输出样本, 设定拟合误差的代价函数为 采用一阶梯度法调节连接权系数E最小。 最后归纳出BP网络的学习算法如下: , 3、利用BP神经网络进行曲线逼近 本实验选取的学习样本,输入样本点Xi()为(0,1)上的随机数,这些随机数由LabVIEW自带的函数产生。该神经网络为三层结构的神经网络,即由输入层,隐含层和输出层组成,输入层为单输入,含100个神经元,隐含层只有一层,神经元个数为10,输出层为单输出,神经元个数为100。 程序流程如下所示 在了解BP曲线拟合算法后,用LabVIEW编程,这主要是由于LabVIEW基于数据流的编程风格非常适合描述神经网络的正向传播和误差反向传播的过程,在本程序中,用while循环和移位寄存器作为主要的循环手段,中间计算过程综合采用LabVIEW的矩阵运算和数组运算,不仅简化了算法编程的难度,而且结构清晰。 4、程序代码 本程序需在LabVIEW软件上运行,程序代码见附录。 前面板导出图 在面板上可以实时显示训练过程曲线和误差曲线,通过右下方的输入控件可以设置训练要达到的精度和最大训练次数,两个指示灯用来指示训练是以完成设置精度结束还是以完成训练次数结束,误差显示控件显示训练结束时的误差大小。 5、实验结果 训练样本和输入样本 训练过程 训练完成 训练20次后误差为0.000468243,达到了精度要求(小于0.0005),训练停止。 误差曲线 6、心得体会 由于本次程序中采用的神经单元模型的输出变换函数为,神经单元的输出是在(0,1)开区间内,所以选取的正半周期作为学习曲线,虽然训练效果很好但是由于神经单元模型的限制,该训练函数适用范围很有限,要想突破这个局限需要另选神经单元模型的输出变换函数,或者通过其他方法解决。其次由于对于阈值的修正没有一个好的修正算法,同时也为了简化算法,本实验中没设计关于阈值修正,直接是默认的阈值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 8、附录 程序代码 研究生课程考试答题纸 第1页

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档