Learning curves на собеседовании Data Scientist
Содержание:
Что такое learning curve
Learning curve (кривая обучения) — это график качества модели в зависимости от размера обучающей выборки. По оси X откладывают число примеров, на которых училась модель, по оси Y — две метрики: качество на трейне и качество на валидации.
X: размер обучающей выборки (1k, 5k, 10k, ..., вся выборка).
Y: качество на трейне (train score) и на валидации (validation score).Модель переобучают на всё бо́льших подвыборках и каждый раз замеряют обе метрики. Получается наглядная картина того, как модель учится по мере поступления данных — и, что важнее, где у неё узкое место. Именно поэтому learning curve — это в первую очередь диагностический инструмент: по форме и взаимному расположению двух кривых видно, страдает модель от недообучения (bias) или переобучения (variance), и поможет ли ей добавление данных.
Сигнатура высокого bias
Score
^
1.0|
|
0.6|---train------val--- (обе низко, вышли на плато)
|
0.0|________________ N примеровОбе кривые низкие и сошлись близко друг к другу, выйдя на плато. Модель одинаково плохо работает и на трейне, и на валидации — она слишком проста, чтобы уловить закономерность в данных. Это классическое недообучение (high bias).
Главный вывод: добавлять данные бесполезно — обе кривые давно на плато, новые примеры их не поднимут. Лечится это увеличением ёмкости модели: более сложная архитектура, больше признаков, более глубокая сеть, ослабление регуляризации.
Сигнатура высокого variance
Score
^
1.0|----train-----------
| большой разрыв
0.7| val ↗ (растёт с ростом данных)
|
0.0|________________ N примеровЗдесь картина обратная: трейн держится высоко, а валидация заметно ниже — между кривыми большой разрыв. Модель отлично запомнила обучающую выборку, но плохо обобщает. Это переобучение (high variance). Важный признак — кривая валидации ещё растёт с добавлением данных и разрыв постепенно сокращается.
Что делать: добавить данных (разрыв закрывается напрямую), усилить регуляризацию, добавить dropout, упростить модель или собрать больше признаков-сигналов. В отличие от случая с high bias, здесь новые данные — рабочий рычаг.
Решение о размере выборки
Отсюда вытекает главная практическая польза learning curve — она отвечает на дорогой вопрос «стоит ли инвестировать в разметку новых данных?».
Если валидация вышла на плато. Новые данные ничего не дадут — кривая уже не растёт. Ресурсы стоит вложить не в разметку, а в саму модель: признаки, архитектуру, качество данных.
Если валидация ещё растёт. Данные помогут — кривая не насытилась. Это прямое обоснование бюджета на сбор и разметку.
Кривая позволяет прикинуть отдачу количественно и спланировать проект:
- Нужно поднять точность на 5 процентных пунктов.
- Кривая показывает: прирост ~1 п.п. на каждые 10k примеров.
- Значит нужно ~50k новых размеченных примеров → под это закладывают бюджет на разметку.
Это превращает разговор о данных из «давайте соберём побольше» в обоснованную оценку с цифрами.
Validation curves
Validation curve — родственный, но другой инструмент. Здесь по оси X не размер выборки, а значение гиперпараметра (например, силы регуляризации), а по оси Y — те же train и validation score.
X: сила регуляризации.
Y: качество на трейне и на валидации.График делится на три зоны:
- Зона недообучения. Обе кривые низко — регуляризация слишком сильная, модель зажата и не учит закономерность.
- Оптимум. Валидация достигает пика — здесь и берут значение гиперпараметра.
- Зона переобучения. Трейн высокий, валидация падает — регуляризация слишком слабая, модель переобучается.
Оптимальный гиперпараметр берут вблизи пика валидации. Так learning curve отвечает на вопрос «хватает ли данных», а validation curve — «как настроить модель».
Как это спрашивают на собесе
«Модель плохо работает — как понять, это bias или variance?» Сильный ответ: построить learning curve. Обе кривые низкие и сошлись — high bias, нужна более сложная модель. Большой разрыв между трейном и валидацией — high variance, помогут данные и регуляризация.
«Стоит ли собирать больше данных?» Смотрим на кривую валидации: вышла на плато — новые данные бесполезны, растёт — помогут. Это единственный честный способ ответить, не гадая.
«Чем learning curve отличается от validation curve?» По оси X: у learning curve — размер выборки (отвечает на вопрос о данных), у validation curve — значение гиперпараметра (отвечает на вопрос о настройке модели).
Частые ошибки
Путать learning curve и validation curve. Это разные графики: первый строится по размеру выборки, второй — по гиперпараметру. Их часто смешивают, хотя они отвечают на разные вопросы.
Предлагать «собрать больше данных» при high bias. Если обе кривые на плато, данные не помогут — модель слишком проста. Универсальный совет «нужно больше данных» здесь неверен и выдаёт непонимание диагностики.
Смотреть только на трейн-метрику. Высокое качество на трейне само по себе ничего не говорит — важен именно разрыв с валидацией. Модель может показывать 0.99 на трейне и быть бесполезной на новых данных.
Строить кривую на одной точке разбиения. Каждую точку кривой стоит усреднять по нескольким фолдам кросс-валидации, иначе она будет шумной, и разрыв train-val легко перепутать со случайной флуктуацией.
Связанные темы
- Bias-variance trade-off для DS
- Cross-validation для DS
- Hyperparameter tuning для DS
- Active learning для DS
- Подготовка к собесу Data Scientist
FAQ
Как по learning curve отличить bias от variance?
По взаимному расположению кривых. Если обе низкие и сошлись близко — это high bias (недообучение), модель слишком проста. Если между трейном и валидацией большой разрыв, а трейн держится высоко — это high variance (переобучение). Форма кривых — самый быстрый способ поставить диагноз.
Когда добавление данных реально поможет?
Только если кривая валидации ещё растёт и не вышла на плато. Тогда новые примеры сокращают разрыв train-val и поднимают качество. Если валидация уже на плато, данные не помогут — узкое место в самой модели, а не в их количестве.
Что делать, если обе кривые низкие и на плато?
Это high bias. Данные не спасут — нужно увеличивать ёмкость модели: усложнять архитектуру, добавлять признаки, ослаблять регуляризацию. Совет «собрать больше данных» здесь не сработает, и на собесе его назовут ошибкой.
Чем validation curve отличается от learning curve?
Осью X. У learning curve по X — размер обучающей выборки, она отвечает на вопрос «хватает ли данных». У validation curve по X — значение гиперпараметра, она помогает выбрать его оптимум по пику валидации. Обе используют train/val метрики по Y, но решают разные задачи.
Это официальная информация?
Нет. Статья основана на классической диагностике ML-моделей (bias-variance, learning/validation curves). Конкретные вопросы и глубина зависят от компании и уровня позиции.
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.