Chapter COverfitting playgroundPage 7 of 8

Overfitting playground

Trace a worked example

Overfitting playground becomes useful when you can predict its behavior, measure it, and name its limits.

~12 minWorked example

Before you start

Why this matters

For the worked trace, estimate the result before calculating it: generalization gap = training score − validation score = 0.99 − 0.84 = 0.15. Record the assumptions that make the estimate valid.

1Learn the idea

Read

Trace one decision end to end

Scenario: A spam classifier has 99% training accuracy and 84% validation accuracy. Reducing tree depth moves those to 93% and 91%. The second model is preferable because its estimated generalization gap shrinks from 15 to 2 percentage points.

Write the trace as numbered state transitions, not a polished story:

  1. Capture the input, version, identity, and assumptions.
  2. Apply the mechanism: A flexible model has enough parameters or decision boundaries to absorb both signal and accidental noise. During fitting, optimization minimizes training loss, so it is rewarded even for memorizing quirks. A held-out validation set estimates generalization because its labels did not influence those updates. Regularization, simpler hypotheses, early stopping, and more representative data constrain memorization.
  3. Record the relevant controls: model capacity; train/validation/test split; regularization strength; tree depth or polynomial degree; early-stopping patience; feature count; data augmentation; and the decision threshold.
  4. Calculate or inspect the intermediate signal: generalization gap = training score − validation score = 0.99 − 0.84 = 0.15.
  5. Compare the result with a baseline and an acceptance threshold.
  6. Store enough evidence to reproduce the decision without storing unnecessary sensitive content.

Now perturb the trace. Change one input to a long, stale, ambiguous, or unauthorized case. A robust design should either continue within its contract or abstain visibly. Silent degradation is worse than a clear refusal because downstream systems may interpret fluent output as verified output.

Read

Apply it to a concrete case

A spam classifier has 99% training accuracy and 84% validation accuracy. Reducing tree depth moves those to 93% and 91%. The second model is preferable because its estimated generalization gap shrinks from 15 to 2 percentage points.

The worked number is generalization gap = training score − validation score = 0.99 − 0.84 = 0.15. State the unit and denominator whenever you report it. A percentage without a denominator can conceal a tiny sample; a latency without a percentile can conceal slow users; a similarity score without a labeled task can conceal irrelevant neighbors. Compare the observed value with a threshold chosen before seeing the final test result.

Now test the tempting shortcut. Suppose the team optimizes only the most visible metric. The result may look better while the system becomes less trustworthy. The reason is concrete: Too little capacity underfits real structure; too much fits noise. Strong regularization lowers variance but can add bias. More training data usually helps, but only if it represents deployment conditions. Repeatedly tuning on the test set quietly turns that test set into training data. This is why the decision record must include both the intended gain and the tolerated regression. If the tolerated regression is unknown, the change is not ready for a consequential workflow.

Read

Decision rules

  • Prefer a measured baseline over a persuasive demo.
  • Keep versions, inputs, and thresholds reproducible.
  • Separate syntactic success from semantic correctness and authorization.
  • Escalate or abstain when evidence falls outside the contract.
  • Re-evaluate when data, traffic, models, providers, or user goals change.

These rules turn the topic into an engineering decision rather than a slogan. They also make disagreement productive: another person can challenge the assumptions, rerun the evaluation, and reach a documented conclusion.

Read

Perform sensitivity analysis

The trace used one set of assumptions. Change one quantity by a realistic amount while holding the others fixed, then recompute the result. Next change a categorical assumption: model version, tenant, language, traffic shape, data freshness, or permission level. Mark which steps remain valid and which must be repeated. This is a stronger test than narrating the happy path because it reveals hidden coupling. Preserve the original and perturbed traces side by side, including intermediate values, so a reviewer can locate the first point at which their behavior diverges.

Checking tutor…

Continue learning · glossary & guides