最近想用神经网络做预测,在网上找了个例子做修改,但是发现逼近效果并不好,为什么?不是说神经网络逼近效果非常好吗?还是我的程序哪里出问题了,该如何修改?我想用训练好的神经网络预测。谢谢
%% 清空环境变量
clc
clear
%% 训练数据预测数据提取及归一化
%找出训练数据和预测数据
input_train=[3 4 5 6 7 8 9 10 11 12];
output_train=[31.73 40.582 46.496 48.734 52.205 53.988 55.985 57.873 61.066 65.49];
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,20);
net.trainParam.epochs=5000;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
%网络训练
net=train(net,inputn,outputn);
%网络逼近输出
bijin=sim(net,inputn);
%网络输出反归一化
BP_bijin=mapminmax('reverse',bijin,outputps);
%% 结果分析
figure(1)
plot(input_train,output_train,'-*',input_train,BP_bijin,'o');
title('神经网络逼近模型')
![用神经网络逼近效果很差,为什么?帮忙看看程序有什么问题嘛?急急急]()
逼近图形.png |