BP神经网络Matlab实例_第1页
BP神经网络Matlab实例_第2页
BP神经网络Matlab实例_第3页
BP神经网络Matlab实例_第4页
BP神经网络Matlab实例_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、BP神经网络Matlab实例(1)(2009-06-14 21:56:17)标签:matlab simulink 神经网络 杂谈 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练 BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =-1 -2 3 1 % -1 1 5 -3 % 目标矢量为 t = -1 -1 1 1 close all clear clc % -% NEWFF生成一个新的前向神经网络,函数格式:% net = newff(PR,S1 S2.SN

2、l,TF1 TF2.TFNl,BTF,BLF,PF) takes,% PR - R x 2 matrix of min and max values for R input elements% (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的边界值)% Si - 第i层的维数% TFi - 第i层的传递函数, default = 'tansig'% BTF - 反向传播网络的训练函数, default = 'traingdx'% BLF - 反向传播网络的权值/阈值学习函数, default = 'learngdm'% PF -

3、性能函数, default = 'mse'% -% TRAIN对 BP 神经网络进行训练,函数格式:% train(NET,P,T,Pi,Ai,VV,TV),输入参数:% net - 所建立的网络% P - 网络的输入% T - 网络的目标值, default = zeros% Pi - 初始输入延迟, default = zeros% Ai - 初始网络层延迟, default = zeros% VV - 验证向量的结构, default = % TV - 测试向量的结构, default = % 返回值:% net - 训练之后的网络% TR - 训练记录(训练次数及每次训

4、练的误差)% Y - 网络输出% E - 网络误差% Pf - 最终输入延迟% Af - 最终网络层延迟% -% SIM对 BP 神经网络进行仿真,函数格式:% Y,Pf,Af,E,perf = sim(net,P,PiAi,T)% 参数与前同。% -% % 定义训练样本 % P 为输入矢量 echo onP=-1, -2, 3, 1; -1, 1, 5, -3; % T 为目标矢量 T=-1, -1, 1, 1; % 创建一个新的前向神经网络 net=newff(minmax(P),3,1,'tansig','purelin','traingdm

5、9;) % -% 训练函数:traingdm,功能:以动量BP算法修正神经网络的权值和阈值。% 它的相关特性包括:% epochs:训练的次数,默认:100% goal:误差性能目标值,默认:0% lr:学习率,默认:0.01% max_fail:确认样本进行仿真时,最大的失败次数,默认:5% mc:动量因子,默认:0.9% min_grad:最小梯度值,默认:1e-10% show:显示的间隔次数,默认:25% time:训练的最长时间,默认:inf% -% 当前输入层权值和阈值 inputWeights=net.IW1,1 inputbias=net.b1 % 当前网络层权值和阈值 lay

6、erWeights=net.LW2,1 layerbias=net.b2 % 设置网络的训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3; % 调用 TRAINGDM 算法训练 BP 网络 net,tr=train(net,P,T); % 对 BP 网络进行仿真 A = sim(net,P) % 计算仿真误差 E = T - A MSE=mse(E) echo offf

7、igure;plot(1:4),T,'-*',(1:4),A,'-o')BP神经网络Matlab实例(2)(2009-06-15 00:14:43)标签:matlab simulink 神经网络 杂谈  分类:Matlab实例% 采用贝叶斯正则化算法提高 BP 网络的推广能力。在本例中,我们采用两种训练方法,即 L-M 优化算法%(trainlm)和贝叶斯正则化算法(trainbr),% 用以训练 BP 网络,使其能够拟合某一附加有白噪声的正弦样本数据。其中,样本数据可以采用如下% MATLAB 语句生成: &#

8、160;% 输入矢量:P = -1:0.05:1;  % 目标矢量:randn(seed,78341223);  % T = sin(2*pi*P)+0.1*randn(size(P);  % MATLAB 程序如下:  close all  clear all  clc  % NEWFF生成一个新的前向神经网络  % TRAIN对 BP 神经网络进行训练 % SIM对 BP 神经网络进行仿真   

9、; %  定义训练样本矢量  % P 为输入矢量  P = -1:0.05:1;  % T 为目标矢量  randn('seed',78341223); T = sin(2*pi*P)+0.1*randn(size(P);    %  创建一个新的前向神经网络  net=newff(minmax(P),20,1,'tansig','purelin');  di

10、sp('1.  L-M 优化算法 TRAINLM'); disp('2.  贝叶斯正则化算法 TRAINBR');  choice=input('请选择训练算法(1,2):');  if(choice=1)    %  采用 L-M 优化算法 TRAINLM      net.trainFcn='trainlm'      

11、               %  设置训练参数              net.trainParam.epochs = 500;              net.trainParam.

12、goal = 1e-6;              %  重新初始化    net=init(net);             pause;elseif(choice=2)    %  采用贝叶斯正则化算法 TRAINBR    

13、;          net.trainFcn='trainbr'                      %  设置训练参数            &

14、#160; net.trainParam.epochs = 500;  %  重新初始化       net = init(net);                 pause;end % 调用相应算法训练 BP 网络 net,tr=train(net,P,T); % 对 BP 网络进行仿真 A = sim(net,P); % 计算仿真误差 E = T - A; MSE=mse(E) % 绘制匹配结果曲线 figureplot(P,A,'o'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论