So I'm doing a time series prediction, and assessing the capability of the ANN to predict that time series. I am using Matlab's neural network toolbox functions, and the training parameters are the default except for the preprocessing, which is done by me separately (I'm using log functions, my own normalizing, and testing other options). My procedure is very simple, I use the 'trainlm' function for training, and the 'narnet' for creating the network . So my problem is that when I train and test with the same inputs, and network architecture my results differ substantially in terms of RMSE. I'm not an ANN expert and I don't know what is going on. Is the training not converging? I've tried to change some stopping criteria such as validation checks and minimum gradient but the same happens. Let me know if you need more information, or I'm not clear enough.
1 Answer
I have observed something similar. I had a 4 neuron hidden layer trying to learn the sine function. Learning rate, momentum, number of training points, number of training epochs, initial weights all seem to influence the quality of solution. I would tweak some of those first and plot training error vs epoch. Also some solutions are better than others... I believe its finding some local minima which is on average a very good solution to the prediction problem. I used kfold cross validation to choose the best model, chances are there will be a good model among the k models trained. I am not an expert in this area.