%基于BP方法的神经网络
close all
clear all
clc
%输入向量
p=load('data.txt');
%p=xlsread('D:\matlab\matlab\work\新建文件夹 (2)\新建文件夹\溪洛渡数据.xls',2,'A2:G156');
%归一化
for i=1:8
data(:,i)=(p(:,i)-min(p(:,i)))/(max(p(:,i))-min(p(:,i)));
end
a=p(:,8);
%训练
testnum=50;%检验数据组数
test_num=50;%检验数据个数
max_node=8;%隐层节点数
rmse=[];%每行存贮训练与检验rmse
nr=size(data,1);
train_num=nr-test_num;%训练数据数
%训练集,最后列为实际值,前面为输入,每行为一个输入
train_in=data(1:nr-testnum,1:7)'; % train_in 为输入矢量
train_out=data(1:nr-testnum,8)'; % train_out 为目标矢量
%检验集
test_in=data(nr-testnum+1:328,1:7)';
test_out=data(nr-testnum+1:328,8)';
net=newff(minmax(train_in),[max_node,1],{'tansig','logsig'},'trainlm');
disp('1. L-M 优化算法 TRAINLM'); disp('2. 贝叶斯正则化算法 TRAINBR');
choice=input('请选择训练算法(1,2):');
if(choice==1)
% 采用 L-M 优化算法 TRAINLM
net.trainFcn='trainlm';
% 设置训练参数
net.trainParam.epochs=500;
net.trainParam.goal=0.005;
LP.lr=0.01;
net.trainParam.show=net.trainParam.epochs;
% 重新初始化
net=init(net);
pause;
elseif(choice==2)
% 采用贝叶斯正则化算法 TRAINBR
net.trainFcn='trainbr';
%设定网络训练参数
net.trainParam.epochs=500;
net.trainParam.goal=0.005;
LP.lr=0.01;
net.trainParam.show=net.trainParam.epochs;
% 重新初始化
net = init(net);
pause;
end
% 调用相应算法训练 BP 网络
net=train(net,train_in,train_out);
sim_train=sim(net,train_in);%模拟
%反归一化
out_train=sim_train*(max(a)-min(a))+min(a);
sim_test=sim(net,test_in);
%反归一化
out_test=sim_test*(max(a)-min(a))+min(a);
out_traindata=p(1:nr-testnum,8)';
out_testdata=p(nr-testnum+1:328,8)';
%--------------------------------------
figure
x=1:length(out_traindata);
subplot(2,1,1);
plot(x,out_traindata,'b-',x,out_traindata,'bo',x,out_train,'r--',x,out_train,'r.');
title('Training data set');
x=1:test_num;
subplot(2,1,2);
plot(x,out_testdata,'b-',x,out_testdata,'bo',x,out_test,'r--',x,out_test,'r.');
title('Testing data set');
tmp=corrcoef(test_out,sim_test);
fprintf('相关系数:%0.2% 、\n',tmp);
tmo=corrcoef(train_out,sim_train);
BP.rar_BAYESIAN control_L 正则化_大坝温度_正则化 优化_温度预报
版权申诉
99 浏览量
2022-09-14
19:25:21
上传
评论
收藏 1KB RAR 举报
局外狗
- 粉丝: 66
- 资源: 1万+
最新资源
- VIVADO中UART IP核使用
- 【深度学习实际案例解析】深度学习实际案例解析
- 封装swagger组件,提供全新UI以及无状态登录接口调用解决方案
- 小龙坎支局2024年4月渠道积分核对数据.xlam
- onlyoffice搭建及与alist使用的view.html
- Quadcopter-UAV-attitude-estimation-linux常用命令大全demo
- Quadcopter-UAV-attitude-estimation-based-on-数据库课程设计
- pbdlib-python-master.zip
- 43904245495352013_base.apk
- 基于springboot+vue + redis的工作流审批系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0