工具 matlab
功能:训练BP网络并调用
题目: 给一些股票数据,1,2,3月可以推导出第四个月的,2,3,4推导第五个月,以此类推。
数据
1训练网络 BP2.mat
num=xlsread('train.xlsx','A2:D7');
input_train=num(1:4,1:3)';
output_train=num(1:4,4)';
input_test=num(5:6,1:3)';
output_test=num(5:6,4)';
%从Excel中读入表格数据
[inputn,PS]=mapminmax(input_train);
[outputn,PS]=mapminmax(output_train);
%输入输出归一化
net=newff(minmax(inputn),[4 1],{'logsig','purelin'},'traingd');
net.trainparam.show=5;
net.trainparam.epochs=100;
net.trainparam.goal=0.01;
net.trainparam.lr=0.05;
%设置参数
net=train(net,inputn,outputn);
%训练网络
inputn_test=mapminmax('apply',input_test,PS);
y2=sim(net,inputn_test);
BPoutput2=mapminmax('reverse',y2,PS);
%将测试样本输入到训练好的模型中,并将得出的数值反归一化
save('C:\Program Files\MATLAB\R2016a\bin\myself_project\BP2.mat','net');
%保存网络模型在这里插入代码片
2.调用训练好的网络 BP3.mat
load('-mat','C:\Program Files\MATLAB\R2016a\bin\myself_project\BP2.mat');
%导入训练好的模型
num1=input('enter a matix:');
%输入
inputn_test=mapminmax('apply',num1,PS);
y=sim(net,inputn_test);
outputn_test=mapminmax('reverse',y,PS);
% 反归一化
disp(outputn_test);
%输出的是科学计数法
https://wenku.baidu.com/view/95948ca128ea81c758f57881.html
https://blog.youkuaiyun.com/xiaotao_1/article/details/79143381
保存模型,取用模型
https://blog.youkuaiyun.com/xiaotao_1/article/details/79089316
如何看懂NNtraintool产生的图