Hypothesis Spaces

Imagine two students preparing to predict tomorrow's weather from today's data. One is allowed to draw any curve, no matter how jagged, through past observations. The other may only draw straight lines. Both students see the same data. But they will learn very different things. This is not because one is smarter. It is because they searched over different sets of possible answers. That set of possible answers is what machine learning calls the hypothesis space. Choosing it wisely is one of the most consequential decisions in the design of any learning system. Every supervised learning algorithm secretly answers the same question. This holds whether it is a linear regressor, a decision tree, or a deep neural network. Among a restricted family of candidate functions, which one best explains the data? The The Formal Learning Problem tells us that a learner receives training examples drawn from some unknown distribution. The learner must output a function. The hypothesis space is precisely the menu of functions the learner is permitted to choose from. Without such a restriction, learning is provably impossible in general. This is because infinitely many functions agree with any finite dataset yet disagree wildly elsewhere. This article makes precise what a hypothesis space is. It explains how its "size" or "richness" can be measured. It also explains why that richness is the central knob controlling what a learner can and cannot do. We will see that a hypothesis space too small cannot represent the true pattern (underfitting). One too large can memorize noise instead of signal (overfitting). This tension sets up the entire subsequent theory of Training Error vs Test Error and The Bias-Variance Tradeoff. The goal here is not any specific algorithm. Instead, it is the conceptual scaffolding — capacity, inductive bias, and the search-versus-representation distinction. Every model class, from linear regression to transformers, must be understood through this scaffolding. The treatment below is deliberately architecture-agnostic. The same lens applies whether your hypotheses are lines, polynomials, decision trees, kernel machines, or neural networks. What changes across these is only the shape and size of the space being searched. It is that shape and size which this article teaches you to reason about.

Key takeaways
  • A hypothesis space H\mathcal{H} is the set of candidate functions a learning algorithm is allowed to choose from.
  • Learning is the process of searching H\mathcal{H} for a hypothesis hh that fits training data and (hopefully) generalizes.
  • Every H\mathcal{H} encodes an inductive bias — assumptions about the world baked in before any data is seen.
  • The richness/capacity of H\mathcal{H} (measured e.g. by VC dimension) trades off representational power against generalization.
  • A hypothesis space that is too small underfits; one that is too large risks overfitting and unstable search.
  • Choosing H\mathcal{H} — not just the optimization algorithm — is a first-class design decision in every ML system.
The core insight

Learning is restricted search: an algorithm can only ever find the best function within the hypothesis space it was given, so the choice of that space fundamentally bounds and biases what the learner can ever discover.

The idea

A hypothesis space, written H\mathcal{H}, is the set of all functions h:X→Yh: \mathcal{X} \to \mathcal{Y} that a learning algorithm considers as candidate explanations of the data, where X\mathcal{X} is the input space and Y\mathcal{Y} is the output space (e.g., {−1,+1}\{-1, +1\} for binary classification or R\mathbb{R} for regression). Concrete examples include: the set of linear functions h(x)=w⊤x+bh(x) = w^\top x + b; the set of decision trees of depth at most dd; the set of degree-kk polynomials; or the set of functions computable by a neural network with a fixed architecture and any weight setting. In every case, H\mathcal{H} is fixed before training begins — training only selects a member of H\mathcal{H}, it does not expand H\mathcal{H} itself. This distinction matters because it separates two different sources of error and difficulty. Representational capacity asks: does H\mathcal{H} contain a function close to the true target function f∗f^* at all? Search / optimization asks: given that such a function exists in H\mathcal{H}, can the learning algorithm actually find it (or something close to it) from finite, noisy data using a tractable procedure? A hypothesis space can be rich enough to contain a near-perfect solution yet still yield poor learning if the search procedure (gradient descent, greedy tree-splitting, etc.) cannot locate it, or if too little data is available to distinguish the good hypothesis from the many bad ones that also fit the training sample. Every choice of H\mathcal{H} encodes an inductive bias: a set of assumptions about what kinds of patterns are plausible, adopted before seeing any data. Restricting to linear functions assumes the relationship between input and output is (approximately) linear; restricting to shallow decision trees assumes a small number of axis-aligned rules suffice; restricting to convolutional networks assumes locality and translation-invariance matter for images. No inductive bias means no learning at all — this is formalized by the No Free Lunch theorem, which states that averaged over all possible target functions, every learning algorithm performs identically (equivalent to random guessing), because for every problem an algorithm solves well there exists another, equally likely a priori, that it solves badly. Learning is possible in practice only because the world is not adversarially uniform over all conceivable functions — real targets tend to be smooth, compositional, or low-complexity — and a well-chosen H\mathcal{H} exploits exactly that regularity.

How it works

Concretely, a learning algorithm operating over hypothesis space H\mathcal{H} follows the same generic template regardless of the specific model family. It is given training data, defines a notion of fit (a loss function), and searches H\mathcal{H} for the hypothesis that minimizes empirical loss — possibly regularized to control complexity within H\mathcal{H} itself. ``` Algorithm: Empirical Risk Minimization over a Hypothesis Space H Input: H - hypothesis space (a set of functions X -> Y) D = {(x_i, y_i)}_{i=1}^n - training data drawn i.i.d. from unknown distribution P L(h(x), y) - loss function measuring prediction error Omega(h) - optional complexity penalty (regularizer) over H 1. Define the empirical risk: R_hat(h) = (1/n) sum_{i=1}^n L(h(x_i), y_i) 2. Search H for a minimizer (possibly regularized): h_star = argmin_{h in H} R_hat(h) + lambda Omega(h) 3. Depending on H's structure, "search" is implemented differently:

  • H = linear functions -> solve normal equations / gradient descent
  • H = decision trees (depth d)-> greedy recursive splitting (heuristic search)
  • H = k-NN rules -> no explicit search; H is defined by the data itself
  • H = neural nets (fixed arch)-> stochastic gradient descent over weights

4. Return h_star as the learned predictor. 5. (Implicit, not computed by the algorithm, but what we CARE about:) True risk R(h) = E_{(x,y)~P}[ L(h(x), y) ] Generalization gap = R(h_star) - R_hat(h_star) ``` The crucial conceptual step is step 1–2: the algorithm never sees the true distribution PP or the true risk R(h)R(h); it only ever minimizes the empirical risk over the fixed set H\mathcal{H}. Everything the algorithm can possibly output lives inside H\mathcal{H} — if the true target function f∗f^* is not in H\mathcal{H} (or close to it), no amount of data or compute will let step 2 find it. This is why specifying H\mathcal{H} is inseparable from specifying the learning problem itself. Different model families are best understood as different parameterizations of a hypothesis space:

  • Linear models: H={x↦w⊤x+b:w∈Rd,b∈R}\mathcal{H} = \{ x \mapsto w^\top x + b : w \in \mathbb{R}^d, b \in \mathbb{R}\}. Parameterized by (d+1)(d+1) real numbers; search is convex optimization.
  • Polynomial regression of degree kk: Hk={x↦∑j=0kwjxj}\mathcal{H}_k = \{ x \mapsto \sum_{j=0}^k w_j x^j \}. Note H0⊂H1⊂H2⊂…\mathcal{H}_0 \subset \mathcal{H}_1 \subset \mathcal{H}_2 \subset \dots, an example of a nested hypothesis space hierarchy.
  • Decision trees of depth ≤d\le d: a combinatorial, non-parametric H\mathcal{H}; search is greedy and heuristic (exact ERM is NP-hard).
  • Neural networks with a fixed architecture: H\mathcal{H} is the image of the weight space Rm\mathbb{R}^m under the network's forward function; enormous but continuously parameterized, searched via gradient-based methods.

The figure below depicts this nesting: as we allow richer function classes, the hypothesis space grows, and the true target function f∗f^* may or may not fall inside it.

Figure
Nested hypothesis spaces of increasing capacity, and where the true function sits
H_neural (wide nets) H_5 (degree-5 poly) H_1 (lines) h* (best line found) f* (true function) approximation gap If f* lies outside H_1, lines can never represent it exactly — no matter how much data or search.

Notice that f∗f^* sits inside H5\mathcal{H}_5 but outside H1\mathcal{H}_1. This is the geometric picture of underfitting: if you commit to the smallest, innermost space (H1\mathcal{H}_1, lines) and the truth requires a richer curve, no algorithm operating over H1\mathcal{H}_1 can ever close that gap — this is an irreducible approximation error, distinct from any error caused by finite sample size or optimization failure.

Complexity & correctness

Approximation error vs. estimation error. The total error of a learned hypothesis decomposes cleanly. Let f∗f^* be the Bayes-optimal predictor, hH∗=arg⁡min⁡h∈HR(h)h^*_{\mathcal H} = \arg\min_{h \in \mathcal H} R(h) the best hypothesis achievable within H\mathcal{H}, and h^\hat h the hypothesis actually returned by the learning algorithm. Then

R(h^)−R(f∗)=[R(hH∗)−R(f∗)]⏟approximation error  +  [R(h^)−R(hH∗)]⏟estimation error.R(\hat h) - R(f^*) = \underbrace{\big[R(h^*_{\mathcal H}) - R(f^*)\big]}_{\text{approximation error}} \;+\; \underbrace{\big[R(\hat h) - R(h^*_{\mathcal H})\big]}_{\text{estimation error}}.

The approximation error depends only on H\mathcal{H} and the true distribution — it measures how well the best possible member of H\mathcal{H} could do, and it shrinks (weakly monotonically) as H\mathcal{H} grows, since a richer space can only contain functions at least as good. The estimation error arises because we only have nn finite samples and must search among many equally-plausible-looking hypotheses in H\mathcal{H}; it tends to grow with the size/complexity of H\mathcal{H}, because there are more ways for a rich space to fit noise in the training sample rather than signal. This is exactly the tension that will be formalized quantitatively in The Bias-Variance Tradeoff: approximation error behaves like (squared) bias, and estimation error behaves like variance.

Measuring the size of H\mathcal{H}. For finite hypothesis spaces, a basic sample-complexity bound from PAC learning theory states that with nn i.i.d. training examples, for any δ∈(0,1)\delta \in (0,1), with probability at least 1−δ1-\delta every h∈Hh \in \mathcal{H} satisfies

R(h)≤R^(h)+ln⁡∣H∣+ln⁡(1/δ)2n.R(h) \le \hat R(h) + \sqrt{\frac{\ln|\mathcal{H}| + \ln(1/\delta)}{2n}}.

This is a uniform convergence bound (derived via a union bound over ∣H∣|\mathcal H| hypotheses combined with Hoeffding's inequality per hypothesis) and it makes the tradeoff numerically explicit: doubling ∣H∣|\mathcal{H}| only adds ln⁡2\ln 2 inside a square root, so the generalization gap grows slowly (logarithmically) with the number of candidate hypotheses, but grows all the same. For infinite hypothesis spaces (e.g., all linear separators in Rd\mathbb{R}^d), ∣H∣=∞|\mathcal{H}| = \infty and this bound is vacuous, so we instead use the VC dimension VC(H)\mathrm{VC}(\mathcal{H}) — the size of the largest set of points H\mathcal{H} can shatter (label in every possible way). The analogous bound becomes

R(h)≤R^(h)+O ⁣(VC(H) ln⁡(n/VC(H))+ln⁡(1/δ)n),R(h) \le \hat R(h) + O\!\left(\sqrt{\frac{\mathrm{VC}(\mathcal{H})\,\ln(n/\mathrm{VC}(\mathcal{H})) + \ln(1/\delta)}{n}}\right),

replacing ln⁡∣H∣\ln|\mathcal H| with an effective combinatorial capacity that stays finite even for infinite function classes. For linear separators in Rd\mathbb{R}^d, VC(H)=d+1\mathrm{VC}(\mathcal{H}) = d+1; for decision trees, VC dimension grows roughly linearly in the number of leaves; for neural networks it typically scales with the number of parameters (though modern over-parameterized networks complicate this picture, which is why norm-based and margin-based capacity measures are used alongside VC dimension in practice).

Search complexity. Separately from statistical estimation error, we must ask how expensive it is to compute arg⁡min⁡h∈HR^(h)\arg\min_{h\in\mathcal H} \hat R(h):

  • Linear regression: closed form via the normal equations, O(nd2+d3)O(nd^2 + d^3) time — exact ERM is efficiently solvable because the objective is convex.
  • Decision trees: exact ERM over all trees of depth dd is NP-hard; practical algorithms use greedy, heuristic recursive splitting, costing roughly O(nd⋅depth)O(n d \cdot \text{depth}) per tree but giving no optimality guarantee.
  • Neural networks: the loss landscape is non-convex; gradient descent finds a local optimum in H\mathcal H in time proportional to (number of parameters) ×\times (number of gradient steps), with no general guarantee of reaching the global ERM solution, though empirically it often generalizes well regardless.

Correctness argument (why restricting H\mathcal H is necessary, not just convenient). The No Free Lunch theorem gives the formal reason a hypothesis space is unavoidable: consider the space of all functions X→Y\mathcal{X}\to\mathcal{Y}. For any learning algorithm AA and any finite training sample, there exist target functions f∗f^* agreeing with AA's training data perfectly but on which AA's output performs at chance level on unseen points — because unconstrained function space contains a function realizing every possible labeling of the unseen points, consistent with the seen ones. Averaging uniformly over all such adversarial targets, every algorithm has identical expected performance. The only way out is to restrict H\mathcal H to functions that respect some structural regularity (smoothness, low-degree, sparsity, compositionality) that we believe the true target shares — this restriction is precisely what makes the uniform-convergence bounds above non-vacuous, and it is the price and the payoff of choosing H\mathcal H correctly.

Worked example

Consider fitting data generated by the true (unknown to the learner) function f∗(x)=sin⁡(2πx)f^*(x) = \sin(2\pi x) on x∈[0,1]x \in [0,1], observed with noise: yi=f∗(xi)+εiy_i = f^*(x_i) + \varepsilon_i, εi∼N(0,0.12)\varepsilon_i \sim \mathcal N(0, 0.1^2), with n=10n = 10 training points. We compare three hypothesis spaces: constant functions (H0\mathcal H_0), lines (H1\mathcal H_1), and degree-9 polynomials (H9\mathcal H_9), fitting each by least squares (ERM under squared loss).

Hypothesis space H\mathcal{H}Free parametersTrain MSETest MSE (held-out 1000 pts)Diagnosis
H0\mathcal H_0: constants h(x)=w0h(x)=w_010.510.50Underfits — cannot represent oscillation; approximation error dominates
H1\mathcal H_1: lines h(x)=w0+w1xh(x)=w_0+w_1x20.480.49Underfits — a line cannot track a sine wave at all
H3\mathcal H_3: degree-3 polynomials40.060.08Good fit — captures the main oscillation shape reasonably
H9\mathcal H_9: degree-9 polynomials10~0.001.20Overfits — interpolates all 10 noisy points, wild oscillation between them

Walking through what happens inside each search: H0\mathcal H_0 and H1\mathcal H_1 have so little capacity that even the best possible member of the space (the true minimizer of R(h)R(h), not just R^(h)\hat R(h)) is far from f∗f^* — this is approximation error, and it would remain even with infinite training data, because a straight line is structurally incapable of oscillating. Moving to H3\mathcal H_3, the space now contains functions close to sin⁡(2πx)\sin(2\pi x) over [0,1][0,1] (a cubic can approximate one hump-and-a-half of a sine reasonably well), so approximation error drops sharply, and with only 4 parameters versus 10 data points there is enough data to pin down the coefficients reliably — estimation error stays low too. At H9\mathcal H_9, something different happens: with exactly as many free parameters (10) as data points (10), the least-squares solution can drive training error to essentially zero by threading the polynomial through every noisy observation exactly. But this uses up its 10 degrees of freedom to fit the noise εi\varepsilon_i as much as the signal f∗(xi)f^*(x_i), since ERM cannot tell noise from signal — it only sees yiy_i. The result is a hypothesis with near-zero empirical risk but catastrophically high true risk: the polynomial swings wildly between the training points (the classical Runge phenomenon), which is exactly the estimation-error blow-up predicted by the capacity bound in the previous section — VC\mathrm{VC}-like capacity of H9\mathcal H_9 is large relative to n=10n=10, so the generalization gap bound is loose and, empirically, realized. The lesson generalizes far beyond polynomials: the same underfit/sweet-spot/overfit pattern reappears when varying tree depth, the number of nearest neighbors kk, or the width of a neural network layer — it is a structural property of hypothesis-space capacity versus sample size, not an accident of this particular example.

Common pitfalls & traps

PitfallWhy it happensConsequence
Confusing "more parameters" with "better model"Assuming richer H\mathcal H always helpsIgnores rising estimation error; can overfit badly
Believing H\mathcal H is fixed by the algorithm's name aloneE.g. "a neural network" without specifying architecture/widthArchitecture choices silently change H\mathcal H and its capacity
Treating training error as a proxy for true riskERM only observes R^(h)\hat R(h), not R(h)R(h)Low train error with unbounded H\mathcal H can mask huge test error
Forgetting regularization changes the effective H\mathcal HPenalties like ∥w∥2\|w\|_2 shrink the practically reachable space, not just add a term to the lossComparing raw parameter counts across regularized models is misleading
Assuming search always finds the ERM minimizerNon-convex H\mathcal H (trees, neural nets) makes exact ERM intractableReported performance reflects the optimizer's reach, not H\mathcal H's true capacity
Ignoring that f∗f^* might not be in H\mathcal H at allPicking H\mathcal H out of convenience, not domain knowledgeIrreducible approximation error no amount of data can fix

Pioneers & history

The formal theory of hypothesis spaces emerged from the fusion of statistics and computational learning theory in the late twentieth century, though the core intuition — that restricting the space of admissible explanations is what makes inference from finite data possible — traces back to earlier work on inductive inference and statistical estimation.

Origins · 1 minLeslie Valiant and how this was discovered
LV
Leslie Valiant
1949–present · Turing Award laureate; founder of computational learning theory

Valiant introduced the Probably Approximately Correct (PAC) learning framework in 1984, formalizing exactly what it means for a hypothesis space to be "learnable" from a polynomial number of samples and with polynomial computation. His framework made precise, for the first time, the tradeoff between hypothesis space size, sample complexity, and computational tractability that underlies this entire article.

VV
Vladimir Vapnik
1936–present · co-creator of VC theory and the Support Vector Machine

Vapnik and Chervonenkis developed VC theory in the 1970s (translated and popularized in the West through the 1990s), providing the combinatorial measure of hypothesis-space capacity — the VC dimension — used throughout modern statistical learning theory to bound generalization error for infinite hypothesis spaces.

History
- 1971 — Vapnik and Chervonenkis publish uniform convergence results, introducing what becomes VC dimension.
- 1984 — Leslie Valiant introduces PAC learning, formalizing sample complexity as a function of hypothesis space size.
- 1989 — Blumer, Ehrenfeucht, Haussler, and Warmuth connect VC dimension directly to PAC-learnability, proving a hypothesis class is learnable iff it has finite VC dimension.
- 1992 — Boser, Guyon, and Vapnik introduce the Support Vector Machine, an algorithm explicitly designed around controlling hypothesis-space capacity via margin.
- 1990s–2010s — Statistical learning theory (Vapnik's "Nature of Statistical Learning Theory", 1995) formalizes structural risk minimization: explicitly selecting among nested hypothesis spaces of increasing capacity.

Where this matters

The concept of a hypothesis space is not an abstraction confined to theory courses — it is a daily engineering decision. When a practitioner chooses "linear regression vs. random forest vs. deep network" for a production system, they are choosing a hypothesis space, with direct consequences for how much data is required, how interpretable the result is, and how the model will behave on inputs unlike anything seen in training. Regularized linear models (Lasso, Ridge) are ubiquitous in finance and healthcare precisely because their small, well-understood hypothesis space gives interpretable, statistically stable estimates from limited data, where a richer model would overfit given the small sample sizes typical of clinical trials. In deep learning, the architecture itself is the specification of the hypothesis space: convolutional networks restrict H\mathcal H to functions respecting spatial locality and translation equivariance, which is why they dominate image tasks with far less data than a fully-connected network of comparable size would need — the inductive bias built into the architecture compensates for limited data by shrinking the effective search space to functions plausible for images. Transformer architectures encode a different inductive bias (permutation-equivariant attention over sets of tokens), suited to language and sequence data. AutoML and neural architecture search systems are, in effect, automated procedures for searching over a meta-hypothesis-space of architectures, each of which defines its own downstream H\mathcal H. Kernel methods (including the Support Vector Machine) make the choice of hypothesis space explicit and mathematically elegant: the kernel function implicitly defines an entire (often infinite-dimensional) hypothesis space of functions in a reproducing kernel Hilbert space, and regularization (the margin) controls effective capacity within that space without ever materializing it directly. Every discussion of underfitting, overfitting, regularization strength, early stopping, or model selection in modern machine learning — from a spreadsheet regression to a foundation model with billions of parameters — is ultimately a discussion about the size, shape, and appropriateness of a hypothesis space for the problem at hand.

Ask the tutor: How does regularization mathematically change the effective hypothesis space, and can we quantify that shrinkage the same way we quantify VC dimension?

Is a hypothesis space the same thing as a "model"?

Not quite — "model" is used loosely in practice, but strictly, the hypothesis space is the set of all functions a chosen model family can represent (e.g., all linear functions with any weights), while "the model" after training refers to one specific member of that set, the one selected by the learning algorithm. Saying "I trained a linear regression model" implicitly fixes H\mathcal H to be all linear functions of the given features, and training then searches within that fixed set for the best-fitting single function. Distinguishing the two is useful because it separates a design decision (which H\mathcal H to use) from an optimization outcome (which h∈Hh \in \mathcal H was found).

Does a bigger hypothesis space always mean lower training error?

Yes, in the sense that if H1⊆H2\mathcal H_1 \subseteq \mathcal H_2, the best achievable empirical risk over H2\mathcal H_2 can only be less than or equal to that over H1\mathcal H_1, since H2\mathcal H_2 contains everything H1\mathcal H_1 does plus more options. This is why training error alone is a poor guide to model quality — it decreases (weakly) monotonically as capacity grows, even as true generalization performance can get worse. This monotonic relationship is exactly why practitioners must evaluate on held-out data, which is the subject explored in Training Error vs Test Error.

How is VC dimension actually computed for a simple hypothesis space, like lines in the plane?

VC dimension is defined as the size of the largest point set that H\mathcal H can "shatter" — meaning H\mathcal H can realize every possible binary labeling of those points. For linear separators (half-planes) in R2\mathbb R^2, three points in general position (not collinear) can be shattered: any of the 23=82^3=8 labelings can be achieved by some line, so VC dimension is at least 3. But no arrangement of 4 points can be shattered by a single line in the plane (a classic case is 4 points where opposite corners share a label — an XOR-like pattern no line can separate), so the VC dimension of 2D linear separators is exactly 3, matching the general formula d+1d+1 for Rd\mathbb R^d.

Why can't we just always use the richest possible hypothesis space and let regularization handle overfitting?

This is essentially what modern deep learning does, and it can work remarkably well, but it is not a free lunch in the informal sense either. Regularization and early stopping only shrink the effective search space that optimization actually reaches, not the nominal representational capacity — tuning that shrinkage correctly still requires validation data and careful design, and richer nominal spaces generally require more computation and data to search reliably. In domains with very limited data (small clinical trials, rare-event fraud detection), a deliberately small, well-motivated H\mathcal H often still outperforms a large one with heavy regularization, because the estimation-error penalty of an oversized nominal space is not always fully neutralized by regularization in finite samples.

How does the choice of hypothesis space relate to inductive bias?

They are two names for closely related ideas: the hypothesis space is the concrete set of functions available, while inductive bias is the assumption that choosing that particular set encodes. Restricting H\mathcal H to linear functions embeds the inductive bias "the relationship is (approximately) linear"; restricting to convolutional networks embeds the bias "local, translation-invariant patterns matter." Every learning algorithm needs some inductive bias to generalize at all (per the No Free Lunch theorem), and specifying H\mathcal H is the mechanism by which a designer injects that bias into the system, ideally based on genuine domain knowledge rather than convenience.

Can the hypothesis space be infinite and still allow learning?

Yes — most useful hypothesis spaces (all linear functions, all differentiable neural networks of a given architecture) are infinite, since their parameters range over continuous real numbers. What matters for learnability is not the raw cardinality but a finite capacity measure, most classically the VC dimension: a hypothesis class is PAC-learnable if and only if it has finite VC dimension, regardless of whether the class itself is finite or infinite in size. This is precisely why the theory moved from counting hypotheses (fine for finite H\mathcal H) to combinatorial capacity measures capable of handling continuously parameterized, infinite hypothesis spaces.

How does this connect to overfitting and underfitting that I'll see later?

The hypothesis space is the structural cause of both phenomena: underfitting occurs when H\mathcal H is too restrictive to contain a good approximation to the true target (high approximation error, largely independent of sample size), while overfitting occurs when H\mathcal H is rich enough that many of its members fit the training sample's noise as well as its signal (high estimation error, which shrinks as sample size grows for fixed H\mathcal H). This exact decomposition — approximation error from H\mathcal H's size, estimation error from finite data within H\mathcal H — is the foundation for the quantitative treatment given in Training Error vs Test Error and formalized further in The Bias-Variance Tradeoff.

Before this

Where this leads