2
$\begingroup$

I am training an Image Classification Model and my train-test set distribution is 80-20.

  • After Training my train-test loss curve looks like this

Training and Testing Loss

As the model is converged after around 20-30 epochs and is not overfitting.

Can I also try to train the same model by merging my training and testing set hoping it would become more accurate with the increased size of training data ?

  • Is it a good idea to merge the train, test set in this case?
  • What are the disadvantages if I do so?
$\endgroup$
1
5
$\begingroup$

After you have finished with the model building process (in which it is assumed that you have used your test set once and only once for assessing the performance of your final model on unseen data), and before deploying your model, both common sense and standard practice say that you should re-train it on all the available data, including the portion that, until then, had been put aside as test. Leaving out available data is a luxury which normally we cannot afford; and, provided that there are no issues with your model building process, and your test set is qualitatively similar to your training one (an assumption implicitly always present), there is nothing to worry about.

Qualitatively speaking, this approach is similar with what we do with cross validation, where afterwards we routinely re-train the model using all the available data.

The following Cross Validated threads might be useful; although they address the cross-validation issue, the rationale is similar - at the end, use all the data:

$\endgroup$
0
$\begingroup$

As soon as you train with data from a test set it is no longer a testing set. What you are suggesting would lead to you flying blind: it's possible that you will have better results because you're using more data but you simply would have no way of knowing. This is not a recommended strategy.

An alternative would be to change the train/test split to say 90/10 if you want to get more use out of your data - but this is only appropriate if you still have enough rows overall in your testing set.

On another note: if you want better results you could increase the complexity of your model. Maybe add more nodes in your hidden layer, try playing around with your learning rate (maybe it's too large and you're not approaching an acceptable local minimum?). These are the options that you should be looking into instead.

$\endgroup$
2
  • 1
    $\begingroup$ A reference or justification as to why this is not a recommended strategy would be a good idea; in fact, after one has finished with model fitting and before deploying the model, it is both common sense and standard practice to re-train the model including the data left out for testing during model building. $\endgroup$
    – desertnaut
    Oct 18 '20 at 23:19
  • $\begingroup$ My justification is the flying blind issue (as noted in my response). Also the question seems to be in relation to increasing performance rather than a last-step before pushing to a production setting. I stated this is not a good idea as you will have no idea the performance gain (if there is any) in doing this activity. $\endgroup$ Oct 19 '20 at 0:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.