Please forgive my ignorance. I'm new to deep learning and this could prove to be a "stupid" question...

I want to build a neural network that can predict some outcome "x". I have training data that contains 1000's of variables for each case. I have no idea if in the 1000's of variables is/are the real reason(s) for the outcome x.

Is my neural network useless?

If the neural network is able to predict outcome x with some degree of accuracy using test data, does that mean the real reason(s) for outcome x is/are buried somewhere in the 1000's of variables?

  • $\begingroup$ Possible duplicate of Expected best performance possible on a data set $\endgroup$ – Jan Kukacka Aug 6 '18 at 6:28
  • $\begingroup$ Mostly correct, but a small nitpick, it means that some of "the real reason(s) for outcome x is/are buried somewhere in the 1000's of variables". There may still be explanatory variables left out even if you can achieve better-than-random performance. $\endgroup$ – kbrose Sep 25 '18 at 18:41

No you're neural network is not necessarily useless just because you aren't aware of a relationship between your inputs and your outputs.

It's possible there is a relationship between your inputs and your outputs that you are not aware of.

If your NN reliably predicts the correct output given your inputs, then you can probably assume there exists a relationship between the inputs and the output.


Deep Learning has a deep mathematical foundation on statistics. And any pattern it has to associate has to be ideally also known to the human beings. Generally even if you are not sure of the statistical association between the data, then it is hard for DL to discover anything new.



Garbage in garbage out.

But if the pattern is simple enough then it is always possible discover the simple pattern unsupervised. The degree of difficulty will correspond with the amount of data to discover the correlation, generally.

  • $\begingroup$ This does not match my experience with Convolutional Neural Networks. The reason I use CNNs is because I don't want to sit there and design hundreds of filters by hand, and if I did I'd likely still end up with worse results on tasks like image classification. It really depends on what you mean by patterns being "known" to the humans, but at a very technical level I do not "know" the filters beforehand. $\endgroup$ – kbrose Sep 25 '18 at 18:33

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.