Как получить независимые модели при бэггинге? | OTUS

Курсы

Программирование
Highload Architect Node.js Developer React.js Developer Java Developer. Professional Android Developer. Basic Microservice Architecture Специализация Java-разработчик C++ Developer. Basic Специализация Fullstack developer JavaScript Developer. Professional Unity Game Developer. Basic 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

Как получить независимые модели при бэггинге?

Как известно, алгоритм машинного обучения "Случайный лес" (Random forest) основывается на принципе бэггинга, то есть на усреднении предсказания нескольких независимых моделей. Но что, если у нас только одна обучающая выборка? Каким образом в данном случае мы получим независимые модели? И почему на практике это не приводит к проблемам?

mashinnoe_obuchenie_dlya_lyudej_razbiraemsya_prostymi_slovami_5c129b5875a7a_1-1801-35bd5d.jpg

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

Всё так, но давайте теперь вернемся к вопросам, которые заданы в начале статьи. Дело в том, что на практике оказывается, что, по сути, строгое выполнение предположения о независимости обязательным не является. То есть вполне достаточно, чтобы алгоритмы являлись лишь в некоторой степени непохожими друг на друга. При этом достаточная непохожесть будет обеспечена тем, что в процессе обучения каждого дерева мы:

  • возьмем случайное подмножество обучающей выборки;
  • возьмем случайное подмножество признаков.

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

machine_learning_bsgging_random_forest_in_retail_1024x614_1-1801-f49431.png

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

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

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

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

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