The Bias-Variance Tradeoff

Prediction error splits into two opposing parts. Too simple a model misses the pattern; too complex a model memorizes the noise. The tension between them shapes every modeling choice.

On this page

When a model makes mistakes on data it has never seen, the error comes from two distinct sources that pull in opposite directions. Understanding this split explains why making a model more powerful sometimes helps and sometimes hurts, and it turns overfitting from a vague warning into a quantity you can reason about.

Two kinds of wrong

Imagine training the same model design many times, each on a different sample drawn from the same source. You get a slightly different fitted model every time. Now look at the errors.

Bias is error from wrong assumptions — the model is too simple to represent the real pattern. A straight line fit to data that genuinely curves will be wrong in the same direction no matter which sample you train it on. High bias means the model systematically misses, and adding more data does not fix it because the model cannot express the shape in the first place. This is underfitting.

Variance is error from sensitivity to the particular sample. A very flexible model bends to fit every wiggle in its training data, so each sample produces a wildly different fitted model. High variance means the model chases noise it should have ignored, performing great on training data and poorly on new data. This is overfitting.

A classic way to picture it: bias is aiming at the wrong spot; variance is a shaky hand. You can be consistently off-target (high bias, low variance), scattered around the target (low bias, high variance), scattered around the wrong spot (both high), or tightly clustered on target (both low — the goal).

Why it is a tradeoff

Total prediction error decomposes, formally, into three parts:

error = bias² + variance + irreducible noise

The irreducible noise is the randomness in the data itself — no model removes it. The other two are yours to control, and here is the tension: the knob that lowers one usually raises the other.

Make the model more complex — more parameters, higher-degree polynomial, a deeper tree — and it can capture finer patterns, so bias drops. But that same flexibility lets it fit the sample’s noise, so variance climbs. Make the model simpler and the reverse happens: variance falls, bias rises. You are trading one error for the other, and the total is minimized somewhere in the middle, not at either extreme.

The U-shaped curve

Plot test error against model complexity and you get a U.

  • Left side (too simple): high bias, low variance. Both training and test error are high, and they are close together. The model cannot fit even the data it trained on.
  • Right side (too complex): low bias, high variance. Training error is near zero, test error is high, and the gap between them is large. The model memorized the training set.
  • Bottom of the U: the sweet spot, where total error is lowest.

The two telltale signs are worth committing to memory. High bias: training and test error both high and similar. High variance: training error low, test error much higher. The gap between training and test performance is your diagnostic — it points directly at which problem you have, and therefore at which fix to reach for.

What moves the needle

Once you have diagnosed the side you are on, the fixes are different:

To reduce variance (fighting overfitting): get more training data — it is the cleanest cure, because more samples make it harder to fit noise. Or simplify the model, add regularization, or stop training earlier. More data barely helps a high-bias model but directly attacks variance.

To reduce bias (fighting underfitting): use a more expressive model, add features, or train longer. More data will not help; the model already cannot fit what it has.

Getting this diagnosis backwards is a common and expensive mistake — collecting more data for a high-bias model, or adding capacity to a high-variance one, both waste effort and make things no better.

Where it shows up in large models

The clean U-curve is the classical picture, and it remains the right mental model for most modeling decisions and for reading a train/test gap. Very large modern networks complicate the right-hand side — they have far more parameters than training examples yet still generalize, a phenomenon that stretches the simple story. Even so, the core insight is durable: every model balances being flexible enough to capture the real signal against being disciplined enough to ignore the noise. That balance is what you tune, whatever the model size, and the train-versus-test gap is how you read it.

What to remember

  • Prediction error splits into bias (too-simple, systematic miss → underfitting) and variance (too-sensitive, chases noise → overfitting), plus irreducible noise.
  • The two trade off: adding complexity lowers bias but raises variance, so total error is minimized in the middle, drawing a U-shaped test-error curve.
  • Diagnosis by the gap: high bias shows train and test error both high and close; high variance shows low train error but a large train-test gap.
  • Fix variance with more data, simpler models, or regularization; fix bias with more capacity or features — using the wrong fix wastes effort.
  • The classical U-curve is the working mental model; very large networks complicate but do not erase the underlying balance.

Next: Statistical Significance