Года, проведенного с искусственным интеллектом, достаточно, чтобы поверить в Бога

-Алан Джей Перлис

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

LightGBM, как и его конкурент XGBoost, являются подтипами/конкретными экземплярами алгоритма GBDT.

Что такое ГБДТ?

Дерево решений с повышением градиента (GBDT) — это широко используемый алгоритм машинного обучения благодаря его эффективности, точности и интерпретируемости. GBDT достигает самых современных результатов во многих задачах машинного обучения, таких как многоклассовая классификация, прогнозирование кликов и обучение ранжированию.

В последние годы, с появлением больших данных (с точки зрения как количества функций, так и количества экземпляров), GBDT сталкивается с новыми проблемами, особенно в поиске компромисса между точностью и эффективностью. Обычные реализации GBDT должны для каждой функции сканировать все экземпляры данных, чтобы оценить информационный прирост всех возможных точек разделения. Следовательно, их вычислительная сложность будет пропорциональна как количеству признаков, так и количеству экземпляров. Это делает эти реализации очень трудоемкими при обработке больших данных.

Чтобы решить эту проблему, простая идея состоит в том, чтобы уменьшить количество экземпляров данных и количество функций. Однако это оказывается весьма нетривиальным. Например, непонятно, как выполнять выборку данных для GBDT. Хотя есть некоторые работы, которые производят выборку данных в соответствии с их весами для ускорения процесса обучения бустинга, они не могут быть напрямую применены к GBDT, поскольку в GBDT вообще нет веса выборки.

Введение в LightGBM

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

Стратегия по уровням поддерживает сбалансированное дерево, тогда как стратегия по листам разделяет лист, который максимально снижает потери.

Обучение по уровням можно рассматривать как форму регуляризованного обучения, поскольку обучение по листам может построить любое дерево, которое может обучение по уровням, тогда как обратное неверно. Следовательно, обучение по листам более склонно к переоснащению, но является более гибким. Это делает его лучшим выбором для больших наборов данных и является единственным вариантом, доступным в lightGBM.

Кстати, именно по этой причине предыдущие пользователи моделей дерева решений должны быть осторожны при настройке параметров num_leaves/max_depth. По сравнению со случаем послойного роста, дерево, выращенное по листам, будет глубже, если число листьев будет одинаковым. Это означает, что один и тот же параметр max_depth может привести к созданию деревьев с совершенно разными уровнями сложности в зависимости от стратегии роста.

LightGBM против XGBoost

Согласно исследованию специалистов Microsoft по сравнению этих двух алгоритмов, LightGBM оказался на шаг впереди XGBoost.

В этом сравнении XGBoost и LightGBM без GOSS и EFB (называемые lgb_baselline) используются в качестве базовых.

Вывод

Согласно нескольким проведенным тестам, LightGBM превосходит XGBoost. Документ LightGBM использует XGBoost в качестве базового уровня и превосходит его по скорости обучения и размерам наборов данных, которые он может обрабатывать. Точности сопоставимы. LightGBM в некоторых случаях достигает максимальной точности менее чем за минуту и ​​при чтении лишь части всего набора данных.