В основе узла «LightGBM» лежит реализация алгоритма градиентного бустинга на деревьях поиска решений, который включает в себя две ключевые идеи: GOSS и EFB.
Используется для решения задач классификации и регрессии.
Алгоритм работы градиентного бустинга:
Градиентный бустинг – алгоритм машинного обучения, который строит модель предсказания в виде ансамбля слабых предсказывающих моделей (в основном Дерево решений). На каждой итерации вычисляется отклонение предсказаний уже обученного ансамбля на обучающей выборке. Следующая добавляемая в ансамбль модель будет сводить среднее отклонение предыдущей к минимуму.
Новые деревья добавляются в ансамбль до тех пор, пока ошибка уменьшается, либо пока не выполняется одно из правил «ранней остановки».
Особенности реализации LightGBM:
...
Данный подход подразумевает объединение разреженных (в основном нулевых взаимоисключающих признаков, таких как категориальные переменные, закодированные унитарным кодированием.
Переменные, которые не принимают одновременно ненулевые значения, можно «связать». Уменьшаем количество переменных, объединяя взаимоисключающие в 1 переменную, увеличивается скорость расчета.
Список параметров узла представлен в таблице (Таблица 37).
Якорь |
---|
_Ref99377944 | _Ref99377944 | Таблица 37 — ниже.
Scroll Title |
---|
title-position | top |
---|
title-alignment | right |
---|
title | Параметры узла «LightGBM» |
---|
|
Параметр | Возможные значения и ограничения | Описание | Группа параметров |
---|
Название | Ручной ввод Ограничений на значение нет | Название узла, которое будет отображаться в интерфейсе | Общий параметр | Описание | Ручной ввод Ограничений на значение нет | Описание узла | Общий параметр | Бустер | Раскрывающийся список со следующими значениями: - gbtree (по умолчанию)
- DART
- GOSS
- random forest
| Данный параметр задает тип базового алгоритма для бустинга. Предусмотрены следующие типы: - gbtree – бустинг на основе деревьев
- DART – модификация gbtree (отбрасывает деревья, для предотвращения переобучения)
- GOSS – используются только те экземпляры, которые приводят к большому градиенту ошибки, для обновления модели и удаления остальных экземпляров.
- random forest – Случайный лес
| Общий параметр | Линейные модели в листах | Чекбокс | Выбор данного чекбокса указывает на необходимость обучения линейных моделей в листах каждого дерева | Общий параметр | Количество оценочных функций | Ручной ввод Целочисленное значение больше или равно 0 По умолчанию - 100 | Данный параметр задает число итераций градиентного бустинга | Общий параметр | Скорость обучения | Ручной ввод Число больше 0 и меньше 1 По умолчанию — 0,3 | Данный параметр задает скорость обучения модели и контролирует, с каким весом предсказания каждой следующей модели суммируются с предсказаниями ансамбля. | Общий параметр | Цель обучения для регрессии | Раскрывающийся список со следующими значениями: - Среднеквадратическая ошибка (по умолчанию)
- Средняя абсолютная ошибка
- Функция потерь Хьюбера
- Регрессия Твиди
- Гамма регрессия
- Пуассоновская регрессия
- Квантильная регрессия
- MAPE
| Данный параметр задает используемую при обучении функцию потерь. Предусмотрены следующие: - Среднеквадратическая ошибка
- Средняя абсолютная ошибка
- Функция потерь Хьюбера – функция квадратична для малых значений остатка (разница между наблюдаемым и предсказанным значением), и линейна для больших значений остатка
- Регрессия Твиди – предназначена для прогнозирования целевой переменной, имеющей распределение Твиди (например, общее количество осадков в год или общее время прерывания в год).
- Гамма регрессия – предназначена для прогнозирования целевой переменной, имеющей гамма-распределение (например, количество осадков на одно событие или продолжительность прерывания)
- Пуассоновская регрессия – предназначена для прогнозирования счетчиков (неотрицательных целых чисел) (например, количество дождевых явлений в год или количество событий прерывания производства в год).
- Квантильная регрессия – предназначена для моделирования взаимосвязи между набором предикторов и определенными процентилями (квантилями) целевой переменной
- MAPE - средняя абсолютная ошибка в процентах
| Общий параметр | Цель обучения для классификации | Раскрывающийся список со следующими значениями: - Бинарная логистическая регрессия (по умолчанию)
- Мультиклассовая с softmax
| Данный параметр задает используемую при обучении функцию потерь. Предусмотрены следующие: - Бинарная логистическая регрессия – возвращает прогнозируемую вероятность (не класс)
- Мультиклассовая с softmax – функция softmax для мультиклассовой классификации, возвращает класс с максимальной вероятностью принадлежности
| Общий параметр | Метрика для валидации регрессии | Раскрывающийся список со следующими значениями: Среднеквадратическая ошибка (по умолчанию) Средняя абсолютная ошибка RMSE MAPE Пуассоновская регрессия Функция потерь Хьюбера Квантильная регрессия Гамма регрессия Гамма-отклонение Регрессия Твиди | Данный параметр задает метрику качества на валидационной выборке. Предусмотрены следующие метрики: - Среднеквадратическая ошибка (по умолчанию)
- Средняя абсолютная ошибка
- RMSE
- MAPE
- Пуассоновская регрессия
- Функция потерь Хьюбера
- Квантильная регрессия
- Гамма регрессия
- Гамма-отклонение
- Регрессия Твиди
| Общий параметр | Метрика для валидации классификации | Раскрывающийся список со следующими значениями: - Бинарная логистическая регрессия (по умолчанию)
- Бинарная ошибка
- Мультиклассовая логистическая регрессия
- Мультиклассовая ошибка
- AUC
| Данный параметр задает метрику качества на валидационной выборке. Предусмотрены следующие метрики: - Бинарная логистическая регрессия – логистическая функция ошибки
- Бинарная ошибка – частота ошибок бинарной классификации, рассчитывается как неправильно классифицированные объекты/все объекты. При прогнозировании положительными экземплярами будут считаться наблюдения со значением прогноза больше 0,5, остальные – как отрицательные
- Мультиклассовая логистическая регрессия – мультиклассовая логистическая функция ошибки
- Мультиклассовая ошибка – частота ошибок мультикласссовой классификации, рассчитывается как неправильно классифицированные объекты/все объекты
- AUC – количественная интерпретация кривой ошибок, площадь, ограниченная ROC-кривой и осью доли ложных положительных классификаций
| Общий параметр | Количество итераций до ранней остановки | Ручной ввод По умолчанию - 0 | Данный параметр задает количество итераций до ранней остановки | Общий параметр | Размер (%) валидационной выборки для ранней остановки | Ручной ввод Число больше 0 и меньше 1 По умолчанию – 0,1 | Данный параметр задает размер (%) валидационной выборки для ранней остановки | Общий параметр | Seed | Ручной ввод числового значения По умолчанию – 42 | Начальное числовое значение для генератора случайных чисел | Общий параметр | Количество параллельных потоков | Ручной ввод По умолчанию – -1 | Данный параметр задает количество параллельных потоков, используемых для запуска | Общий параметр | Максимальная глубина дерева | Ручной ввод По умолчанию – -1 | Данный параметр задает максимальную глубину дерева. Значение меньше или равно 0 означает отсутствие ограничений | Построение дерева | Максимальное количество листов | Ручной ввод Целочисленное значение больше 0 По умолчанию - 31 | Данный параметр задает максимальное количество листов в дереве | Построение дерева | Минимальное количество наблюдений для создания бина | Ручной ввод Целочисленное значение больше 0 По умолчанию – 200000 | Данный параметр задает количество наблюдений для создания бина | Построение дерева | Максимальное количество бинов | Ручной ввод Целочисленное значение больше 1 По умолчанию – 255 | Данный параметр задает максимальное количество бинов, в которые будут группироваться значения признаков | Построение дерева | Минимальное количество наблюдений в бине | По умолчанию – 3 | Данный параметр задает минимальное число наблюдений в бине | Построение дерева | Использовать EFB | Чекбокс | Выбор данного чекбокса указывает на необходимость использовать EFB | Построение дерева | Минимальный gain для разбиения | Ручной ввод По умолчанию – 0 | Данный параметр задает минимальное снижение потерь, необходимое для создания дальнейшего раздела на листовом узле дерева | Построение дерева | Минимальный вес для разбиения | По умолчанию – 0,0001 | Данный параметр задает минимальную |
|
...
сумму весов экземпляров (Гессиан), необходимую для дочернего элемента (листа) | Построение дерева | Минимальное количество наблюдений в листе | По умолчанию – 20 | Данный параметр задает минимальное количество наблюдений в листе | Построение дерева | Доля выборки признаков в каждой итерации | По умолчанию – 1 | Данный параметр задает долю переменных, используемых на каждой итерации (при построении каждого дерева). | Построение дерева | Доля выборки признаков в каждом узле дерева | По умолчанию – 1 | Данный параметр задает долю подвыборки признаков, которые будут использованы для каждого разделения (узла). | Построение дерева | Использовать экстремально рандомизированные деревья | Чекбокс | Выбор данного чекбокса указывает на необходимость использования экстремально рандомизированных деревьев.
В экстремально рандомизированных деревьях используется случайное подмножество объектов-кандидатов, но вместо поиска наиболее отличительных пороговых значений пороги выбираются случайным образом для каждого объекта-кандидата, и лучший из этих случайно сгенерированных пороговых значений выбирается в качестве правила разделения. Обычно это позволяет еще немного уменьшить дисперсию модели за счет чуть большего увеличения смещения | Построение дерева | Доля отбрасываемых деревьев | Ручной ввод Число больше или равно 0 и меньше или равно 1 По умолчанию – 0,1 | Данный параметр задает долю отбрасываемых деревьев | Параметры для DART (Бустер = dart) | Максимальное количество отбрасываемых деревьев | По умолчанию – 50 | Данный параметр задает максимальное число отбрасываемых деревьев | Параметры для DART (Бустер = dart) | Вероятность отсутствия отбрасывания | Ручной ввод Число больше или равно 0 и меньше или равно 1 По умолчанию – 0,5 | Данный параметр задает вероятность пропуска процедуры отбрасывания деревьев. Если процедура отбрасывания деревьев пропущена, новые деревья добавляются так же, как и gbtree | Параметры для DART (Бустер = dart) | Использовать XGBoost DART | Чекбокс | Выбор данного чекбокса указывает на необходимость использования XGBoost DART | Параметры для DART (Бустер = dart) | Использовать uniform drop | Чекбокс | Выбор данного чекбокса указывает на то, что отбрасываемые деревья выбираются равномерно. | Параметры для DART (Бустер = dart) | Коэффициент сохранения большого градиента | Ручной ввод Число больше или равно 0 и меньше или равно 1 По умолчанию – 0,2 | Данный параметр задает коэффициент сохранения наблюдений с большим градиентом | Параметры для GOSS (Бустер = GOSS) | Коэффициент сохранения маленького градиента | Ручной ввод Число больше или равно 0 и меньше или равно 1 По умолчанию – 0,1 | Данный параметр задает коэффициент сохранения наблюдений с маленьким градиентом | Параметры для GOSS (Бустер = GOSS) | Соотношение случайной подвыборки в обучающей выборке | Ручной ввод Число больше или равно 0 и меньше или равно 1 По умолчанию – 1 | Данный параметр задает соотношение случайной подвыборки в обучающей выборке.
Для того, чтобы процесс бэггинга был запущен необходимо указать значение меньше 1. | Параметры бэггинга | Частота случайной подвыборки | Ручной ввод целочисленного значения По умолчанию – 0 | Данный параметр задает выполнение бэггинга на каждой k (заданной значением) итерации. Каждая k-я итерация LightGBM будет случайным образом отбирать 'Соотношение случайной подвыборки в обучающей выборке'*100% данных для использования в следующих k итерациях.
Значение параметра равное 0 означает отключение бэггинга | Параметры бэггинга | L1 регуляризатор | По умолчанию – 0 | Регуляризация добавляет ограничения алгоритма относительно аспектов модели, которые не зависят от данных для обучения. Регуляризация обычно используется, чтобы избежать переобучения. Регуляризация L1 применяется для получения максимально разреженной модели | Параметры регуляризации | L2 регуляризатор | По умолчанию – 1 | Регуляризация L2 ограничивает чрезмерный рост какой-либо отдельной координаты весового вектора. Регуляризация L2 полезна в том случае, если целью является создание модели, имеющей в целом малые значения веса | Параметры регуляризации | L2 регуляризатор для линейной регрессии | По умолчанию – 0 | Данный параметр задает линейную регуляризацию дерева | Параметры регуляризации | L2 регуляризатор в категориальном разбиении | Ручной ввод Число больше или равно 0 По умолчанию – 10 | Данный параметр используется для задания регуляризации категориального разделения (сплита) | Параметры регуляризации | Минимальное количество наблюдений в категориальной переменной | Ручной ввод Число больше 0 По умолчанию – 100 | Данный параметр задает минимальное количество наблюдений в категориальной переменной | Параметры для обработки категориальных признаков | Лимит количества разбиений для категориальной переменной | По умолчанию – 32 | Данный параметр задает ограничение на количество разбиений (сплитов) для категориальной переменной | Параметры для обработки категориальных признаков | Псевдосчет в сглаживании Лапласа | Ручной ввод Число больше или равно 0 По умолчанию – 10 | Данный параметр позволяет уменьшить влияние шумов на категориальные переменные, особенно для категорий с небольшим количеством данных. | Параметры для обработки категориальных признаков | Максимальное количество категории для One-Hot Encoding | Ручной ввод Число больше 0 По умолчанию – 4 | Когда количество категорий одной переменной меньше или равно данному значению, будет использоваться алгоритм разделения one-vs-other («один против другого») | Параметры для обработки категориальных признаков |
|
Результаты выполнения узла:
Узел «LightGBM» имеет разные результаты в зависимости от решаемой задачи.
Результаты регрессии представлены следующими объектами:
...