Data Selection & Active Learning
More data is not automatically better data
The instinct that "more data = better model" is true on average but misleading in practice. Doubling a dataset by adding more of the same easy, redundant examples barely moves accuracy. Doubling it with mislabeled, duplicated, or off-distribution examples can actively hurt the model. What actually improves a model is informative data — examples that teach it something it doesn't already know.
This matters because labeling is almost always the real bottleneck, not compute or model capacity. A radiologist's time, a native speaker's annotation, a user's explicit feedback — these are expensive and finite. The practical question is rarely "how do we get more data" but "which additional examples would most improve the model, given a fixed labeling budget."
Strategic sampling over random sampling
The default approach — randomly sample unlabeled examples and label them — treats every example as equally valuable. It isn't. In most real datasets, the majority of examples are easy and redundant: a model trained on 10% of them would classify them correctly anyway. The informative minority sits near the model's decision boundary, in rare classes, or in edge cases the training distribution underrepresents.
Strategic sampling targets that informative minority deliberately. Instead of asking "what data do we have," it asks "what data would change the model's behavior if we had it." This reframing is the core idea behind active learning, and it generalizes well beyond classification — it applies to choosing which examples to curate for fine-tuning a language model, which conversations to review for RLHF, or which production failures to prioritize for retraining.
The active learning loop
Active learning formalizes strategic sampling into a loop:
1. Train a model on the currently labeled data (even a small seed set).
2. Run the model over a large pool of unlabeled examples.
3. Score each unlabeled example by how useful a label would be — most commonly, how uncertain the model is about it.
4. Send the highest-scoring examples to a human (or oracle) for labeling.
5. Add the newly labeled examples to the training set and retrain.
6. Repeat.
The model, in effect, asks for help exactly where it's confused, rather than a human guessing where the model might be confused. This is the key reframing: the model drives the labeling priorities, not the labeling team.
Note
Common query strategies for active learning
| Strategy | How it scores examples | Good for | Risk |
|---|---|---|---|
| Uncertainty sampling | Low max predicted probability / high entropy | General-purpose, cheap to compute | Can over-sample noisy/mislabeled points |
| Margin sampling | Small gap between top-2 predicted classes | Multi-class problems with many similar classes | Similar noise sensitivity as uncertainty sampling |
| Query-by-committee | Disagreement across an ensemble of models | When you can afford multiple models | More compute per labeling round |
| Expected model change | Estimated gradient magnitude if label were added | Precise prioritization | Expensive; rarely used at scale |
| Diversity / core-set sampling | Coverage of the input space, not just uncertainty | Avoiding redundant near-duplicate queries | Needs a good embedding/distance metric |
Data-centric AI as a philosophy
Active learning is one instance of a broader shift often called data-centric AI: the idea that, for a fixed model architecture, the highest-leverage improvements usually come from improving the training data rather than tweaking the model. This reorients a lot of ML engineering work. Instead of asking "what new architecture or hyperparameters would help," data-centric teams ask "what's wrong with our data — duplicates, label noise, missing edge cases, class imbalance — and how do we fix that systematically."
In practice this looks like: building tooling to find and fix mislabeled examples, deduplicating near-identical samples that inflate apparent dataset size without adding signal, deliberately curating a small, high-quality fine-tuning set instead of a huge noisy one, and treating data pipelines with the same rigor as code — version control, review, and testing for the dataset itself, not just the model.
Note
What's next
Data selection decides what the model learns from; the next question is how reliably you can measure whether a change — more data, a different model, a different hardware setup — actually helped. The lesson on ML Benchmarking Methodology covers why evaluating ML systems rigorously is harder than it looks, and how to avoid fooling yourself with a flattering number.
I build these systems professionally.
Whether it's a RAG pipeline, analytics migration, or AI workflow — let's talk.