магистерская диссертация / ВКРМ
.pdfгде ρ − средняя корреляция между деревьями, s − «сила» ансамбля [20].
Формула явно показывает, что качество улучшается при одновременном снижении корреляции и росте индивидуальной предсказательной силы деревьев.
На практике случайные леса устойчивы к выбросам, не требуют масштабирования признаков, обладают встроенной оценкой важности переменных и много лет остаются одним из базовых инструментов прикладного машинного обучения [1, 12, 21].
1.1.4 Альтернативные параллельные ансамбли и их теоретические основы
Параллельно с развитием бэггинга и случайных лесов в конце 1990-х − начале 2000-х годов исследовались различные модификации параллельного построения ансамблей, каждая из которых решала проблему корреляции базовых моделей собственным способом. Стекинг (stacked generalization) [22] обучает метамодель на предсказаниях базовых алгоритмов, теоретически находя оптимальные веса агрегации, но на практике требует тщательной кросс-
валидации из-за риска переобучения. Метод случайных подпространств (random subspace) [23] строит деревья на случайных наборах признаков без бутстрапа, что особенно эффективно в задачах высокой размерности. Экстремально рандомизированные деревья (Extra Trees) [24] дополнительно случайным образом генерируют пороги разбиений, ускоряя обучение и снижая дисперсию за счёт отказа от жадной оптимизации. Ротационные леса [25] применяют метод главных компонент к случайным группам признаков перед построением каждого дерева, повышая геометрическое разнообразие базовых моделей. Архитектура смеси экспертов (Mixture of Experts) [26], напротив, делит входное пространство между специализированными моделями через шлюзовую функцию, что предвосхитило современные подходы в глубоком обучении, но в классическом машинном обучении применялась ограниченно.
Несмотря на различия в реализации, все эти методы объединяет общая цель: снизить корреляцию между базовыми учениками без потери их
16
индивидуальной предсказательной силы. Теоретическое обоснование этого подхода опирается на разложение ошибки ансамбля. Для квадратичной функции потерь справедливо соотношение амбигуити (ambiguity decomposition) [27]:
ошибка ансамбля равна средней ошибке отдельных моделей минус их среднее квадратичное разнообразие. Это означает, что усреднение даёт устойчивый выигрыш только при наличии некоррелированных ошибок базовых алгоритмов.
В более общем виде успех параллельных ансамблей объясняется через классическое разложение смещение–дисперсия [15]: независимое обучение и агрегация преимущественно снижают дисперсионную составляющую ошибки,
оставляя смещение модели практически неизменным.
Фундаментальный теоретический вопрос был сформулирован в конце
1980-х: возможно ли из «слабого ученика» (алгоритма, работающего лишь чуть лучше случайного угадывания) получить «сильного» с произвольно малой ошибкой? Ответ оказался утвердительным [28, 29] и лёг в основу последовательного обучения. В отличие от параллельных схем, бустинг строит модели итеративно, концентрируя каждую следующую на примерах, плохо обработанных предыдущими. Это позволяет целенаправленно уменьшать смещение композиции, компенсируя главный недостаток как одиночных деревьев, так и параллельных ансамблей. Теоретическое доказательство возможности усиления слабых учеников стало отправной точкой для алгоритма
AdaBoost, а впоследствии − для статистической интерпретации бустинга как градиентного спуска в пространстве функций [30].
1.2Градиентный бустинг
1.2.1Идея последовательного усиления и алгоритм AdaBoost
Вотличие от параллельных ансамблей, снижающих дисперсию за счёт независимого обучения, бустинг строит композицию последовательно: каждая следующая модель фокусируется на ошибках предыдущих, целенаправленно уменьшая смещение ансамбля. Теоретическим фундаментом служит доказанная
17
возможность усиления (boosting): последовательная комбинация «слабых учеников» (алгоритмов, работающих лишь немного лучше случайного угадывания) способна произвольно точно аппроксимировать целевую зависимость [28, 29]. Эта идея, формализованная в рамках PAC-обучения [28],
показала, что последовательная стратегия обучения может компенсировать ограничения простых базовых моделей, открывая путь к построению высокоэффективных композиций [12, 31].
Первым практически значимым алгоритмом стал AdaBoost [32], ввёдший механизм адаптивного перевзвешивания объектов. На итерации t неправильно
классифицированные примеры получают |
больший |
|
вес |
( ), заставляя |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
следующий базовый классификатор |
концентрироваться на «трудных» |
||||||||||
случаях. Итоговое предсказание формируется как взвешенная сумма: |
|||||||||||
|
|
( ) = ( |
|
· |
( )), |
|
|
|
|
||
|
|
|
|
=1 |
|
|
|
|
|
|
|
где вес |
монотонно |
зависит |
от |
точности |
|
и |
вычисляется через |
||||
|
|
|
|
|
|
|
|
|
|
|
|
взвешенную |
ошибку |
. |
Теоретически |
AdaBoost |
минимизирует |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
экспоненциальную функцию |
потерь |
[ (− · ( ))] |
и |
демонстрирует |
|||||||
экспоненциальное убывание обучающей ошибки, если каждый базовый ученик лучше случайного [32, 33]. Несмотря на эмпирическую устойчивость к переобучению, объясняемую теорией отступов (margins) [34], алгоритм чувствителен к шуму в метках и привязан к конкретному виду функции потерь,
что стимулировало поиск более общей статистической интерпретации.
1.2.2 Статистическая интерпретация и обобщение Фридмана
Ключевой прорыв состоял в том, что бустинг был переосмыслен не как эвристический приём, а как жадная оптимизация аддитивной модели в базисе базовых учеников [35]. Было показано, что AdaBoost эквивалентен подгонке модели методом максимального правдоподобия при экспоненциальном
18
распределении ошибок. Это позволило заменить экспоненциальную потерю на другие, более устойчивые или адаптированные к типу задачи:
–логистическая потеря ( , ) = (1 + (− )) даёт вероятностную интерпретацию и алгоритм LogitBoost [35];
–квадратичная потеря ( , ) = ( − )² применима для регрессии;
–абсолютное отклонение и потери Хьюбера обеспечивают устойчивость к выбросам.
Статистический взгляд снял привязку к конкретному алгоритму перевзвешивания и указал на возможность обобщения бустинга для произвольных дифференцируемых функций потерь [35, 36].
Фридман формализовал эту идею [36, 37], представив бустинг как процедуру градиентного спуска в пространстве функций. На каждой итерации вычисляются псевдоостатки − отрицательный градиент функции потерь L по текущим предсказаниям:
( ) = −[ ( , ( ))/ ( )]|=−1.
Базовый ученик обучается аппроксимировать направление ( ), после чего модель обновляется:
( ) = −1( ) + · · ( ),
где находится линейным поиском вдоль , а (0,1] − шаг обучения
(shrinkage), выполняющий роль регуляризатора [36]. Для наиболее распространённых функций потерь псевдоостатки принимают простой вид: при
квадратичных потерях они совпадают с обычными остатками ( ) |
= − |
|
|
|
|
|
( ), при логистических − с разностью метки и предсказанной вероятности. |
|
−1 |
|
|
Унификация через градиентный спуск сделала бустинг универсальным каркасом: для нового типа задачи достаточно задать соответствующую функцию
L [12, 33].
19
1.2.3 Деревья как базовые ученики и стохастическая модификация
В качестве базовых учеников теоретически может выступать любой регрессионный алгоритм, но де-факто закрепились деревья решений благодаря их гибкости, вычислительной эффективности и способности автоматически улавливать взаимодействия признаков [36, 38]. Фридман показал, что при использовании деревьев оптимизацию шага целесообразно выполнять отдельно для каждого листа :
= ( , −1( ) + ).
Для квадратичной потери − просто среднее псевдоостатков в листе.
Число листьев J (или максимальная глубина) контролирует порядок учитываемых взаимодействий: дерево с J листьями моделирует зависимости до
(J − 1)-го порядка. На практике рекомендуется J [4, 8] [36], что балансирует между выразительностью и риском переобучения [1, 12].
Для повышения обобщающей способности и ускорения обучения Фридман предложил стохастическую модификацию [39]: на каждой итерации базовое дерево строится на случайной подвыборке объектов размером · ( (0, 1])
и/или случайном подмножестве признаков. Это снижает корреляцию между деревьями, действует как дополнительная регуляризация и предотвращает
«застревание» алгоритма в локальных минимумах функции потерь.
Эмпирически η ≈ 0,5 часто даёт лучшее качество на контрольной выборке при сопоставимом числе итераций, объединяя преимущества бустинга и бэггинга в единую схему [39].
1.2.4 Регуляризация, выбор гиперпараметров и сходимость
Эффективность градиентного бустинга критически зависит от взаимодействия гиперпараметров. Шаг обучения ν и число итераций T обратно связаны: малый ν требует большего T, но обеспечивает более плавную оптимизацию и лучшее обобщение [36, 40]. На практике T выбирают методом
20
ранней остановки (early stopping), а ν фиксируют в диапазоне 0,01–0,1. Глубина деревьев J, доля субвыборки η и минимальное число объектов в листе подбираются совместно, так как избыточная глубина при малом η ведёт к переобучению, а слишком строгие ограничения − к недообучению [12, 33].
Современные реализации автоматизируют этот процесс через поиск по сетке или байесовскую оптимизацию [41], но теоретическое обоснование оптимальных сочетаний остаётся эмпирически ориентированным.
С теоретической точки зрения градиентный бустинг рассматривается как итеративный поиск аддитивной модели в гипотезном классе линейных комбинаций базовых учеников [37]. При выпуклой и гладкой функции потерь и достаточно слабых учеников эмпирический риск убывает по геометрической прогрессии. Сходимость к оптимальному решению гарантируется только при должной регуляризации: без shrinkage и ранней остановки алгоритм быстро приходит к переобучению на шумных данных [40, 42]. Анализ обобщающей способности в рамках теории отступов (margins) [34] показывает, что добавление новых деревьев продолжает увеличивать минимальный отступ предсказаний даже после обнуления обучающей ошибки, что объясняет эмпирическую устойчивость алгоритма. Таким образом, теоретическая база к моменту появления промышленных реализаций была подготовлена, и центр тяжести сместился к инженерным улучшениям: ускорению вычислений, явной регуляризации функционала и нативной обработке разнородных данных.
1.3Современные реализации градиентного бустинга
В2010-х годах появились три промышленные реализации градиентного бустинга − XGBoost [43], LightGBM [44] и CatBoost [45], − каждая из которых внесла принципиальные алгоритмические улучшения, существенно изменившие практику применения этого класса методов. Эти системы доминируют в современном прикладном машинном обучении на табличных данных и регулярно занимают призовые места в соревнованиях по анализу данных [42, 46].
21
Несмотря на различия в стратегиях оптимизации, все три используют исключительно бинарные деревья в качестве базовых учеников − наследие алгоритма CART, никогда не пересматривавшееся систематически в контексте градиентного бустинга [47].
1.3.1 XGBoost: регуляризация и аппроксимация второго порядка
Алгоритм XGBoost (eXtreme Gradient Boosting) [43] стал первой массово применяемой реализацией градиентного бустинга, обеспечившей качественный скачок в производительности и обобщающей способности. Ключевые улучшения сосредоточены в трёх направлениях: явной регуляризации функционала, аппроксимации второго порядка и инженерной оптимизации.
Регуляризованный функционал в XGBoost имеет вид:
= ( , ŷ ) + ( ), ( ) = · + ( /2) · 2,
где T − число листьев дерева, − вес j-го листа, γ ≥ 0 − штраф за лист, λ ≥
0 − коэффициент L2-регуляризации [43]. Совместное действие двух штрафов ограничивает структурную сложность дерева и амплитуду предсказаний,
существенно снижая склонность модели к переобучению по сравнению со стандартным градиентным бустингом [42].
Для оптимизации функционала на каждой итерации применяется разложение функции потерь в ряд Тейлора до второго порядка по приращению предсказания:
( ) |
[ · |
( ) + ½ · |
|
· |
2 |
( )] + ( ), |
||
̃ ≈ |
|
|
||||||
|
|
|
|
|
|
|
||
где и − первая и вторая производные функции потерь по предсказанию
[43]. Это позволяет аналитически найти оптимальный вес каждого листа и вычислить выигрыш от разбиения узла в замкнутой форме. Подробный вывод формул и анализ предельных случаев приводятся в подразделе 2.2 настоящей работы при обобщении на троичное ветвление.
На уровне инженерной реализации XGBoost вводит точный (exact) и
приближённый (approximate) поиск разбиений на основе взвешенных квантилей,
поддерживает разрежённые данные через стратегию sparsity-aware split finding, 22
использует кеш-эффективные структуры данных и распараллеливание поиска по признакам [43, 46]. Поуровневая стратегия роста (level-wise) обеспечивает сбалансированность деревьев и облегчает параллелизацию.
1.3.2LightGBM: гистограммный алгоритм и листо-ориентированный рост
Алгоритм LightGBM [44] фокусируется на скорости обучения при
сохранении качества и наиболее эффективен на больших выборках высокой размерности.
Гистограммный алгоритм. Непрерывные признаки дискретизируются в B
бинов (обычно 255), после чего поиск сплита перебирает не n значений, а B << n
бинов. При разбиении узла гистограмма для большего потомка получается вычитанием из родительской, что вдвое сокращает вычисления [44, 48].
Листо-ориентированный рост (leaf-wise). В отличие от поуровневого роста
(level-wise) в XGBoost, LightGBM на каждом шаге раскрывает лист с максимальным приростом функционала. При фиксированном числе листьев это даёт более быстрое снижение потерь, но требует ограничения глубины
(max_depth) для предотвращения переобучения [44].
GOSS и EFB. Алгоритм Gradient-based One-Side Sampling (GOSS)
субсэмплирует объекты с малыми градиентами, сохраняя их вклад через взвешивание. Exclusive Feature Bundling (EFB) объединяет разреженные взаимоисключающие признаки в пучки, снижая эффективную размерность.
Совместно эти методы обеспечивают ускорение в 10–20 раз при сопоставимом качестве [44].
Категориальные признаки. Поддерживаются нативно: категории упорядочиваются по отношению / , что сводит поиск оптимального разбиения к линейному перебору [44, 49].
1.3.3 CatBoost: упорядоченный бустинг и симметричные деревья
Алгоритм CatBoost [45] решает проблему смещения предсказания
(prediction shift) и оптимизирует работу с категориальными признаками.
23
Упорядоченный бустинг. Для устранения «утечки» целевой переменной при вычислении градиентов модель для объекта обучается только на объектах
1, … , −1. Реализация через упорядоченные деревья хранит в каждом листе статистики, накопленные только по объектам с меньшим порядковым номером
[45, 50].
Симметричные (oblivious) деревья. На каждом уровне дерева применяется одно и то же разбиение (признак + порог). Это сокращает число параметров,
снижает риск переобучения и ускоряет инференс: предсказание сводится к d
сравнениям и одному обращению к таблице по битовому индексу [45].
Обработка категорий. Таргет-кодирование выполняется с тем же принципом упорядочения: статистика для категории вычисляется только по предшествующим объектам, что исключает смещение [45, 50].
1.3.4 Сравнительный анализ современных реализаций
Несмотря на общую теоретическую основу, три доминирующие реализации градиентного бустинга существенно различаются по ключевым алгоритмическим решениям. В основе поиска оптимального разбиения XGBoost
использует точный перебор или аппроксимацию через взвешенные квантили,
тогда как LightGBM и CatBoost перешли на гистограммный подход,
дискретизирующий признаки для ускорения вычислений. При этом CatBoost
дополнительно ограничивает структуру деревьев симметричными (oblivious)
разбиениями, применяя один признак и порог на каждом уровне [42, 51].
Стратегии построения деревьев также расходятся: XGBoost и CatBoost
придерживаются поуровневого (level-wise) роста, обеспечивая сбалансированность структуры, в то время как LightGBM использует листо-
ориентированный (leaf-wise) подход, последовательно раскрывая узлы с максимальным приростом функционала. Механизмы регуляризации отражают эти архитектурные различия: XGBoost опирается на явные L1/L2-штрафы к весам листьев и параметр сложности, LightGBM делает акцент на ограничениях
24
глубины и минимального числа объектов в листе, а CatBoost компенсирует риски переобучения за счёт симметричности деревьев и алгоритма упорядоченного бустинга, устраняющего смещение градиентов [42, 44, 45].
Подход к обработке категориальных признаков является одним из главных дифференциаторов. Если XGBoost требует их предварительного кодирования, то
LightGBM и CatBoost поддерживают нативную работу с категориями, применяя упорядоченное таргет-кодирование. При этом CatBoost реализует наиболее защищённую от «утечки» данных схему за счёт упорядоченных деревьев [45, 50].
В вычислительном аспекте LightGBM демонстрирует наибольшую скорость обучения на больших выборках благодаря гистограммам и алгоритмам
GOSS/EFB, тогда как CatBoost оптимизирован под быстрый инференс за счёт симметричной структуры, сводящей предсказание к нескольким последовательным сравнениям и обращению по битовому индексу.
Эмпирические сравнения, включая масштабные исследования на десятках репозиториев данных [42, 51, 52], показывают отсутствие универсального лидера среди трёх систем. Каждая архитектура обладает собственным балансом между скоростью, устойчивостью к переобучению и удобством работы со специфическими типами данных. Выбор конкретной реализации определяется природой признаков, ограничениями вычислительной инфраструктуры и требованиями к задержке предсказания. Эта гетерогенность ландшафта подчёркивает, что структурные изменения на уровне базового дерева (в
частности, переход к троичному ветвлению) могут быть интегрированы в любую из существующих схем, не нарушая их общих принципов функциональной оптимизации.
Анализ выявил общую черту всех трёх систем: исключительное использование бинарных деревьев в качестве базовых учеников. Это наследие алгоритма CART [7] никогда не пересматривалось систематически в контексте градиентного бустинга. Вопрос о влиянии количества ветвей в узле на сходимость, обобщающую способность и вычислительную эффективность
25
