How to achieve better regression using Neural network having 364*6 inputs and 364*1 output?
1 次查看(过去 30 天)
显示 更早的评论
Hi, I have 364*6 inputs and 364*1 output and loading into neural network of 10 neurons and all other settings are given below:
clear all;
close all;
load('nmtraindata.mat');
in=input';
ref=output';
net = feedforwardnet(10);
% net.performFcn = 'mse';
net.performFcn = 'mae';
%set NN function and other parameters 2if desired
net.layers{1}.transferFcn = 'tansig'; % transfer function is "x=y" %tansig logsig
% net.layers{2}.transferFcn = 'tansig';
net.trainParam.max_fail = 1000;
net.trainParam.min_grad=1e-9;
net.trainParam.show=10; %showing intervals
net.trainParam.lr=0.1; %learning rate
net.trainParam.epochs=1000; %maximum iterations
net.trainParam.goal=0; %error goal
net.trainParam.mc = 0.9;
% train the NN
net = train(net,in,ref);
estim_out = sim(net,in); % simulate the network to calculate output
plot(estim_out,'r'); hold on;
plot(ref,'b')
If there is less noisy data then regression plot is 1 (desired) but when i program large data set like the above one, i don't regression above 0.5. Am I missing something, like, do I need to change settings of neural network?
Looking forward for a positive solution and guidelines to this problem.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!