matlab做BP神经网络

这里写目录标题

保存网络

首先使用save函数直接对网络进行保存




%% 网络结构建立
%读取数据 
P_train = aa(:,1:3);
T_train = aa(:,4:6);
a1=T_train;
b1=P_train;
[inputn,inputps]=mapminmax(b1');
[outputn,outputps]=mapminmax(a1');
outputn1=outputn';
inputn1=inputn';
input_train=inputn1';
output_train=outputn1';
%% 给与最佳神经元节点
net=newff(input_train,output_train,[50,50],{
   'tansig','purelin'},'trainlm');


%初始化神经网路
net=init(net);

save my_bp net
%网络参数的设置
net.trainParam.show=20;
net.trainParam.lr=0.1;
net.trainParam.mc=0.6;
net.trainParam.epochs=1000;
net.trainParam.goal=0.0001;
net.divideParam.trainRatio=0.7
net.divideParam.valRatio=0.1
net.divideParam.testRati=0.2
%训练网络
[net,tr]=train(net,input_train,output_train);
%仿真预测样本结果
%数据归一化
an=sim(net,input_train);
test_simu1=round(mapminmax('reverse',an,outputps));

%% 预测结果分析
[m,n]=size(test_simu1);
figure
subplot(2,1,1)
plot(1:n,test_simu1,'-ob',1:n,T_train,'-*r');  %test_simul是测试集的结果
legend('预测值','实际值');
ylabel('depth','FontSize',12);
title('BP-depth')
grid on;
subplot(2,1,2)
plot(1:n,test_simu1-T_train','-*r');
ylabel('error','FontSize',12);
legend('预测值error');

figure(2)
 plotregression(T_train(:,1)',test_simu1(1,:)) %%看第一个参数,也就是宽度
%plotregression(T_train(:,1)',test_simu1(1,:),'Width',T_train(:,2)',test_simu1(2,:),'Depth',T_train(:,3)',test_simu1(3,:),'Roughness');
figure(5)
subplot(3,1,1)
plot(1:n,test_simu1(1,:),'-ob',1<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值