Simple models are hard to find (but worth finding)
There’s a quiet assumption in a lot of machine learning practice: if the model isn’t good enough, make it bigger. More neurons, more layers, more parameters. Bigger models are harder to interpret, though, more prone to overfitting and more expensive to run. So I wanted to ask the opposite question: for a simple problem, can a simple model do just as well, and if so, why don’t we find it more often?
This is chapter 3 of my PhD thesis.
The set-up
I wanted a problem where the answer is known, so I used a synthetic one:
- 10,000 points sampled uniformly in a two-dimensional square from −10 to 10, split 50/50 into training and test sets.
- Each point labelled by a predefined decision boundary.
- Single-layer neural networks: one ReLU hidden layer and a sigmoid output, trained with Adam for 500 epochs.
Then I trained many of them, varying two things: the number of hidden neurons and the random seed used to initialise the weights. Each fit was scored on accuracy and F1.
What happened
A simple model can perform similarly to a complex one, but it is harder to find.
With only a few neurons, a network can reach accuracy comparable to a much wider one. But changing the random seed produces large variation in how well the small model fits. One seed gives an excellent, compact model; the next gives one that barely learns the boundary.
Wider networks are much more stable across seeds. That stability is a big part of why “just make it bigger” works in practice: you don’t need to be lucky. The cost is that you’ve swapped a model you could read for one you can’t.
The practical upshot: if interpretability matters, persist with random restarts before you scale up. The parsimonious model is often there. You just have to look for it.
Making it teachable
Seed sensitivity is easy to state and surprisingly hard to feel, so I built a Shiny app (with rhino and shiny.semantic) that walks through the experiment as a narrative tutorial:
- Beeswarm plots of accuracy across seeds for each network size, which show the spread for small models.
- Decision-boundary plots, so you can see what a lucky and an unlucky seed actually learned.
Moving from “small models are unstable” to watching a three-neuron network nail the boundary on one seed and miss it completely on the next makes the trade-off concrete.
Why it matters
The complexity–parsimony trade-off isn’t only academic. In regulated settings such as finance, insurance and health, a model you can explain is often worth more than a few points of accuracy. This work argues that we’re sometimes giving up interpretability we didn’t need to give up, because we stop searching too early. It also links to the rest of my thesis: a model small enough to understand is also one whose explanations (LIME, SHAP, Anchors…) we can check against the truth.