i use the function patternnet creat a Neural Networks ,but when i train the net ,validtion stop before reach the minmum gradient ,that will low the performance of the net ,do someone know how to solve this question?

 採用された回答

Greg Heath
Greg Heath 2015 年 4 月 23 日

1 投票

There is a good reason for validation stopping! It tells you that even though the training set error is decreasing, the nontraining validation set error (and possibly, the nontraining test set error) is increasing!
Since you design a network to use on unseen data, it doesn't make sense to continue training.
There are several options:
1. Increase the MSEgoal. I usually don't find it necessary to have mse(error) < 0.01*mean(target variance). Because at that point, the net is already modeling 99% of the target variance averaged over all outputs.
2. Increase the MinGrad goal. I usually don't find it necessary to have the gradient less than MSEgoal/100.
3. Increase MaxFail above 6. I NEVER do this. I don't want a net that can't perform well on nontraining data.
4. Use trainbr which uses Bayesian Regularization (See Wikipedia and trainbr documentation)instead of validation stopping. HOWEVER, I have read recent journal articles that show the best performance on complicated real-world nets occurs when both are used simultaneously.
5.Change the initial state of the RNG to get different initial weights and data division. I tend to use this frequently. It is not unusual for me to try ~10 values for hidden nodes AND, for each value, design 10 nets from different random initial weights and data divisions.
I have a zillion posts in the NEWSGROUP and ANSWERS illustrating this double for loop approach. Good search words are
greg Hmax Ntrials
Hope this helps.
Greg

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDeep Learning Toolbox についてさらに検索

質問済み:

2015 年 4 月 20 日

回答済み:

2015 年 4 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by