Solved – Neural network with and without cross validation

cross-validationneural networksr-squaredsas

I have been running ANN (Neural network) on my data set, until last week that I figured out I will get more robust model using Cross validation, So That's why I have started using ANN with the aid of cross validation.

For example using a 10-fold cross validation, all the dataset will be divided into 10 sunsets and each time one of the subsets is being used as test set while the rest is being used as training set. so 10 models in being built based on the 10-fold cross validation, and at the end we have all them combined in one model (?). Regarding all these process I was expecting a smaller R-sq (r-sq obtained from predicted values vs. actual values) using "ANN with cross validation" Vs. "ANN without Cross validation". but the strange thing is the Cross validation ANN R-sq are bigger than the simple ANN (without cross validation ANN) ones. I was thinking that maybe sth is going wrong?? I do not understand how, could you please help me with it??

Thanks guys

Best Answer

Cross validation is mainly used for evaluation purposes (for instance no clearly defined train/test split, a desire to calculate statistical significance, etc.) When making a final model, it would make more sense to train on the entire data set and not average the weights - see:

Averaging weights learned during backpropogation

Averaging weights can sometimes be useful though - like in averaged perceptron, but just not in the case of NNs. Note that in training NNs what is often done is to hold out some data and after each epoch test on this held out set. When performance on the set decreases then you are beginning to overfit and should stop training