12
$\begingroup$

DNN can be used to recognize pictures. Great. For that usage, it's better if they are somewhat flexible so as to recognize as cats even cats that are not on the pictures on which they trained (i.e. avoid overfitting). Agreed.

But when one uses NN as a replacement for numerical tables in an Air Collision Avoidance System (ACAS), it is primarily to reduce the "required storage space by a factor of 1000". For this usage, what we want from the NN is to say "take a slight left turn" or "turn right hard" if another ship comes slightly close on the right or rapidly close on the left, respectively.

For this usage, where the answer is much simpler than recognizing a cat, isn't overfitting a good thing? What would overfitting "look like" in this case and why would it be bad ?

This question somewhat relates to this one, where a general idea seems to be "Machine Learning is used for intractable things, you don't need ML for tractable things". And while it is quite correct that ACAS can be implemented without NN, I wouldn't call NN "useless" for ACAS, because a factor 1000 reduction in required space will always come in handy.

$\endgroup$

4 Answers 4

7
$\begingroup$

Typically the ramification of overfitting is poor performance on unseen data. If you're confident that overfitting on your dataset will not cause problems for situations not described by the dataset, or the dataset contains every possible scenario then overfitting may be good for the performance of the NN.

$\endgroup$
5
$\begingroup$

Is overfitting always a bad thing?

The answer is a resounding yes, every time. The reason being that overfitting is the name we use to refer to a situation where your model did very well on the training data but when you showed it the dataset that really matter(i.e the test data or put it into production), it performed very bad. This can never be good, because we write models so that they can predict with high accuracy on the datasets it has not seen before. No one cares about a model that got 100% accuracy on the training set and gets 0% on the test set. This is a useless model. We train models so that they can predict with high accuracy on data it has never seen before.

Now for the long answer:

I will start by giving a quick explanation of what overfitting is. Then how we can detect overfitting, this will help me explain why overfitting is allways a bad.

What is overfitting:

In machine learning problem there is signal then there is noise. Signal is the true underlying pattern that you wish to learn from the data whist noise is the irrelevant information or randomness in a dataset.

The reason that leads to overfitting is that your model is making use of "Noise" to make decisions instead of using the signal. Overfitting means that your model performs very well on the training data and performs very poorly on unseen dataset(s) (notice that we pretty much don't care how well a model performs on the training data, we care about how it will perform on data it hasn't seen before). A model that has overfitted is similar to a student who got 100% on the quiz he/she did in preparation for the exam and will get a very poor mark on the exam because he/she because he chose to cram/memorize the quiz's answers and questions instead of understanding how to get to those answers. Another way of thinking about this is that your model has memorized/crammed instead of learning the learning the general relationship contained in the training dataset.

How do we detect Overfitting:

The only way to know if your model is overfitting is to test its performance on a dataset it has never seen before. As such, overfitting is something you know with the benefit of hindsight following testing a model on data it has never seen before.

For this usage, where the answer is much simpler than recognizing a cat, isn't overfitting a good thing?

No, because if your model is overfitting it will perform bad on the test set(in your case, it will perform very bad when you deploy it in a real world ACAS and start showing it data it hasnt seen before). see How do we detect Overfitting above.

If it turns out that your model performs very well when you show it data it hasn't seen before, then that means it didn't overfit (see What is overfitting above).

What would overfitting "look like" in this case and why would it be bad ? Your model will get very high accuracy on the training set and get very poor accuracy when you start showing it examples it hasn't seen before. So in short, you will get your hopes high, jump up and down in excitement thinking that your model is great only for it no get very poor results in a production ACAS system.

$\endgroup$
2
  • 2
    $\begingroup$ Let's say a model has 100% accuracy on training data, and 80% accuracy on data it has never seen before; let's say that 80% is a good result for this type of problem. Would you say the model is overfitted? $\endgroup$
    – Akavall
    Commented Nov 14, 2019 at 6:28
  • 1
    $\begingroup$ Bump on Akavall's comment. I'd say by definition, the model is overfitted. However, if 80% is a good result for that problem, I don't see why that would be a bad model. Perhaps calculate additional metrics to see a more in-depth view of the model. $\endgroup$ Commented Jul 18, 2020 at 2:17
3
$\begingroup$

Overfitting is almost always bad and hurts generalization. You say

what we want from the NN is to say "take a slight left turn" or "turn right hard" if another ship comes slightly close on the right or rapidly close on the left, respectively.

But what would you say if the NN learns to "take a slight left turn" only if the coming ship is small (because accidentally that's what the training set includes)? Or it learns to "turn right hard" only on a certain altitude and gives arbitrary answer when the altitude is different?

In practice, overfitting means learning the noise, i.e. the patterns that are not there. I can hardly imagine a good example, when it's what you really need.

To answer you question: it's quite possible that for ACAS task a much smaller and simpler model would work fine, not necessarily deep and even not necessarily neural network. But it must be reasonable and learning the white noise is not what you call reasonable.

$\endgroup$
1
$\begingroup$

No. When a system where input and output is well known ie. the state space is fully known and defined using say physics (PDEs) then overfitting is desirable as there is no need to generalize. An ML model has low inference time compared to solving the PDEs or lookup table is of multiple terabytes.

$\endgroup$
6
  • $\begingroup$ With such complete training data, is the result "overfitting" or just "fitting" though? I would say with such training data it is very hard to overfit, but overfitting could still be bad. You could get still get non-generalising behaviour with poor quality results between points at any density of training data, at least theoretically. $\endgroup$ Commented Sep 16, 2021 at 5:55
  • $\begingroup$ Nope. There is no need to generalize here. You have the complete state space. $\endgroup$
    – kosmos
    Commented Sep 16, 2021 at 7:01
  • $\begingroup$ If you have the complete state space, then arguably you are not overfitting. You are fitting to the data. So it is just semantics to say "overfitting is desirable". It is like defining a speed limit to be infinite by law and saying "speeding is desirable". IMO meaningless word play $\endgroup$ Commented Sep 16, 2021 at 9:35
  • 1
    $\begingroup$ OK, so if it is overfitting, how does it manifest, exactly? Typically you will see validation error rise whilst training error falls. But that cannot happen when your training data is the entire function domain. How do you know your training has overfit, in order to say that you have "useful overfitting"? $\endgroup$ Commented Sep 16, 2021 at 13:21
  • 1
    $\begingroup$ I am not saying that having a lot of data, therefore not needing to regularise, is a bad thing, or that such scenarios don't happen. I am questioning the purpose of calling that "overfitting". Instead it appears to be training with enough data that overfitting is no longer a concern. It's not that overfitting is happening and somehow good now. It's that overfitting is not happening. $\endgroup$ Commented Sep 16, 2021 at 13:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .