Accuracy

Uncertainty estimation, and why most tools do not show it

Techniques exist to attach an uncertainty to a score, and their absence from most interfaces is a product choice rather than a technical limit.

By 4 min readAccuracy

Guides on Accuracy: There is no true score to be accurate against, Change one thing, hold the rest, repeat, Exposure that suits one skin tone hides another

Yes - methods for attaching a real uncertainty to a score have existed for years, and a rating tool could show "7, plus or minus 1.5" instead of just "7." Almost none do, and that is a product decision rather than a technical ceiling.

Where the uncertainty actually comes from

A model's uncertainty about a specific input has at least two distinct sources, and they behave differently. The first is how unusual the input is relative to what the model was trained on - a photo unlike anything in the training distribution should produce a less trustworthy score than one squarely in familiar territory, because the model has less to go on. Distribution shift is the general name for this, and it is the more important source in practice, since an unusual photo is exactly the case where a confident-looking number is least deserved. The second source is inherent ambiguity in the input itself - a photo that is genuinely borderline between two ratings, where even a perfectly calibrated model with perfect training data would reasonably hesitate. Good uncertainty estimation tries to capture both, though most practical methods are better at the first than the second.

The common techniques, briefly

An ensemble of several independently trained models will naturally disagree more on inputs that are harder to judge, and the spread across the ensemble's outputs is itself a usable uncertainty estimate - no extra machinery needed beyond running the input through more than one model and looking at how much the answers vary. Lakshminarayanan, Pritzel and Blundell (2017) showed that this approach is "simple to implement, readily parallelizable" and able to express higher uncertainty on out-of-distribution examples, which is exactly the unusual-photo case above. Ensembling for stability is usually framed as a way to get a smoother single number, but the disagreement it produces along the way is informative in its own right and is frequently discarded rather than shown. A related technique, dropout sampling, formalised by Gal and Ghahramani (2016), runs a single model multiple times with a small amount of internal randomness switched on, and treats the resulting spread of outputs the same way an ensemble's spread would be treated - a cheaper approximation of the same idea, using one model instead of several. Both techniques produce a range rather than a point, and the width of that range is the uncertainty estimate. They are not equally robust: in a large benchmark under dataset shift, Ovadia and colleagues (2019) found that "traditional post-hoc calibration does indeed fall short," while methods that combine several models gave surprisingly strong results.

What a shown interval would actually tell you

An interface that displayed "7, typical range 6-8" would be telling you two things at once: where the model's best guess sits, and how much to trust the precision implied by that guess. A tight interval on an unusual photo would be a signal something is off with the estimate itself, since unusual inputs should widen the range, not narrow it. A wide interval on an otherwise ordinary photo would tell you the input landed in genuinely ambiguous territory, which is different information from "the model is broken" - it is closer to "reasonable observers might land in different places here too," which is an honest thing for a scoring system to be able to say.

Why interfaces leave it out

The likeliest reason is not technical difficulty but product simplicity - a single number is easier to read, easier to design around, and easier to turn into a shareable result than a number with a range attached. An uncertainty interval also invites a question most tools would rather not prompt: if the model is not sure, why does the interface present the answer as if it were. A related design choice is whether a low-confidence case should be answered at all, and most tools choose to answer rather than abstain, for the same reason they choose not to show a range - a confident single number is a better product experience even when it overstates what the model actually knows.

Reading a bare number with this in mind

In the absence of a shown interval, the practical workaround is the one available to any user regardless of what the interface displays: repeat the scan and read the spread yourself, which recovers a rough version of the uncertainty the interface declined to show. Rate Cock reports each axis separately rather than one blended figure, which functions as a partial substitute for a formal uncertainty range - a wide spread between axes on one submission is a weaker, cruder signal than a real confidence interval, but it is more than a single total gives you. A human panel carries an informal version of the same idea, since disagreement among several reviewers is itself a kind of uncertainty estimate, visible in a way a single AI number by default is not. Tracking a number against your own past results, which penisrater.com treats as the practical unit of comparison, is a reasonable way to work around the absence of a stated interval without needing the tool to publish one. None of this substitutes for an actual measured figure, where uncertainty has a much more literal source - how carefully the tape was held - which is a different kind of number with a different kind of error bar.

Read next

Full archive