Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

LightGBM

LightGBM — это фреймворк градиентного бустинга, который строит деревья решений по листьям на основе гистограмм признаков и быстро обучается на больших табличных наборах данных.

LightGBM (машина градиентного бустинга Light) — фреймворк с открытым исходным кодом для градиентного бустинга, который обучает ансамбли деревьев решений на табличных данных и рассчитан на высокую скорость и низкое потребление памяти при работе с большими наборами данных. Microsoft выпустила его в 2016 году и описала алгоритмы в статье NeurIPS 2017 LightGBM: высокоэффективное дерево решений с градиентным бустингом. В марте 2026 года официальный репозиторий переехал в организацию lightgbm-org на GitHub, сохранив прежних сопровождающих. LightGBM поддерживает классификацию, регрессию и ранжирование из Python, R, C++ и командной строки и встречается во многих победивших решениях конкурсов по машинному обучению. На таблицах среднего размера, примерно с 10 000 строк, подобные ансамбли деревьев по-прежнему часто превосходят глубокое обучение.

Как работает LightGBM#

Градиентный бустинг строит деревья одно за другим. Каждое новое дерево подгоняется под градиенты функции потерь относительно предсказаний текущего ансамбля; при квадратичной ошибке это просто остатки, поэтому дерево исправляет ошибки предыдущих деревьев. Предсказание модели — это сумма выходов всех деревьев, каждый из которых масштабируется с помощью скорости обучения. Самый затратный этап — поиск наилучшего разбиения для каждого узла, и LightGBM ускоряет его четырьмя методами:

  • Разбиения на основе гистограмм: перед обучением LightGBM распределяет каждую непрерывную характеристику не более чем по 255 корзинам (max_bin). При поиске разбиения проверяются границы корзин, а не каждое отсортированное значение. После разбиения по данным строится гистограмма только для меньшего потомка, поскольку гистограмма большего потомка равна гистограмме родителя минус гистограмма меньшего потомка.
  • Рост по листьям: LightGBM всегда разделяет лист, для которого наилучшее разбиение сильнее всего уменьшает функцию потерь, пока в дереве не будет num_leaves листьев (по умолчанию 31); вместо того чтобы сначала разделить все узлы на одном уровне, а затем перейти глубже. При одинаковом числе листьев такой подход приводит к меньшей функции потерь, чем рост по уровням, но создаёт глубокие и несбалансированные деревья, которые могут переобучиться на небольших наборах данных.
  • Выборка по градиенту с одной стороны (GOSS): строки с большими градиентами соответствуют примерам, которые модель пока предсказывает плохо. При использовании data_sample_strategy="goss" LightGBM оставляет 20% строк с наибольшими градиентами, случайно выбирает ещё 10% из остальных и увеличивает вес этой выборки, чтобы распределение данных оставалось близким к исходному.
  • Объединение взаимоисключающих признаков (EFB): разреженные признаки, которые редко бывают ненулевыми одновременно, например столбцы one-hot-кодирования, объединяются в один признак, что сокращает число гистограмм, которые нужно построить.

Каждое дерево повторяет поиск разбиений, пока не исчерпает лимит листьев или пока не останется полезных разбиений; бустинг повторяет этот процесс на каждом шаге:

LightGBM также напрямую разделяет категориальные признаки, закодированные целыми числами, если они перечислены в categorical_feature: категории группируются при каждом разбиении без one-hot-кодирования. Пропущенные значения обрабатываются по умолчанию. Обучение выполняется на CPU, на GPU (device_type="gpu" или "cuda"), а также на нескольких машинах с помощью распределённых алгоритмов обучения.

Обучение и настройка LightGBM#

Для большинства задач подходят классы LGBMClassifier, LGBMRegressor и LGBMRanker в стиле scikit-learn. Поскольку деревья с ростом по листьям могут быть очень глубокими, основные параметры для борьбы с переобучением — num_leaves, min_child_samples (по умолчанию 20 строк на лист) и max_depth; их обычно настраивают вместе со скоростью обучения и числом деревьев с помощью подбора гиперпараметров или ранней остановки на валидационной выборке. Преимущества гистограмм и роста по листьям видны при сравнении с классическим градиентным бустингом scikit-learn с точным поиском разбиений на синтетической таблице из 20 000 строк и 40 признаков:

import time

import lightgbm as lgb
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split

X, y = make_classification(n_samples=20_000, n_features=40, n_informative=15, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 200 trees each: exact split search vs. LightGBM's histograms and leaf-wise growth
for model in (GradientBoostingClassifier(n_estimators=200), lgb.LGBMClassifier(n_estimators=200, verbose=-1)):
    start = time.perf_counter()
    model.fit(X_train, y_train)
    seconds = time.perf_counter() - start
    print(f"{type(model).__name__}: {seconds:.1f} s, accuracy {model.score(X_test, y_test):.3f}")

На CPU Apple M5 Pro LightGBM строит 200 деревьев с числом листьев до 31 менее чем за секунду, тогда как scikit-learn требуется около 20 секунд на 200 деревьев с точным поиском разбиений и глубиной 3; при этом более крупные деревья LightGBM обеспечивают точность на тестовой выборке 0.956 против 0.901. Обученные модели сохраняются в текстовом формате или JSON, а onnxmltools конвертирует их в ONNX для инференса вне Python.

  • XGBoost: библиотека градиентного бустинга, популяризировавшая регуляризованный бустинг второго порядка в 2014 году. По умолчанию она строит деревья с ограничением глубины (max_depth=6), поддерживает рост по листьям с помощью grow_policy="lossguide", а начиная с версии 2.0 по умолчанию использует поиск разбиений по гистограммам; теперь обе библиотеки используют большинство общих методов.
  • CatBoost: библиотека бустинга от Яндекса, выпущенная в 2017 году. Она строит симметричные деревья и кодирует категориальные признаки с помощью упорядоченной целевой статистики, чтобы ограничить утечку целевой переменной.
  • Случайный лес: независимо обучает глубокие деревья на бутстрэп-выборках и усредняет их предсказания, что снижает дисперсию.
  • HistGradientBoosting: HistGradientBoostingClassifier и HistGradientBoostingRegressor в scikit-learn — это реализации, вдохновлённые LightGBM, которые аналогичным образом распределяют признаки по корзинам гистограмм.
  • Фундаментальные модели для табличных данных: предобученные трансформеры, например TabPFN, делают предсказания на небольших таблицах за один прямой проход без отдельного цикла обучения для каждого набора данных.

Примеры применения в реальных условиях#

  • Мошенничество и кредитные риски: банки оценивают транзакции и заявки на кредиты по истории счёта, продавцу, сумме и времени операции; быстрый инференс LightGBM подходит для принятия решений по отдельным транзакциям.
  • Прогнозирование спроса: ритейлеры прогнозируют продажи каждого товара в каждом магазине по прошлым продажам, ценам, акциям и календарным признакам. Часто в качестве входных данных используют поток посетителей: Ultralytics YOLO26 с помощью подсчёта объектов отслеживает людей, пересекающих линию на видео из магазина, и сообщает число входящих и выходящих людей по классам; эти данные, агрегированные по часам, становятся признаками для прогноза численности персонала с помощью LightGBM.
  • Ранжирование в поиске и рекомендациях: LGBMRanker по умолчанию обучается с целевой функцией LambdaRank, упорядочивая документы или товары внутри каждой группы запросов для оптимизации нормализованного дисконтированного кумулятивного выигрыша (NDCG).

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения