matlab simulink中matlab function调用训练好的bp神经网络matlab实例

%% 训练数据预测数据提取及归一化

%從1到2000间随机排序

%找出训练数据和预测数据

%选连样本输入输出数据归一化

比如我有10天的组数据想预测第是一天的
我训练的时候输入前五天的數据目标值设定为第六天的值这样依次列推,最后用训练好的网络来预测我只需输入第6天到第10天的数据,会根据前面的训练网络模型給出第11天的值

是的,训练的时候   用前五天作为输入第六天作为对应的输出。其实就是通过训练的方法来找前五天与后一天数据之间的關系这样最后你输出你知道的五天数据,就会根据之前你训练的网络找出后一天的未知数据了
当然了, 我只是打个比方你也可以使鼡输入前十天,用后三天的数据作为对应的输出来训练网络;这样你预测时再输入10个数据就可以预测后三天了。BP就是使用大量的数据找出数据之间的近似关系式。

它输出的结果是:ans =


以上结果未反归一化但是为什么每个数都一样呢?
备注:我一共有15个数据 P里面是前14个数據T里面是后14个数据,我训练好之后我想用T里面的14组数据进行预测,可是结果如上全都是0.7609 ,请问是我编程的逻辑出问题了吗还是哪裏?
}

经过最近一段时间的bp神经网络matlab实唎学习终于能初步使用matlab实现BP网络仿真试验。这里特别感谢研友sistor2004的帖子《自己编的BP算法(工具:matlab)》和研友wangleisxcc的帖子《用C++Matlab,Fortran实现的BP算法 》湔者帮助我对BP算法有了更明确的认识后者让我对matlab下BP函数的使用有了初步了解。因为他们发的帖子都没有加注释对我等新手阅读时有一萣困难,所以我把sistor2004发的程序稍加修改后加注了详细解释方便新手阅读。

% 然后下面是研友wangleisxcc的程序基础上我把初始化网络,训练网络和網络使用三个稍微集成后的一个新函数bpnet


%简单的BPbp神经网络matlab实例集成,使用时直接调用bpnet就行
%输入的是 p-作为训练值的输入
% t-也是网络的期望输出结果
% maxnum-如果训练一直达不到期望误差之内那么BP迭代的次数 一般设为5000
% ex-期望误差,也就是训练一小于这个误差后结束迭代 一般设为0.01
% pp-使用p-t虚拟蓝好嘚BP网络来分类计算的向量也就是嵌入二值水印的大组系数进行训练然后得到二值序列
% 比如p是m*n的n维行向量,t那么为m*k的k维行向量pp为o*i的i维行姠量,ww为o* k的k维行向量

%p,t作为网络训练输入,pp作为训练好的网络输入计算,最后的ww作为pp经过训练好的BP训练后的输出


%bpnet举例因为BP网络的权值初始化都昰随即生成,所以每次运行的状态可能不一样
%如果初始化的权值有利于训练,那么可能很快能结束训练反之则反之

BP网络里采用的传递函数有:logsig(),tansig(),purelin(); BPbp神经网络matlab实例训练函数 1. traingd:批梯度下降训练函数,沿网络性能参数的负梯度方向调整网络的权值和阈值.

经过最近一段时间的bp神经网络matlab实例學习,终于能初步使用matlab实现BP网络仿真试验这里特别感谢研友sistor2004的帖子《自己编的BP算法(工具:matlab)》和研友wangleisxcc的帖子《用C++,MatlabFo

}

《BPbp神经网络matlab实例的matlab实现设计.doc》由會员分享可在线阅读全文,更多相关《BPbp神经网络matlab实例的matlab实现设计(最终版)》请在上搜索

1、明显的多,其余均未达到目标误差;从均方误差的效果来看所仿真的BP算法的优劣(从优到劣)顺序依次为LM算法、共轭梯度法、弹性BP算法、动量及自适应学习速率法、增加动量法、标准BP算法。从仿真效果图可以看出LM算法的效果最好,其次是共轭梯度法其余均有不同范围内的失真。从误差曲线来看LM算法达到了目标误差(较高的误差),标准BP算法的误差曲线较粗是因为较小范围振荡产生锯齿,在图形中由于间距加大图形不断重叠而成,收敛速度很慢;增加动量法、弹性BP算法、动量及自适应学习速率法的误差曲线较为平滑在刚开始收敛较快,在训练步数增加的时候曲线趋於水平,收敛速度比较慢;共轭梯度法和LM算法的误差曲线变化较大且产生局部锯齿状说明不是最优,仍需要进行优化其中LM算法达到了目标误差。共轭梯度法在相邻迭代的正交方向搜索综合误差曲线可知当接近极值时会产生锯齿形振荡。再根据前面对各种BP改进算法的描述可知弹性BP算结论本文首先总结了bp神经网络matlab实例的研究目的和意义,介绍了bp神经网络matlab实例的研究背景

2、建华《基于BPbp神经网络matlab实例的函數逼近的MATLAB实现》[J]榆林学院学报,,()[]李晓慧《基于MATLAB的BPbp神经网络matlab实例的应用》[J]科技信息,,()参考文献[]徐远芳,周旸,郑华《基于MATLAB的BPbp神经网络matlab实例实现研究》[J]微型电脑应用,,()[]石云《Bbp神经网络matlab实例的Matlab实现》[J]湘南学院学报,,()致谢致谢经过几个月的努力,查找资料、深入分析此次毕业论文终于圆满完成。虽然自己查阅了大量资料、还进行了深入分析做了许多相关的工作,但没有导师的悉心指导和其他老师同学的大力帮助我也是无法唍成此次毕业设计的,特在此向在我完成此次毕业论文过程中给了我许多鼓励和帮助的老师同学一并致谢首先,感谢我的导师从下达任務书资料查阅、文章结构的安排、文字表述等各个环节和各个方面都给了我悉心的指导。虽然她平时的工作也很繁忙但她还是挤出许哆时间,给了我许多指导和启发她渊博的知识,前沿的理论研究严谨的治学精神以及诲人不倦的高尚品德都让我无比钦佩和无比感激,我也会以她为榜样在今

3、','tansig','urelin'},'trainlm');%训练步数最大为nettrainarameochs=;%设定目标误差为nettrainaramgoal=;%进行函数训练net=train(net,x,y);%对训练后的bp神经网络matlab实例进行仿真y=sim(net,x);%求欧式距离判定隐含层神经元个数及网络性能err=yy;res(i)=norm(err);end黑龙江八一农垦大学毕业设计(论文)用该同一程序在三个不同时刻,运行结果及分析如下:表隐含层不同神经元个数网络训练误差及学习步长某时刻一神经元个数网络误差学习步长某时刻二神经元个数网络误差学习步长某时刻三神经え个数网络误差学习步长由此可见选择隐含层神经元数目为是最佳选择,不仅误差小、学习步长短而且性能稳定。也可以看出并非隐含层神经元的数目越多网络的性能就越好。各种BP学习算法MATLAB仿真根据上面一节对BPbp神经网络matlab实例的MATLAB设计可以得出下面的通用的MATLAB程序段,由於各种BP学习算法采用了不

4、复杂大型网络较好的选择。其中共轭梯度法在训练的时候训练次数为次,均方误差为均未达到所设定的偠求,产生了“Minimumstesizereached,erformancegoalwasnotmet”的结果可能意味着子区间的长度与计算机舍入误差相当,无法继续计算了原因可能是有奇点(无限小且不实际存在),另外也存在是初值问题理论上得知:共轭梯度法最大局限是依赖于初值,在有限的迭代次数内可能既不能搜索到全局极值也不能搜索到局部极值因此该算法适用于精度要求比较低的高维网络之中。调整初始权值和阈值的仿真在分析了初始权值设置影响因素对BPbp神经网絡matlab实例的影响下面首先通过MATLAB程序段一,通过随机设置权值初始化网络方式获取训练好的阈值和权值作为MATLAB程序段二的初始化值。由此进荇仿真分析①MATLAB程序段一:x=::;y=sin(()*i*x)+sin(i*x);net=newff(minmax(x),[,,],{'tansig','tansig','urelin'}。

5、方面的应用实例给人们带来了很多应用上到思考,和解决方法的研究但是bp神经网络matlab实例的研究最菦几年还没有达到非常热门的阶段,这还需有很多热爱bp神经网络matlab实例和研究bp神经网络matlab实例人员的不断研究和创新在科技高度发达的现在,我们有理由期待也有理由相信。我想在不久的将来bp神经网络matlab实例会应用到更多更广的方面人们的生活会更加便捷。参考文献参考文獻[]郑君里,杨行峻《人工bp神经网络matlab实例》北京:高等教育出版社,:[]郝中华《BPbp神经网络matlab实例的非线性思想》洛阳师范学院学报()[]巨军让卓戎《BPbp神经網络matlab实例在Matlab中的方便实现》新疆石油学院学报()[]蒋宗礼《人工bp神经网络matlab实例导论》高等教育出版社,:[]闻新、周露、王丹力、熊晓英《MATLABbp神经网絡matlab实例应用设计科学出版社》:[]葛哲学、孙志强编著《bp神经网络matlab实例与matlab实现》北京:电子工业出版社,:[]董长虹编著《Matlabbp神经网络matlab实例与应用》北京:国防工业出版社:[]胡守仁,等《bp神经网络matlab实例导论》长沙:国防科技大学出版社:[]张玲,张钹《人工bp神经网络matlab实例理及应用》浙江:浙江科技

7、aingdx)图(d)共轭梯度法(traincgf)黑龙江八一农垦大学毕业设计(论文)图(e)LevenbergMarquardt算法(trainlm)图(f)图各种BP算法MATLAB仿真误差曲线(左)和仿真效果(右)图各种算法仿真结果比较与分析由上面的仿真结果可以得到下表的比较和下面的结论与分析:表各种BP学习算法MATLAB仿真结果比较BP算法訓练函数训练次数均方误差标准BP算法traingd增加动量法traingdm弹性BP算法trainr动量及自适应学习速率法trangdx共轭梯度法traincgfLevenbergMarquardt法trainlm结论与分析:从仿真结果可以看出,标准BP算法、增加动量发、弹性BP算法、动量及自适应学习速率法的收敛速度都不如共轭梯度法和LevenbergMarquardt法黑龙江八一农垦大学毕业设计(论文)(LM算法)收敛速度明显的快从仿真结果和均方误差综合来看,只有LM算法达到了目标误差可见对高要求的误差来说,LM算法的优势

8、后的工作囷学习中继续努力。在大学学习生活期间得到了学院诸多老师、同学的教导和帮助,在此一并致谢!最后向评审我的论文的老师们表礻深深的敬意!并向答辩委员会的全体老师表示衷心的感谢!黑龙江八一农垦大学毕业论文(设计)成绩单院系信息技术学院专业计算机科学与技术入学时间学号学生姓名班级周数起止日期指导教师职称论文(设计)题目指导教师评语指导教师签名年月日评阅人评语评阅人簽名年月日答辩小组评语答辩小组负责人签名年月日评分指导教师评阅人答辩小组平均分五级制等级备注:本成绩单一式二份,一份装订茬毕业论文(设计)中一份入学生学籍档案。法不需要进行搜索需要内存比较小,因此在一些大型网络中比较适用但是需要很长的訓练时间。对收敛速度要求不高时也可使用动量及自适应学习速率法在小型网络中,共轭梯度法仅次于LM算法但是LM算法需要更大的内存莋临时存储,对于较大复杂的网络和内存受限的设备来说不是很好的选择但是对于小型网络来说却是首要选择。对训练时间允许的条件丅共轭梯度法和弹性BP算法是。

9、和现状分析了目前bp神经网络matlab实例研究中存在的问题,然后描述了BPbp神经网络matlab实例算法的实现以及BPbp神经网絡matlab实例的工作原理给出了BP网络的局限性。在以BPbp神经网络matlab实例为基础的前提下分析研究了BPbp神经网络matlab实例在函数逼近和样本含量估计两个實例中的应用。以及分析了结论即信号的频率越高,则隐层节点越多隐单元个数越多,逼近能力越强和隐层数目越多,测试得到的樣本的水平越接近于期望值本文虽然总结分析了BPbp神经网络matlab实例算法的实现,给出了实例分析但是还有很多的不足。所总结的BPbp神经网络matlab實例和目前研究的现状都还不够全面经过程序调试的图形有可能都还存在很多细节上的问题,而图形曲线所实现效果都还不够好以及結果分析不够全面,正确缺乏科学性等,这些都还是需加强提高的本文的完成不代表就对这门学科研究的结束,还有很多知识理论,研究成果需要不断学习近几年的不断发展,bp神经网络matlab实例更是取得了非常广泛的应用和令人瞩目的发展,在很多方面都发挥了其独特的作用特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别等众。

10、元的数目可以改变BPbp神经网络matlab实例对于函數的逼近效果。隐层神经元数目越多则BP网络逼近非线性函数的能力越强。仿真实验BPbp神经网络matlab实例MATLAB设计由于在隐含层的神经元个数可以随意调整的前提下单隐含层的BPbp神经网络matlab实例可以逼近任意的非线性映射。输入层和输出层神经元个数为只有一个隐含层,其个数根据上述的设计经验公式和本例的实际情况选取之间。下面的隐含层神经元个数可变的BPbp神经网络matlab实例通过误差和训练步数对比确定隐含层个數,并检验隐含层神经元个数对网络性能的影响下面是相关MATLAB程序段:%选取输入变量x取值范围x=::;%输入目标函数y=sin(()*i*x)+sin(i*x);%隐含层的神经元数目范围s=:;%欧氏距离res=:;%选取不同的隐含层神经元个数,进行网络测试fori=:%建立前向型BPbp神经网络matlab实例输入层和隐含层激励函数为tansig,输出层为urelin%训练函数为trainlm也是默认函数net=newff(minmax(x),[,s(i),],{'tansig。

}

我要回帖

更多关于 bp神经网络matlab实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信