Как в терминах bias и variance описать недообучение и переобучение?
Что проверяют
Умеете ли вы связать разложение ошибки с тем, что видно на графиках обучения, и выбрать лечение по диагнозу. Следом просят нарисовать кривые обучения или сказать, что снижает bias, а что variance, в бэггинге и бустинге.
Как отвечать
Для квадратичной функции потерь ожидаемая ошибка на новой точке раскладывается так: E[(y - f(x))^2] = Bias^2 + Variance + sigma^2.
- bias: систематическая ошибка, насколько усреднённое по разным обучающим выборкам предсказание отличается от истины. Растёт, когда модель слишком проста для зависимости;
- variance: насколько предсказание меняется от выборки к выборке. Растёт, когда модель подстраивается под шум;
- шум: неустранимая часть ошибки, её не уберёт никакая модель.
Недообучение это высокий bias и низкая variance: ошибка высокая и на train, и на валидации, и значения близки. Примеры: линейная регрессия на квадратичной зависимости, kNN с очень большим k.
Переобучение это низкий bias и высокая variance: на train ошибка маленькая, на валидации заметно больше, и разрыв растёт с усложнением модели. Примеры: дерево без ограничения глубины, kNN с k=1.
Лечение по диагнозу:
- против bias: сложнее модель, новые признаки, слабее регуляризация, дольше обучение, бустинг, который последовательно уменьшает смещение;
- против variance: больше данных, L1 и L2, dropout, early stopping, ограничение глубины деревьев, бэггинг и случайный лес, которые усредняют разброс.
Диагностика: кривые обучения (ошибка от размера выборки) и валидационные кривые (ошибка от гиперпараметра сложности) на кросс-валидации, в sklearn это learning_curve и validation_curve.
Где спотыкаются
Путают стороны: говорят, что у переобученной модели высокий bias, раз она «плохо работает».
Лечат недообучение добавлением данных. Если модель не выучила даже train, новые примеры для той же простой модели ничего не изменят.
Выдают U-образную кривую за закон для всех моделей. У сильно перепараметризованных сетей наблюдается double descent: после порога интерполяции рост числа параметров снова снижает ошибку на тесте.