магистерская диссертация / ВКРМ
.pdfСОДЕРЖАНИЕ |
|
ВВЕДЕНИЕ....................................................................................................................................................................................... |
9 |
1 Теоретический анализ деревьев решений, ансамблевых методов и троичного ветвления....... |
12 |
1.1 Деревья решений и параллельные ансамблевые методы..................................................................... |
12 |
1.1.1 Возникновение и эволюция деревьев решений ................................................................................. |
12 |
1.1.2 Ограничения одиночного дерева решений........................................................................................... |
14 |
1.1.3 Бэггинг и случайные леса................................................................................................................................ |
14 |
1.1.4 Альтернативные параллельные ансамбли и их теоретические основы............................... |
16 |
1.2 Градиентный бустинг ................................................................................................................................................ |
17 |
1.2.1 Идея последовательного усиления и алгоритм AdaBoost............................................................. |
17 |
1.2.2 Статистическая интерпретация и обобщение Фридмана ............................................................. |
18 |
1.2.3 Деревья как базовые ученики и стохастическая модификация ................................................ |
20 |
1.2.4 Регуляризация, выбор гиперпараметров и сходимость................................................................. |
20 |
1.3 Современные реализации градиентного бустинга ................................................................................... |
21 |
1.3.1 XGBoost: регуляризация и аппроксимация второго порядка ...................................................... |
22 |
1.3.2 LightGBM: гистограммный алгоритм и листо-ориентированный рост.................................. |
23 |
1.3.3 CatBoost: упорядоченный бустинг и симметричные деревья..................................................... |
23 |
1.3.4 Сравнительный анализ современных реализаций ........................................................................... |
24 |
1.4 Троичный принцип в логике, арифметике и машинном обучении.................................................. |
26 |
1.4.1 Многозначные логики и троичные системы счисления................................................................ |
26 |
1.4.2 Исторический прецедент и физическая реализуемость ................................................................ |
29 |
1.4.3 Троичность в современных алгоритмах машинного обучения.................................................. |
31 |
1.5 Обоснование троичного ветвления в градиентном бустинге............................................................. |
32 |
1.5.1 Постановка проблемы и научный пробел.............................................................................................. |
32 |
1.5.2 Троичность как универсальный принцип разбиения пространства ...................................... |
33 |
1.5.3 Влияние структуры дерева на обобщающую способность ансамбля..................................... |
34 |
1.5.4 Синтез теоретических аргументов и формулировка гипотезы ................................................. |
36 |
Выводы по первой главе.................................................................................................................................................. |
37 |
2 Разработка алгоритма градиентного бустинга с троичным ветвлением ............................................. |
41 |
2.1 Постановка задачи и требования к разрабатываемому решению.................................................... |
41 |
2.1.1 Формализация задачи, цель и задачи работы...................................................................................... |
41 |
2.1.2 Требования к разрабатываемому алгоритму и библиотеке........................................................ |
44 |
2.1.3 Выбор инструментов, технологий и архитектурная концепция............................................... |
46 |
2.2 Математическая модель троичного ветвления........................................................................................... |
48 |
2.2.1 Регуляризованный целевой функционал и аппроксимация второго порядка.................. |
48 |
2.2.2 Оптимальный вес листа.................................................................................................................................... |
50 |
2.2.3 Формула выигрыша для бинарного разбиения .................................................................................. |
51 |
6
2.2.4 Вывод формулы выигрыша для троичного разбиения.................................................................. |
53 |
2.2.5 Предельный переход: свойство корректности вырождения....................................................... |
54 |
2.2.6 Алгоритм поиска оптимальной пары порогов..................................................................................... |
55 |
2.2.7 Адаптивный режим: критерий выбора типа разбиения................................................................ |
56 |
2.2.8 Анализ вычислительной сложности ......................................................................................................... |
58 |
2.3 Программная реализация ........................................................................................................................................ |
59 |
2.3.1 Общая архитектура программного комплекса.................................................................................... |
59 |
2.3.2 Модуль дерева решений................................................................................................................................... |
61 |
2.3.3 Модуль градиентного бустинга ................................................................................................................... |
63 |
2.3.4 Модуль работы с данными.............................................................................................................................. |
65 |
2.3.5 C API и разделяемая библиотека ................................................................................................................. |
66 |
2.3.6 Python-библиотека TernaryGBM................................................................................................................... |
68 |
2.4 Выводы по главе............................................................................................................................................................ |
70 |
3 Экспериментальное исследование разработанного алгоритма................................................................. |
72 |
3.1 Цель, задачи и методика эксперимента........................................................................................................... |
72 |
3.1.1 Сравниваемые методы...................................................................................................................................... |
72 |
3.1.2 Используемые метрики .................................................................................................................................... |
72 |
3.1.3 Протокол оценки.................................................................................................................................................. |
73 |
3.1.4 Методы статистической обработки результатов .............................................................................. |
74 |
3.1.5 Мера немонотонности данных ..................................................................................................................... |
75 |
3.2 Контролируемая проверка на синтетических данных............................................................................ |
76 |
3.2.1 Качество прогнозирования при фиксированной глубине............................................................ |
76 |
3.2.2 Сложность модели............................................................................................................................................... |
77 |
3.2.3 Зависимость качества от глубины дерева.............................................................................................. |
78 |
3.2.4 Глубина, необходимая для достижения заданного качества ...................................................... |
78 |
3.2.5 Влияние регуляризации................................................................................................................................... |
79 |
3.3 Проверка на реальных данных.............................................................................................................................. |
80 |
3.3.1 Рейтинг моделей при индивидуальном подборе гиперпараметров....................................... |
80 |
3.3.2 Компактность при равном качестве.......................................................................................................... |
82 |
3.4 Поиск области эффективности метода............................................................................................................. |
82 |
3.4.1 Преимущество по точности в зависимости от глубины................................................................. |
83 |
3.4.2 Сравнение со всеми методами при малой глубине........................................................................... |
84 |
3.5 Проверка соответствия функциональным и нефункциональным требованиям..................... |
85 |
3.5.1 Время обучения..................................................................................................................................................... |
86 |
3.5.2 Время вывода ......................................................................................................................................................... |
87 |
3.5.3 Пиковая память..................................................................................................................................................... |
87 |
3.6 Структурный анализ режимов ветвления...................................................................................................... |
88 |
7
3.6.1 Сравнение качества и структуры моделей |
............................................................................................89 |
3.6.2 Диагностика адаптивного режима............................................................................................................. |
90 |
3.6.3 Контроль детерминированности................................................................................................................ |
91 |
3.7 Обобщённые выводы по главе.............................................................................................................................. |
93 |
ЗАКЛЮЧЕНИЕ.............................................................................................................................................................................. |
94 |
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.............................................................................................................. |
96 |
ПРИЛОЖЕНИЕ А...................................................................................................................................................................... |
104 |
8
ВВЕДЕНИЕ
Градиентный бустинг на деревьях решений стал основным инструментом анализа табличных данных. В задачах регрессии, классификации и ранжирования он даёт одни из лучших результатов среди классических методов машинного обучения, что подтверждают и сравнительные исследования, и
практика соревнований по анализу данных. Промышленные различаются деталями, но в одном они едины: базовым учеником служит бинарное дерево.
Этот выбор унаследован от алгоритма CART и почти никогда не пересматривался.
У бинарного ветвления есть оборотная сторона. Чтобы описать сложную нелинейную зависимость, дерево вынуждено наращивать глубину − каждый узел делит выборку лишь надвое. А чем больше глубина, тем хуже интерпретируемость, тем дольше вывод и тем труднее развернуть модель на устройстве со скромными ресурсами. Между тем троичные принципы давно доказали свою пользу в других областях: в многозначной логике, в
балансированной арифметике, в квантизации весов нейронных сетей. В
ансамблевых методах эта идея почти не изучена. Именно то, что троичность работает «вокруг», но не внутри базового дерева бустинга и стало отправной точкой данной работы.
Актуальность исследования. Прикладным задачам всё чаще нужны модели, которые не только точны, но компактны и поддаются проверке. В
финансовом скоринге или промышленной диагностике решение модели должно быть объяснимо эксперту и регулятору, а отклик системы − укладываться в жёсткие временные рамки. Избыточная глубина дерева мешает и тому, и
другому. Троичное ветвление сокращает эффективную глубину примерно на треть при том же числе листьев и тем самым работает как естественная структурная регуляризация. За этим стоит и экономический смысл: те же прогнозы при меньших требованиях к вычислительным мощностям.
9
Цель работы − снизить эффективную глубину деревьев градиентного бустинга без потери качества предсказания за счёт обобщения алгоритма
XGBoost на троичное и адаптивное ветвление узлов и реализации этого обобщения в виде кроссплатформенной библиотеки.
Для достижения цели поставлены следующие задачи:
1.формализовать обучение регуляризованного градиентного бустинга и вывести критерий качества разбиения узла для троичного и адаптивного режимов как обобщение бинарного случая;
2.сформулировать функциональные и нефункциональные требования к алгоритму и библиотеке;
3.спроектировать архитектуру вычислительного ядра и Python-
интерфейса, обосновать выбор инструментов и технологий;
4.реализовать алгоритм и библиотеку с поддержкой бинарного,
троичного и адаптивного ветвления;
5.оценить экспериментально, как режим ветвления влияет на глубину,
структурную сложность модели, качество предсказания и вычислительные затраты по сравнению с эталонным бинарным режимом.
Объект исследования − алгоритмы градиентного бустинга на деревьях решений.
Предмет исследования − механизм троичного и адаптивного ветвления узлов и его влияние на структурную сложность, качество прогнозирования и вычислительную эффективность ансамбля.
Методология и методы исследования. Теоретическая часть опирается на квадратичную аппроксимацию функции потерь и поиск оптимальных весов листьев из условия минимума функционала. Алгоритмическая − на гистограммный поиск пары порогов и адаптивный выбор типа разбиения.
Программная реализация выполнена на C++17 с C API и обёрткой для scikit-learn
через ctypes. Экспериментальная оценка построена на вложенной кросс10
валидации и ablation-сравнении режимов одного и того же алгоритма;
значимость различий проверялась непараметрическими критериями Фридмана,
Неменьи и Уилкоксона, а структура данных − введённой в работе мерой немонотонности признаков.
Теоретическая значимость. Критерий качества разбиения XGBoost
обобщён на троичный случай. Доказано свойство корректности вырождения, на котором держится устойчивость адаптивного режима. Троичное разбиение описано как механизм структурной регуляризации, смещающий баланс смещения и дисперсии ансамбля.
Практическая значимость. Разработана библиотека TernaryGBM с
интерфейсом в стиле scikit-learn, готовая к встраиванию в обычные конвейеры анализа данных. Эксперименты показывают, что адаптивное ветвление строит более компактные модели без статистически значимой потери точности, а на немонотонных данных с малой глубиной заметно выигрывает у бинарного бустинга в качестве прогнозирования.
11
1 Теоретический анализ деревьев решений, ансамблевых методов и
троичного ветвления
В настоящей главе проводится теоретический анализ предметной области,
формирующий основу для разработки модифицированного алгоритма градиентного бустинга с троичным ветвлением. Последовательно рассматриваются: эволюция деревьев решений и параллельных ансамблевых методов; концепция градиентного бустинга и её математическая формализация;
современные промышленные реализации − XGBoost, LightGBM и CatBoost;
троичный принцип как универсальная структурная парадигма в логике,
арифметике и машинном обучении; обоснование возможности и целесообразности переноса троичных принципов на структуру базовых учеников в градиентном бустинге. Совокупность выводов главы образует теоретический фундамент для разработки алгоритма и экспериментальной проверки гипотез, проводимых в последующих главах диссертации.
1.1Деревья решений и параллельные ансамблевые методы
1.1.1Возникновение и эволюция деревьев решений
Идея автоматического построения иерархической структуры принятия решений восходит к логическим классификаторам и диагностическим ключам
[1, 2], однако формализация этого подхода в машинном обучении потребовала ответов на два вопроса: по какому критерию и в какой точке делить выборку, и
когда остановиться. История развития алгоритмов построения деревьев отражает поиск баланса между интерпретируемостью, устойчивостью к шуму и вычислительной эффективностью [3].
Первые реализации возникли в статистике и искусственном интеллекте параллельно. В статистическом направлении алгоритм AID [4] и его развитие
CHAID [5] использовали многопутевое (multiway) ветвление: узел мог делиться на несколько потомков в зависимости от числа значимых категорий или порогов.
12
Это давало наглядную сегментацию, но приводило к быстрой фрагментации выборки и снижению статистической мощности в нижних узлах [6].
В 1984 году Брейман, Фридман, Олшен и Стоун представили алгоритм
CART [7], сознательно ограничившийся бинарным делением: каждый внутренний узел проверяет условие вида ≤ и расщепляет данные ровно на две части. Для классификации был предложен критерий неоднородности Джини:
( ) = 1 − =1 2,
где − доля объектов i-го класса в узле S. Прирост качества при разбиении оценивается как уменьшение взвешенной неоднородности:
= ( ) − (| |/| |) · ( ) − (| |/| |) · ( ).
Бинарность оказалась технологически предпочтительной: она устойчива к фрагментации, позволяет аппроксимировать любое многопутевое разбиение последовательными шагами и удобно оптимизируется. Алгоритм CART также ввёл стандартные процедуры усечения (cost-complexity pruning) и единый аппарат для регрессии и классификации [7, 8].
Параллельная линия искусственного интеллекта, начатая алгоритмом ID3 [9] и развитая в C4.5 [10], опиралась на теоретико-информационные меры. Выбор признака осуществлялся по максимуму информационного выигрыша:
( , ) = ( ) − ( )(| |/| |) · ( ),
где ( ) = − · 2 − энтропия узла. Для компенсации смещения в сторону признаков с большим числом значений был введён нормированный критерий Gain Ratio [10]. В отличие от CART, это семейство сохраняло многопутевое ветвление для категориальных признаков, но на практике уступило бинарным деревьям в скорости обучения и стабильности [11].
Таким образом, в индустрии машинного обучения закрепился бинарный стандарт ветвления [1, 12]. Он обеспечивает надёжную оптимизацию, хорошо сочетается с современными архитектурами ансамблей и лёгкостью реализации.
Однако между чисто бинарной и многопутевой стратегиями остаётся
малоизученная область − ветвление низкой кратности, прежде всего троичное.
13
Оно потенциально способно сочетать компактность многопутевых деревьев с устойчивостью бинарных, не ускоряя чрезмерно фрагментацию выборки.
Обоснование такой модификации требует перехода от одиночных деревьев к ансамблевым методам, где структура базового ученика напрямую влияет на обобщающую способность всей композиции.
1.1.2 Ограничения одиночного дерева решений
Одиночное дерево решений обладает фундаментальным недостатком − высокой дисперсией. Небольшое изменение обучающей выборки может привести к радикально иной структуре дерева и, как следствие, к нестабильным предсказаниям [7, 13]. Это проявляется особенно сильно в глубоких деревьях,
которые склонны к переобучению: они запоминают шум и локальные артефакты данных вместо глобальных закономерностей [14].
В рамках классического разложения ошибки предсказания на смещение
(bias), дисперсию (variance) и неустранимый шум [15] деревья решений демонстрируют типичный конфликт: неглубокие деревья имеют высокое смещение (чрезмерное упрощение модели), а глубокие − высокую дисперсию.
Обрезка (pruning) позволяет найти локальный компромисс, но не устраняет проблему системно [7]. Кроме того, дерево задаёт кусочно-постоянную функцию предсказания, что затрудняет аппроксимацию гладких зависимостей без значительного увеличения числа листьев и, соответственно, дисперсии [12].
Именно эти ограничения стали главным стимулом для перехода к ансамблевым методам, которые сохраняют гибкость и интерпретируемость деревьев, но радикально повышают устойчивость предсказаний [1, 16].
1.1.3 Бэггинг и случайные леса
Систематический подход к снижению дисперсии деревьев предложил Л.
Брейман в 1996 году в виде метода бэггинга (Bootstrap AGGregating) [17]. Идея заключается в построении большого числа деревьев B, каждое на своей бутстрап14
выборке, с последующим усреднением предсказаний (для регрессии) или голосованием (для классификации):
|
( ) = (1/ ) · |
( ). |
|
=1 |
|
Бутстрап-выборка формируется случайным выбором с возвращением [18, 19], включая в среднем ≈ 63,2 % уникальных объектов; оставшиеся данные используются как OOB-выборка для оценки ошибки без отдельного валидационного множества.
С теоретической точки зрения, если отдельные деревья имеют дисперсию
σ² и попарную корреляцию ρ, то дисперсия ансамбля стремится к ρσ² при B → ∞:
[ ] = · 2 + ((1 − )/ ) · 2.
Бэггинг эффективно снижает дисперсионную составляющую ошибки,
однако не влияет на смещение модели [17]. Кроме того, его эффективность ограничена корреляцией между деревьями: если все базовые ученики используют одинаковые сильные признаки, усреднение не даёт существенного выигрыша.
Проблему высокой корреляции в бэггинге Брейман решил в 2001 году,
предложив алгоритм случайного леса [20]. Его ключевое отличие − случайный выбор подмножества признаков при каждом разбиении узла. Вместо поиска лучшего порога среди всех p признаков, алгоритм оценивает только m < p
случайно выбранных, что принудительно разнообразит структуру деревьев и снижает корреляцию ρ.
Алгоритм строится следующим образом:
–для b = 1, …, B генерируется бутстрап-выборка D_b;
–на каждой выборке строится дерево, в каждом узле выбирается лучшее разбиение среди m случайных признаков;
–итоговое предсказание получается усреднением или голосованием.
Теоретическая оценка ошибки случайного леса имеет вид:
≤ · (1 − ²)/ ²,
15
