Почему регуляризация помогает бороться с переобучением
Что проверяют
Понимаете ли вы механику через компромисс смещения и разброса или заучили пару формул. Вопрос быстро показывает, работал человек с моделями или читал про них.
Как отвечать
Переобучение это подгонка под шум обучающей выборки: ошибка на трейне падает, на отложенных данных растёт. Регуляризация добавляет в функцию потерь штраф за сложность, и оптимизатор больше не может свободно наращивать коэффициенты ради последних долей ошибки. По сути мы сужаем эффективное пространство гипотез: сознательно добавляем смещение, чтобы сильнее срезать разброс, и суммарная ошибка на новых данных уменьшается.
Основные варианты:
- L2, он же ridge и weight decay: штраф по квадратам весов, тянет их к нулю, не обнуляя, гасит разброс на коррелированных признаках;
- L1, он же lasso: штраф по модулям, часть коэффициентов зануляет, то есть заодно отбирает признаки;
- elastic net, смесь обоих.
Важно сказать, что регуляризация шире штрафа в функции потерь. Дропаут, ранняя остановка, аугментация данных, ограничение глубины деревьев, ансамблирование решают ту же задачу другими средствами.
Силу штрафа подбирают кросс-валидацией, а не по обучающей ошибке: по трейну оптимальным всегда окажется нулевой штраф.
Где спотыкаются
Забывают отмасштабировать признаки. Штраф зависит от масштаба коэффициента, поэтому признак в рублях и признак в долях получают несопоставимые наказания, и отбор через L1 становится случайным. Свободный член при этом штрафовать не нужно, иначе модель теряет возможность сдвигать прогноз.
Путают направление гиперпараметра. В части библиотек задаётся не сила штрафа, а обратная ей величина, и увеличение параметра регуляризацию ослабляет. Не проверив это по документации, кандидат подбирает значение в противоположную сторону и делает вывод, что регуляризация не помогает.
Считают, что L2 в функции потерь и weight decay всегда одно и то же. Для адаптивных оптимизаторов это не так: добавка к градиенту делится на ту же адаптивную нормировку, поэтому и появился вариант с честным затуханием весов отдельно от градиента.