Everything in the parent note is machinery built around that single idea. Below we unpack every symbol and word it uses, from absolute zero, in the order they build on each other. If the parent note wrote a symbol without explaining it, we explain it here.
Before any splitting, we need to agree on what we are splitting.
Picture a spreadsheet. Each row is one example (one customer, one photo, one house). Each column is one measured number about that example (age, price, pixel brightness).
Why do we need these letters? Because the entire topic is about cutting rows of D into groups. To talk about cutting, we first need a name for the thing being cut (D), the inputs (X), the answers (y), and the total count (N).
The parent note says the training set fits parameters and the validation set tunes hyperparameters. These two words look alike but mean opposite things, so we pin them down.
Why the topic needs this split of words: the training set turns the front knobs, and the validation set helps you pick the back switches. Different jobs → different data. That is the whole reason a second hidden set exists.
The parent writes Punseen: performance on unseen data.
So the entire splitting ritual is an attempt to estimate a number we cannot see (Punseen) using data we can see, by pretending some of our own data is "the future."
Generalization = doing well on new data, i.e. a high Punseen.
The parent says the three subsets are mutually exclusive. Two symbols make this exact.
Why the topic needs this: if the same row sat in both the training bucket and the test bucket, the "exam" would contain a question the model already practised. Mutual exclusivity is the guarantee that the exam is honest.
In symbols the parent implies:
D=Train∪Val∪Test,Train∩Val=∅,…
∪ (union) means "pour all buckets together" — you get back the whole pile.
∩ (intersection) means "rows shared by two buckets."
∅ (empty set) means "no rows at all."
So Train∩Val=∅ reads: train and validation share nothing.
The parent writes splits like 70:15:15. This is a ratio — a recipe for slicing.
So for the counts:
ntrain=0.70×N,nval=0.15×N,ntest=0.15×N.
Here ntrain just means "the number of rows in the training bucket," and ntrain+nval+ntest=N.
The parent's stratification math uses pc and those funny brackets ⌊⌋.
Why floor appears: you cannot put 6.9 images in a bucket — rows are whole things. So nctrain=⌊pc×ntrain⌋ says: "take this class's share of the training bucket, then round down to a whole count."
Why the topic needs pc at all: stratification means "keep each class's proportion the same in every bucket." Without a name for that proportion, we couldn't state the rule. (Contrast with the danger in 6.3.2-Data-leakage when proportions or statistics cross bucket boundaries.)
Each box is one symbol group above. Follow the arrows and you have rebuilt the whole parent note from zero. Next steps that use this foundation: 2.1.13-Cross-validation (reuse hidden data cleverly) and 4.1.5-Early-stopping (use the validation bucket during training).