I'm running a MLP to classify a set of values into 10 different classes.
Simplified down, I have a sonar which gives me 400 "readings" of an object. Each reading is a list of 1000 float values.
I have scanned 100 total objects and want to classify them and evaluate the model based on a leave-one-out cross validation.
For each object, I split the data into a training set of 99 objects and a test set of the remaining object. I feed the training set (99 objects, 99*400 "readings") into the MLP and use the test set (1 objects, 1*400 "readings) to validate.
My question is: How do I know which training epoch to use as the final "best" model? I googled around and some people said to use the epoch which had the best validation accuracy, but this seems like cheating to me. Shouldn't I instead pick a model based only on the statistics of the training data? (My thought process is that a random weight reshuffling in training could create an artificially high validation accuracy that doesn't actually provide a useful model for new objects that could be scanned in the future)
SO Answer that says to use the training epoch which gives the best validation accuracy:
whats is the difference between train, validation and test set, in neural networks?
Best, Deckwasher