2
$\begingroup$

I am new to machine learning and I would like to know whether my trained CNN is overfitting. So I have drawn the curves training and testing losses versus the training epochs.

I have trained my CNN for about $50$ epochs with a learning rate equal to $10^{-3}$ that decreases every $3$ epochs by a factor $0.5$.

I found an answer to this question How to Identify Overfitting in Convolutional Neural network? but I couldn't find an exact similarity measure between the testing and training error/loss to make a decision.

I have attached the figure of these curves below and I would appreciate any comment.

Training and testing losses versus training epochs

$\endgroup$
3
  • $\begingroup$ @Sycorax How could it be a duplicate? I am asking a very specific question about my own simulation. I have already seen that question but couldn't tell if it is overfitting or not given my simulations. $\endgroup$
    – user2987
    Commented Nov 21, 2016 at 16:57
  • $\begingroup$ Teach a man to fish... $\endgroup$
    – Sycorax
    Commented Nov 21, 2016 at 16:57
  • $\begingroup$ @Sycorax When you go through the literature there is no an exact measure to tell how similar should be both errors or losses. And you think that I didn't even try to fish.. $\endgroup$
    – user2987
    Commented Nov 21, 2016 at 17:00

1 Answer 1

3
$\begingroup$

Unfortunately, I don't agree with a point made in the linked answer:

Comparing the performance on training (e.g., accuracy) vs. the performance on testing or validation is the only way (this is the definition of overfitting).

To me, this is not the definition of overfitting. Instead, I take as a definition (or, at least, the way to identify overfitting):

A one parameter family of models, parameterized by some measure of model complexity, is overfit when a small increase in model complexity leads to a decrease in test set performance.

This is more in line with the usual pictures: the optimal model fit is at a minimum of test set error.

In your case, your measure of complexity is training epochs. In your plot, the testing error rate has not yet begun to increase as you add more training epochs, so your model is not overfit.

$\endgroup$
1
  • $\begingroup$ Would it be better to train my network $N$ times then plot the average errors for both testing and training. Would the interpretation remain the same? $\endgroup$
    – user2987
    Commented Dec 10, 2016 at 17:44

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