Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Чем случайный лес отличается от градиентного бустинга?

ОбразованиеПрограммирование+3
  · 8,0 K
Увлекаюсь физикой, астрономией и финансами.  · 11 июл 2022  · forecast.nanoquant.ru
Случайный Лес, это ансамбль равноправных Решающих Деревьев. Обучение всех этих деревьев идет независимо друг от друга, то есть параллельно друг другу. Деревья не передают друг другу никакой информации. При голосовании во время прогнозирования (или классифицирования) все деревья имеет одинаковый вес, то есть голосование идет равноправно. Случайный Лес, это один из видов Бэггинга.
При Градиентном Бустинге создается тоже ансамбль. Но не обязательно ансамбль Решающих Деревьев. В качестве оценщиков могут использоваться, например, Линейные Регрессоры или другие простые методы машинного обучения.
Обучение в Градиентном Бустинге идет последовательно. Каждый следующий оценщик получает от предыдущего оценщика информацию, на каких образцах датасета этот предыдущий оценщик ошибся сильнее всего. Этим образцам придается более высокий вес в обучении текущего оценщика.
Голосование оценщиков в Градиентном Бустинге происходит неравноправно. Одни оценщики имеют более высокий вес, чем другие. Как правило, голос самого первого обученного оценщика имеет самый минимальный вес, а последний оценщик имеет самый большой вес при голосовании.
Случайный Лес имеет преимущество перед Решающим Деревом в том, что Случайные Леса практически не подвержены переобучению. В то время, как Решающие Деревья могут очень сильно переобучаться.
Недостатком Случайного Леса является то, что это довольно затратный метод и по времени обучения и по занимаемой компьютерной памяти. Особенно это заметно при проведении сплит-тестов с разнообразными случайными разбиениями датасета не обучающее и тестовое множества.
В основном, это связано с тем, что чем больше деревьев в Случайном Лесу, тем лучше. Но при большом количестве деревьев сильно сказывается неэффективность всего процесса обучения из-за независимости обучающихся деревьев. Каждое Решающее Дерево само по себе и не набирается "опыта" от других деревьев.
Фактически Случайный Лес, это когда мы решаем задачу очень расточительно и выходим на результат за счет численности. Это как на войне выигрывает тот, у которого больше армия, но эта армия требует больших финансовых затрат.
Градиентный Бустинг лишен этих недостатков. В моей практике были случаи, когда 100 обученных деревьев Градиентного Бустинга показывали такую же эффективность, как 5000 деревьев Случайного Леса на регрессионных задачах.
Но у Градиентного Бустинга есть свои недостатки. Дело в том, что Градиентный Бустинг, это машинное обучение с очень большим набором настраиваемых параметров. В Случайном Лесе у вас, как правило, надо настроить 2-4 основных параметров, а в таком виде очень эффективного Градиентного Бустинга, как XGB, порой требуется настройка 10-15 параметров для регрессионных задач. И на определение этих оптимальных параметров уходит времени не меньше, чем времени на работу со Случайном Лесом.
Поэтому я рекомендую такую стратегию для регрессионных задач. (Опыт с задачами классификации у меня не слишком большой, но скорее всего, это работает и для классификации.)
Сначала решаем задачу Случайным Лесом. Увеличиваем число Решающих Деревьев до тех пор, пока это позволяет ваше рабочее время и возможности вашего компьютера. Если вас устраивает результат, то на этом останавливаемся. Если результат не устраивает и хочется чего-то более точного или быстрого, то переходим к Градиентному Бустингу, лучше сразу к XGB или к LGBM. И начинаем долго и упорно оптимизировать их параметры, причем, не на многомерной сетке, а оптимизацией с помощью генетического алгоритма или чем-то подобным, что хорошо ищет экстремумы в многомерных пространствах.
Эксперт по оптимизации инвестиционного портфеля и прогнозированию биржевых цен.Перейти на forecast.nanoquant.ru
2 эксперта согласны
Старший разработчик компании Google. Основная специальность - машинное обучение, глубокое...  · 16 сент 2021
Случайный лес -- усредненный ответ множества решающих деревьев (простых алгоритмов), обученных на подмножествах обучающей выборки. Бустинг -- последовательное применение простых алгоритмов для уточнения результатов. Ключевая разница заключается в процедуре обучения. Если деревья в лесу можно учить независимо, то есть параллельно, то последующий простой алгоритм в... Читать далее
1 эксперт согласен
Deep Learning  · 2 окт 2021
В случайном лесу усредняются результаты деревьев решений.
В градиентном бустинге же каждое последующее дерево оптимизируется и уменьшает ошибку предыдущего.
Инженер путей сообщения – строитель  · 16 сент 2021
Когда случайно попадаешь в лес требуется больше (меньше) бустинга, нежели если в лесу оказался целенаправленно? Наверное, всё на самом деле совсем не так.
1 эксперт не согласен
Вы генератор текста включили?..