Переобучение происходит, когда модель изучает детали и шум в обучающих данных до такой степени, что это негативно влияет на производительность модели на новых данных.

Переобучение — очень распространенная проблема, особенно при работе с любыми моделями прогнозирования на основе дерева. К счастью, существуют различные методы, которые помогают нам не попасть в эту ловушку.

  1. Удержание

Мы оставляем от 20% до 40% данных для тестирования, а не используем все наши данные для обучения. Мы можем просто разделить наш набор данных на два набора: обучение и тестирование. Мы обучаем нашу модель до тех пор, пока она не будет хорошо работать не только на тренировочном, но и на тестовом наборе.

2. Перекрестная проверка

Мы можем разделить наш набор данных на k групп (к-кратная перекрестная проверка). Мы позволяем одной из групп быть проверочным набором, а другие — обучающим набором и повторяем этот процесс до тех пор, пока каждая отдельная группа не будет использована в качестве проверочного набора.

В отличие от удержания, перекрестная проверка позволяет в конечном итоге использовать все данные для обучения, но также более затратна в вычислительном отношении, чем удержание, поскольку мы строим k-модели вместо 1.

3. Выбор функции

Если у нас есть только ограниченное количество обучающих выборок, каждая из которых имеет большое количество признаков, мы должны выбрать для обучения только самые важные признаки. Мы можем просто протестировать различные методы выбора признаков, а затем обучить нашу модель, используя эти наборы один за другим.

4. Регуляризация L1/L2

Используя регуляризацию, мы можем добавить штрафной член к функции стоимости, чтобы подтолкнуть оценочные коэффициенты к нулю. Регуляризация L2 позволяет весам уменьшаться до нуля, но не до нуля, в то время как регуляризация L1 позволяет весам уменьшаться до нуля.

5. Расширение данных и избыточная выборка

Большой набор обучающих данных уменьшит переоснащение. Если мы не можем собрать больше данных и ограничены данными, которые у нас есть в нашем текущем наборе данных, мы можем применить увеличение данных, чтобы искусственно увеличить размер нашего набора данных. Для задачи классификации изображений мы можем выполнять различные преобразования изображения в наш набор данных изображения (например, изменение масштаба, сдвиг координат, вращение, отражение), тогда как для числовых и категориальных наборов данных мы можем использовать различные методы передискретизации (например, SMOTE).

Существуют различные другие методы предотвращения переобучения, которые являются несколько продвинутыми (например, уменьшение количества скрытых слоев, отсева, ранняя остановка).

Спасибо, что прочитали. Если вы считаете эту статью полезной, похлопайте и поделитесь ею с другими. Вы также можете подписаться на меня в Linkedin, чтобы не пропустить мою следующую статью.

Спасибо