Janith Wanniarachchi
← Blog

Simple models are hard to find (but worth finding)

· 2 min read

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:

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:

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.