How can I change the validation vectors in a neural network?

Hi all, I have tested a neural network generated with the nftool and I have its "Advance Script". The 'MSE' that I get is still very high (0.5 approximately) and the network converges very fast (a few seconds only.) The input set is a matrix with around 900 points (3 coordinates each) and the target has the same size. I wonder if I can change and how any of the validation vectors so the neural network continues the optimization to reduce much more the 'MSE'. Thanks,
Hector

 Accepted Answer

1. MSE ~ 0.5 doesn't mean much unless the 3 target variances are known.
2. It will mean even more if they all are equal. Then averaging squared errors is not biased by unequal target scaling.
3. In general, scale your data with ZSCORE or MAPSTD before training. Then you can delete or modify outliers that could invalidate predictions; finally, rescale so that all data has zero-mean/unit-variance.
4. Except for the additional computations, the final answer will be independent of whether you keep or remove the default mapminmax normalization in TRAIN.
5. The solution to your problem is not to bias your results by manipulating the data. The 3 subset data division should be consistent with random sampling from a single data distribution.
6. My solution is to use a for loop to make Ntrials ~ 10 designs for each candidate value of H, the number of hidden nodes.
I have posted scores of examples. Search in the NEWSGROUP and ANSWERS using the search words
greg fitnet Ntrials
7. Good training yields errors with approximately zero means. Therefore, MSE is equivalent to averaging the variances of the errors. Obviously it makes sense to equalize the target variances.
Thank you for formally accepting my answer
Greg

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!