Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Текущий »

В основе узла «LightGBM» лежит реализация алгоритма градиентного бустинга на деревьях поиска решений, который включает в себя две ключевые идеи: GOSS и EFB.

Используется для решения задач классификации и регрессии.

Алгоритм работы градиентного бустинга:

Градиентный бустинг – алгоритм машинного обучения, который строит модель предсказания в виде ансамбля слабых предсказывающих моделей (в основном Дерево решений). На каждой итерации вычисляется отклонение предсказаний уже обученного ансамбля на обучающей выборке. Следующая добавляемая в ансамбль модель будет сводить среднее отклонение предыдущей к минимуму.
Новые деревья добавляются в ансамбль до тех пор, пока ошибка уменьшается, либо пока не выполняется одно из правил «ранней остановки».

Особенности реализации LightGBM:

  • Используется алгоритм роста дерева по листьям (в каждом узле рассчитывается дает ли разделение листа прирост информации – inf gain), поэтому также необходимо ограничивать построение дерева максимальной глубиной для предотвращения переобучения.
  • LightGBM использует алгоритмы на основе гистограмм, которые разбивают значения непрерывных признаков (атрибутов) на дискретные ячейки.
  • Градиентная односторонняя выборка (Gradient-based One-Side Sampling - GOSS)

Для расчета берутся не все наблюдения, а лишь с большой ошибкой и небольшая часть наблюдений с маленькой ошибкой. Данный подход позволяет уменьшить расчетную часть алгоритма, за счет чего растет скорость расчета.
При расчете прироста информации GOSS вводит постоянный множитель для экземпляров данных с небольшими градиентами. Т. е. GOSS сначала сортирует наблюдения в соответствии с абсолютными значениями их градиентов и выбирает верхние экземпляры a*100% (a - коэффициент сохранения большого градиента). Затем он случайным образом отбирает наблюдения b*100% (b - коэффициент сохранения большого градиента) из остальных данных. После этого GOSS усиливает выборочные данные с небольшими градиентами на константу (1-a)/b при расчете прироста информации. Это позволяет учитывать исходное распределение данных.

  • Встроенная кодировка категориальных переменных:

Считается сумма градиентов по каждой категории и категории объединяются в группы.

  • Объединение взаимоисключающих признаков (Exclusive Feature Bundling - EFB)

Данный подход подразумевает объединение разреженных (в основном нулевых взаимоисключающих признаков, таких как категориальные переменные, закодированные унитарным кодированием.
Переменные, которые не принимают одновременно ненулевые значения, можно «связать». Уменьшаем количество переменных, объединяя взаимоисключающие в 1 переменную, увеличивается скорость расчета.

Список параметров узла представлен в таблице ниже.


Параметры узла «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» имеет разные результаты в зависимости от решаемой задачи.

Результаты регрессии представлены следующими объектами:

  • Тепловые карты обучающей, валидационной и тестовой выборок.
  • Таблица с метриками качества модели.
  • Таблица со списком переменных, сортированных по важности.

Результаты многоклассовой классификации представлены следующими объектами:

  • Таблица с метриками качества модели.
  • Таблица с метриками качества модели задачи классификации.
  • Таблица со списком переменных, сортированных по важности.

Результаты бинарной классификации представлены следующими объектами:

  • График ROC.
  • График Lift.
  • График Cumulative Lift.
  • График Gain.
  • График Cumulative Gain.
  • Таблица с метриками качества модели.
  • Таблица с метриками качества модели задачи классификации.
  • Таблица со списком переменных, сортированных по важности.
  • Нет меток