When you find that the mean square error does not change. Plot it versus number of elements, the point you find it becomes constant and do not decrease means you do not get extra value of more training.
A neural network is stopped training when the error, i.e., the difference between the desired output and the expected output is below some threshold value or the number of iterations or epochs is above some threshold value.
When the error betweent the Neural Network output and the correct answer that you are using to train the neural network is less than a value that is OK for you !!!
You need to divide the data into a training data set and a validation data set. You train the nnet on the training data set only. The network calculates the errors on the training data set and the validtion data set. Stop training when the validation error is the minimum. This means that the nnet can generalise to unseen data. If you stop training when the training error is minimum then you will have over fitted and the nnet cannot generalise to unseen data. The validation error is usually bigger than the training error in most cases. This process is called cross validation. There are more complicated methods to do cross validation. Cross validation does not apply just to nnets, but is a way of selecting the best model ( which may be a nnet) that produces the best generalisation to unseen data.
Your network should have a fixed number of input units and a fixed number of output units. As you increase the number of hidden units, plot the training error and testing error. When the training error stops decreasing then you are done with training. Also if the testing error starts increasing then you are done with training. It helps to use a growing approach as you add hidden units.
See this paper.
1. “A Neural Network Growing Algorithm that Ensures Monotonically Non Increasing Error,” Dynamics of Continuous, Discrete and Impulsive Systems (DCDIS), Series A, Mathematical Analysis, Special Issue on Advances in Neural Networks – Theory and Applications, , Vol. 14(S1), pp. 280-284, August 2007. (W. H. Delashmit, M. T. Manry)
I would just like to add a point to Loopinder's reply. Remove duplicated data records from the dataset and make sure that it is properly randomised before you partition into training, validation and testing sets. Don't assume that a published dataset has been cleaned properly, check for yourself.