Боремся с переобучением у градиентного бустинга | OTUS

Курсы

Программирование
Highload Architect Node.js Developer React.js Developer Java Developer. Professional Android Developer. Basic Microservice Architecture HTML/CSS Специализация C++ Developer C++ Developer. Professional Android Developer. Professional PostgreSQL для администраторов баз данных и разработчиков Framework Laravel Алгоритмы и структуры данных Специализация PHP Developer C# Developer. Professional C# Developer. Basic Буткемп Frontend Developer Golang Developer. Professional iOS Developer. Basic Специализация Python Developer Архитектура и шаблоны проектирования MS SQL Server Developer Software Architect Rust Developer Базы данных Разработчик на Spring Framework Vue.js разработчик Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Unity Game Developer. Professional PostgreSQL Cloud Solutions VR/AR - разработчик
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Боремся с переобучением у градиентного бустинга

Если вы проходите собеседование на ML-специалиста, у вас могут спросить, какие именно гиперпараметры вы бы настраивали в целях борьбы с переобучением у градиентного бустинга. Что ж, давайте попробуем ответить на этот вопрос.

1_NLI9QFoWDltdXJf3_rwbbw_1-1801-04f207.png

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

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

vvedenie_v_razrabotku_CatBoost_doklad_yandeksa_1-1801-5b1172.jpeg Идем дальше. Как правило, переобучение характеризуется низким смещением при высоком разбросе. А так как простым увеличением количества базовых моделей мы не уменьшим разброс, то надо будет снизить разброс каждой из моделей. В результате всё будет сведено к тому, что модели надо будет делать проще.

Но вообще, когда речь идет о бустинге над деревьями, то рекомендуется уменьшить их глубину (именно поэтому в бустинге чаще всего применяют деревья небольшой глубины). А так как базовые модели становятся проще, то есть целесообразность в увеличении их числа, однако при всем при этом мы не хотим, чтобы они черезчур быстро приблизили таргет на нашей обучающей выборке (что тоже являлось бы переобучением). Следовательно, здесь бывает весьма полезным одновременно уменьшить и темп обучения (learning rate).

0_KplXwyZfdnKFsdLq_1-1801-3680f6.png

По материалам tproger.ru.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться