How can I get the 3 minimum values of this plot?

1 次查看(过去 30 天)
How can I get the number of neurons on which I get the smallest RMSE for Training, Validation and Test set.
for i = 1:60
net = feedforwardnet(i);
net.trainParam.epochs = 300;
[net, tr] = train(net, input, output, 'useparallel', 'yes');
pnet_train = net(input(:,tr.trainInd)); % prediction
tnet_train = output(:,tr.trainInd); % target
rmse_train(i) = sqrt(mean((pnet_train - tnet_train).^2));
pnet_vali = net(input(:,tr.valInd)); % prediction
tnet_vali = output(:,tr.valInd); % target
rmse_vali(i) = sqrt(mean((pnet_vali - tnet_vali).^2));
pnet_test = net(input(:,tr.testInd)); % prediction
tnet_test = output(:,tr.testInd); % target
rmse_test(i) = sqrt(mean((pnet_test - tnet_test).^2));
end
figure;
plot(1:60,rmse_train,'LineWidth',2)
hold on;
plot(1:60,rmse_vali,'LineWidth',2)
hold on;
plot(1:60,rmse_test,'LineWidth',2)
title('Performance');
legend('Training','Validation','Test');
xlabel('Neurons');
ylabel('RMSE');
axis auto;
grid on;
  2 个评论
the cyclist
the cyclist 2022-11-6
编辑:the cyclist 2022-11-6
What information do you have?
  • Only the image?
  • The figure file for the image?
  • The data that was used to create the image?
Bob
Bob 2022-11-7
Hi!
Thank you for responding.
I have added the code.

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2022-11-7
REad about min. You have saved rmse of train, validatioon and testing. Use the function min and get the index. I would say check it for train and pick this index.
[val,idx] = min(rmse_train) ;
[idx rmse_train(idx) rmse_vali(idx) rmse_test(idx)]

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by