Active Learning
Active learning lets a model choose which unlabeled examples to have labeled, spending scarce annotation where it helps most.
Labels are the bottleneck
In many settings, unlabeled data is abundant but labeling it is slow and expensive. Active learning turns the model into an active participant: it inspects the pool of unlabeled examples and requests labels for the ones expected to improve it most, aiming to reach a target accuracy with far fewer labels than random sampling would need.
Query strategies
- Uncertainty sampling: request the examples the model is least sure about, by lowest top probability, smallest margin between top two classes, or highest entropy
- Query-by-committee: train several models and request examples they most disagree on
- Expected model change or error reduction: request examples predicted to shift the model or cut future error the most
- Diversity and density: avoid redundant, unrepresentative points by favoring dense, varied regions
The loop
Active learning runs in rounds: train on the current labeled set, score the unlabeled pool with the query strategy, send a batch to a human labeler, add the new labels, and repeat. Batch selection needs diversity so the batch does not consist of near-duplicate uncertain points; combining uncertainty with a diversity term addresses this.
Pitfalls
Uncertainty sampling can chase outliers and mislabeled points, and it produces a biased, non-i.i.d. labeled set that can distort later evaluation, so a separate randomly labeled test set is essential. Sampling bias can also cause the model to neglect regions it wrongly believes it understands. Despite these cautions, active learning reliably beats random labeling when labels are the binding constraint, and it pairs naturally with the exploration ideas in multi-armed bandits.
When a human is fully in the loop, active learning is a form of human-in-the-loop machine learning, prioritizing annotator time as the resource to optimize.