Вопрос или проблема
В данный момент мы пытаемся разобраться, как LGBM создает свои деревья и как после этого делаются предсказания.
На мой нынешний взгляд, это работает следующим образом:
- Последовательно создаются несколько “слабых моделей” путем взятия подмножества данных, построения дерева решений, взятия другого подмножества данных (где ранее неправильно классифицированные точки данных выбираются с большей вероятностью), построения дерева решений и так далее.
- После построения определенного количества деревьев решений ансамбль может быть использован для предсказания. Для этого точка данных проходит через каждое индивидуальное дерево решений, чтобы создать индивидуальное предсказание. После этого проходит голосование большинства (какой класс предсказывается чаще всего?), чтобы определить окончательное предсказание ансамбля. В случае регрессии предсказания как-то агрегируются, например, путем нахождения среднего.
Это правильно?
Для предсказания также существует концепция, что каждая точка данных проходит через деревья последовательно, при этом каждое дерево изменяет предсказание предыдущего. Какое объяснение верное: это или то, что выше?
Или, более наглядно, верно ли A или B?
Большое спасибо за разъяснение!
Ваше объяснение ближе к тому, как работает Random Forest. Он строит много слабых параллельных моделей, а затем конкатенирует их.
Методы градиентного бустинга создают слабые модели последовательно и используют градиентную оптимизацию, чтобы сделать каждое “поколение” лучше, так как они также пытаются предсказать, что предыдущая генерация сделала неправильно. Затем окончательное предсказание формируется из суммы выходов этих моделей, а не последовательно от каждой из них.
Другими словами, изображение B ближе к истине (в некотором смысле), но только для обучающей части. При выполнении предсказания это больше похоже на изображение A.
Я не так хорошо знаком с LGBM конкретно, поэтому оставлю это объяснять кому-то другому.
Ответ или решение
Для того чтобы понять, как LGBM (LightGBM) делает прогнозы, необходимо рассмотреть как процесс создания деревьев решений, так и метод формирования конечного предсказания. Рассмотрим оба этапа более подробно.
Обучение модели: создание деревьев
-
Инициализация: LightGBM начинает с инициализации начальных параметров, таких как максимальная глубина дерева и количество листьев. Система способна обрабатывать большие наборы данных, и для этого LGBM использует метод градиентного бустинга, который позволяет создать последовательное взаимодействие между "слабыми обучателями".
-
Построение деревьев: Каждый "слабый обучатель", представляющий собой дерево решений, строится последовательно. На каждом шаге LGBM анализирует ошибки предыдущего дерева, фокусируясь на тех данных, которые были неправильно классифицированы. Такой подход известен как "обучение на ошибках", что помогает улучшать качество модели на каждом этапе.
-
Использование градиентного спуска: LGBM использует градиентный спуск для оптимизации дерева. Это означает, что каждое новое дерево строится для минимизации потерь, основанных на предсказаниях предыдущего ансамбля. Таким образом, каждое последующее дерево направлено на коррекцию ошибок, предыдущих.
Прогнозирование: как модель делает предсказания
-
Параллельная обработка деревьев: Для прогнозирования модель запускает входные данные через все созданные деревья. Однако в отличие от "Случайного леса", где деревья работают независимо и синхронно, в методах градиентного бустинга, таких как LGBM, каждое дерево вносит свой вклад в общее предсказание.
-
Комбинирование предсказаний: Для получения итогового предсказания LGBM суммирует выходные значения каждого дерева. При этом, в случае классификации, используется логистическая функция или софтмакс для определения вероятности принадлежности к классам. Для задачи регрессии, результаты дерева усредняются. Таким образом, каждой модели дается вес в зависимости от её способности исправить ошибки предыдущих предсказаний.
-
Итоговое решение: В случае классификации, LGBM учитывает вероятности, полученные от всех деревьев, и определяет класс с наивысшей вероятностью. В случае регрессии итоговое значение является средним арифметическим прогнозов всех деревьев.
Визуализация процесса
Для ясности представим, что шаги, описанные выше, соответствуют изображению A с теми изменениями, что каждое дерево действительно "влияет" на итоговое решение за счет повторного обучения и исправления ошибок. Модель не меняет предсказание последовательно в ходе обработки, а на каждой итерации добавляет вклад следующего дерева к итоговому прогнозу, что действительно ближе к пониманию, представленному на изображении B.
Заключение
Таким образом, LightGBM использует метод градиентного бустинга для построения модели, состоящей из последовательного создания деревьев, где каждое следующее дерево исправляет ошибки предыдущего. Для прогнозирования итоговое значение формируется путем суммирования выходов всех деревьев. Прогнозы не осуществляются последовательно между деревьями, а формируются через суммирование выходных значений всех деревьев сразу, что делает LGBM мощным инструментом для задач как классификации, так и регрессии.