I am currently estimating the certainty of a models estimation by running a neural network model with dropout multiple times and looking at the range of values.

The results confuse me.

I can group the data points. The groups that have most errors are the ones which have the smallest range of values. If my interpretation of "confidence" makes sense, then it means the model is confident about data points where it is wrong.

What are your usual approaches to analyze / fix such problems?

I don't have the option to get more data. I doubt can can clean up the data better.

Another idea is to use LIME (Local interpretable model explanations) to get better insights in why it was wrong.

  • $\begingroup$ Can you be a little more clear about what your process is? What is "the range of values"? You're training a network with dropout multiple times and then what? Checking the accuracy against a test set? Or you have each network predict on the test set and look at the softmax outputs for confidence? $\endgroup$ – Matthew Jul 25 '18 at 14:08
  • $\begingroup$ I'm training a network with dropout once and evaluate it multiple times for the same input $\endgroup$ – Martin Thoma Jul 25 '18 at 14:59
  • $\begingroup$ Don't most libraries have a 'test mode' for the dropout layers, during which all the edges are used and their weights scaled appropriately? You're disabling this and actually dropping edges on test? $\endgroup$ – Matthew Jul 25 '18 at 15:16
  • $\begingroup$ Correct. And I do this on purpose. arxiv.org/abs/1506.02142 $\endgroup$ – Martin Thoma Jul 25 '18 at 15:31

maybe you have a continuous feature but for special value system act in a different way. in that case, I suggest you bin it. especially in the range of that group.

| improve this answer | |

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.