Байесовская оптимизация
Материал из MachineLearning.
| Строка 1: | Строка 1: | ||
| + | |||
{{well|Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 15:00, 10 июля 2026 (MSD)}} | {{well|Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 15:00, 10 июля 2026 (MSD)}} | ||
| - | '''Байесовская оптимизация''' ({Bayesian optimization}) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной [[суррогатная модель|суррогатной модели]] целевой функции и последовательном выборе точек для оценки на основе так называемой [[функция приобретения|функции приобретения]]. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования. | + | '''Байесовская оптимизация''' ({{lang-en|Bayesian optimization}}) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной [[суррогатная модель|суррогатной модели]] целевой функции и последовательном выборе точек для оценки на основе так называемой [[функция приобретения|функции приобретения]]. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования. |
== Введение == | == Введение == | ||
| Строка 17: | Строка 18: | ||
:: <tex>x^{*} = \arg\max_{x \in \mathcal{X}} f(x)</tex> | :: <tex>x^{*} = \arg\max_{x \in \mathcal{X}} f(x)</tex> | ||
| - | Без ограничения общности рассматривается задача максимизации; задача минимизации сводится к ней заменой <tex>f</tex> на <tex>-f</tex>. Функция <tex>f</tex> называется '''чёрным ящиком''' ({{black box}}), если выполнены следующие условия: | + | Без ограничения общности рассматривается задача максимизации; задача минимизации сводится к ней заменой <tex>f</tex> на <tex>-f</tex>. Функция <tex>f</tex> называется '''чёрным ящиком''' ({{lang-en|black box}}), если выполнены следующие условия: |
* аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ); | * аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ); | ||
Версия 13:00, 11 июля 2026
| | Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 15:00, 10 июля 2026 (MSD) |
Байесовская оптимизация (Шаблон:Lang-en) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной суррогатной модели целевой функции и последовательном выборе точек для оценки на основе так называемой функции приобретения. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования.
Содержание |
Введение
Многие задачи в науке об анализе данных и инженерии сводятся к оптимизации функции, вычисление значения которой сопряжено с высокими затратами: запуск дорогостоящего эксперимента, длительное обучение нейронной сети, симуляция физического процесса. В таких условиях классические методы оптимизации, требующие большого числа обращений к функции или знания её градиента, оказываются малопригодны. Байесовская оптимизация предлагает альтернативный подход: вместо того чтобы исследовать пространство параметров вслепую или по фиксированной сетке, метод на каждом шаге использует всю накопленную информацию о поведении функции, чтобы принять обоснованное решение о том, где провести следующее, потенциально самое информативное измерение.
Наибольшую известность байесовская оптимизация получила как инструмент настройки гиперпараметров моделей машинного обучения, однако область её применения существенно шире: автоматизированное проектирование экспериментов, робототехника, разработка лекарственных препаратов, оптимизация промышленных процессов и архитектур нейронных сетей. Общей чертой всех этих задач является то, что каждое обращение к целевой функции — это дорогостоящее действие, число которых должно быть минимизировано.
В основе метода лежит идея, восходящая к работам Й. Мокуса (J. Mockus) конца 1970-х годов и получившая широкое развитие с появлением алгоритма Efficient Global Optimization (EGO) в конце 1990-х. В последнее десятилетие байесовская оптимизация стала стандартным инструментом автоматического машинного обучения (AutoML) и лежит в основе многих популярных библиотек подбора гиперпараметров.
Постановка задачи
Рассматривается задача поиска глобального максимума функции , заданной на компактном множестве
:
Без ограничения общности рассматривается задача максимизации; задача минимизации сводится к ней заменой на
. Функция
называется чёрным ящиком (Шаблон:Lang-en), если выполнены следующие условия:
- аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ);
- градиент
недоступен и не может быть эффективно вычислен;
- каждое обращение к функции требует значительных затрат времени, вычислительных ресурсов или денег;
- наблюдения могут быть зашумлены:
, где
.
Задача состоит в том, чтобы найти точку, максимально близкую к , использовав как можно меньше обращений к
. Именно ограниченность бюджета оценок отличает постановку задачи байесовской оптимизации от классических задач непрерывной оптимизации, где число вычислений функции и градиента практически не ограничено.
Сравнение с сеточным и случайным поиском
Наиболее простые альтернативы байесовской оптимизации при подборе параметров — сеточный поиск (Шаблон:Lang-en) и случайный поиск (Шаблон:Lang-en). Их принципиальное отличие в том, что они не используют информацию о ранее полученных значениях функции при выборе следующей точки.
| Критерий | Сеточный поиск | Случайный поиск | Байесовская оптимизация |
|---|---|---|---|
| Использование истории наблюдений | Нет | Нет | Да, через суррогатную модель |
| Стратегия выбора точек | Фиксированная регулярная сетка | Случайная выборка из распределения | Адаптивный выбор по функции приобретения |
| Масштабируемость по размерности | Экспоненциальный рост числа узлов | Не зависит явно от размерности, но эффективность падает | Умеренная (эффективна примерно до 15–20 непрерывных переменных) |
| Учёт неравнозначности параметров | Нет | Нет (лишь статистически) | Да, за счёт обучаемых длин корреляции ядра |
| Эффективность при малом бюджете итераций | Низкая | Средняя | Высокая |
| Теоретические гарантии сходимости | Только при исчерпании сетки | Вероятностные, при бесконечном числе итераций | Доказаны для ряда стратегий (например, GP-UCB) |
| Возможность параллелизации | Тривиальная | Тривиальная | Требует специальных модификаций (batch-стратегии) |
| Сложность реализации и настройки | Низкая | Очень низкая | Средняя (выбор ядра, функции приобретения) |
Случайный поиск, как показали Бергстра и Бенжио (Bergstra, Bengio, 2012), как правило превосходит сеточный за счёт того, что не тратит ресурсы на менее значимые измерения пространства. Байесовская оптимизация идёт дальше: она направленно исследует область, руководствуясь текущими представлениями о форме функции, что даёт заметный выигрыш именно при малом бюджете вычислений.
Интуитивная идея
Представим геодезиста, который ищет самую высокую точку неизвестной, покрытой туманом местности. Единственный доступный ему инструмент — дорогостоящее бурение: в произвольной точке можно пробурить скважину и точно узнать высоту рельефа именно в этой точке, но каждое бурение стоит времени и денег, поэтому число скважин строго ограничено.
После нескольких первых, случайно расположенных скважин геодезист строит приближённую карту местности — не единственную «наиболее вероятную» поверхность, а целое семейство правдоподобных поверхностей, согласующихся с уже полученными измерениями. В точках рядом с уже пробуренными скважинами карта достаточно уверенная — рельеф там хорошо предсказывается. В удалённых, ещё не исследованных областях карта крайне неопределённа: там может скрываться как ровнина, так и высочайшая вершина.
Выбирая место следующей скважины, геодезист балансирует между двумя стратегиями. Он может бурить там, где карта предсказывает наибольшую высоту (эксплуатация уже накопленных знаний), либо там, где неопределённость максимальна и потенциально скрывается сюрприз (исследование). Именно эта комбинация — «бурить там, где, по нашим представлениям, скорее всего находится вершина, с поправкой на то, что неисследованные места могут преподнести неожиданность» — и есть суть байесовской оптимизации. Роль карты играет суррогатная модель (обычно гауссовский процесс), а роль правила выбора следующей скважины — функция приобретения.
Компоненты метода
Суррогатная модель: гауссовский процесс
Наиболее распространённой суррогатной моделью в байесовской оптимизации выступает гауссовский процесс (Gaussian Process, GP) — распределение вероятностей на пространстве функций, полностью определяемое функцией среднего и ковариационной функцией (ядром)
:
На практике часто принимают , а всю содержательную информацию о гладкости и масштабе изменчивости функции кодируют в ядре. Типичный выбор — квадратично-экспоненциальное (гауссово) ядро
или семейство ядер Матерна, обеспечивающих менее жёсткое предположение о гладкости. Параметры ядра — длина корреляции , дисперсия сигнала
и дисперсия шума
— подбираются максимизацией логарифма маргинального правдоподобия:
Ключевое свойство гауссовского процесса состоит в том, что при условии на уже полученные наблюдения апостериорное распределение значения функции в произвольной точке
вновь является гауссовским, с явно выражаемыми параметрами:
где ,
— матрица Грама с элементами
, а
. Функция
задаёт текущую наилучшую оценку значения функции, а
— меру неопределённости этой оценки, естественным образом убывающую вблизи уже исследованных точек.
Функция приобретения
Апостериорное распределение GP само по себе не указывает, куда направить следующее измерение. Эту роль играет функция приобретения — скалярная функция, вычисляемая из
и
, значение которой велико в точках, перспективных для оценки. Следующая точка выбирается как
Эта вспомогательная задача оптимизации сама по себе не является дорогостоящей (функция приобретения вычисляется аналитически из GP), поэтому её решают классическими методами — многостартовым L-BFGS, CMA-ES или плотным перебором.
Пусть — наилучшее из наблюдённых значений (инкумбент), а
и
— функция распределения и плотность стандартного нормального распределения.
Вероятность улучшения (Probability of Improvement, PI), предложенная Кушнером (Kushner, 1964):
Ожидаемое улучшение (Expected Improvement, EI), введённое Мокусом и популяризированное в алгоритме EGO (Jones, Schonlau, Welch, 1998):
где .
Верхняя доверительная граница (Upper Confidence Bound, GP-UCB), обоснованная теоретически Шринивасом с соавторами (Srinivas et al., 2010):
Во всех формулах параметр (для PI и EI) или
(для UCB) управляет соотношением исследования и эксплуатации: увеличение параметра смещает предпочтение в сторону точек с высокой неопределённостью. При зашумлённых наблюдениях в качестве инкумбента
корректнее использовать не наилучшее наблюдённое значение
, а наилучшее значение апостериорного среднего
.
| Функция | Учитывает | Склонность | Параметр | Теоретические гарантии |
|---|---|---|---|---|
| PI | Только вероятность превышения порога | Излишне «жадная», недооценивает величину улучшения | | Практически отсутствуют |
| EI | Вероятность и ожидаемую величину улучшения | Сбалансированное поведение, наиболее распространённый выбор | | Есть асимптотические результаты сходимости |
| UCB | Явный компромисс среднего и неопределённости | Легко настраиваемая, интерпретируемая агрессивность исследования | | Доказана оценка регрета (GP-UCB, Srinivas et al., 2010) |
Математическая схема
Байесовская оптимизация представляет собой последовательный процесс байесовского обновления. На шаге апостериорное распределение
, полученное по формулам предыдущего раздела, используется для выбора точки
максимизацией функции приобретения. После получения наблюдения
набор данных пополняется:
, и апостериорное распределение пересчитывается — это и есть байесовское обновление, применяемое последовательно T раз при бюджете в T измерений.
Качество стратегии принято характеризовать величиной регрета. Простой регрет после шагов:
Кумулятивный регрет:
Стратегия называется «безрегретной» (Шаблон:Lang-en), если при
, что влечёт сходимость простого регрета к нулю. Для GP-UCB Шриниваc с соавторами (2010) доказали следующий результат: если для конечного (или дискретизированного) множества
положить
то с вероятностью не менее кумулятивный регрет ограничен как
где , а
— максимальный информационный выигрыш (Шаблон:Lang-en), характеризующий сложность класса функций, порождаемого ядром GP. Для гауссова ядра
, для ядра Матерна с параметром гладкости
—
. Поскольку в обоих случаях
растёт медленнее
, оценка гарантирует сублинейный рост
и, следовательно, сходимость GP-UCB к глобальному оптимуму.
Алгоритм
Ниже приведена обобщённая псевдокодовая схема, справедливая для большинства реализаций байесовской оптимизации на основе гауссовского процесса.
Вход: чёрный ящик f, область поиска X, бюджет T,
размер начального плана n0, функция приобретения a
1. Сформировать начальный план {x_1, ..., x_n0}
(например, латинский гиперкуб или последовательность Соболя)
2. Для i = 1 .. n0: вычислить y_i = f(x_i)
3. D <- {(x_1,y_1), ..., (x_n0,y_n0)}
4. Для t = n0+1 .. T:
4.1 Обучить гауссовский процесс на D:
подобрать гиперпараметры ядра максимизацией
маргинального правдоподобия
4.2 Вычислить apostериорные mu(x), sigma^2(x) по формулам GP
4.3 x_t <- argmax_{x in X} a(x | D) // вспомогательная оптимизация
4.4 y_t <- f(x_t) // дорогостоящее обращение к оракулу
4.5 D <- D U {(x_t, y_t)}
5. Вернуть x+ = argmax_{(x_i,y_i) in D} y_i
Пример: настройка гиперпараметров градиентного бустинга для кредитного скоринга
Рассмотрим типовую задачу кредитного скоринга: построение бинарного классификатора, предсказывающего вероятность дефолта заёмщика, с использованием модели градиентного бустинга (например, XGBoost, LightGBM или CatBoost). В качестве целевой метрики обычно выступает площадь под ROC-кривой (AUC), оцениваемая по кросс-валидации. Один запуск обучения с фиксированным набором гиперпараметров и последующей k-блочной кросс-валидацией может занимать от нескольких минут до часов — это и есть «дорогой чёрный ящик» в терминах задачи.
| Гиперпараметр | Диапазон | Тип | Шкала |
|---|---|---|---|
| learning_rate (темп обучения) | [0.01; 0.3] | вещественный | логарифмическая |
| max_depth (глубина дерева) | [3; 10] | целочисленный | линейная |
| n_estimators (число деревьев) | [100; 1000] | целочисленный | линейная |
| subsample (доля объектов) | [0.5; 1.0] | вещественный | линейная |
| colsample_bytree (доля признаков) | [0.5; 1.0] | вещественный | линейная |
| min_child_weight | [1; 50] | целочисленный | линейная |
| reg_lambda (L2-регуляризация) | [1e-3; 10] | вещественный | логарифмическая |
| reg_alpha (L1-регуляризация) | [1e-3; 10] | вещественный | логарифмическая |
Целевая функция в этом случае — , где
— вектор из восьми перечисленных гиперпараметров, а оптимизация ведётся на максимум. Типичная схема запуска: начальный план из 10–15 точек по латинскому гиперкубу, далее 30–50 итераций байесовской оптимизации с GP-суррогатом (ядро Матерна 5/2) и функцией приобретения EI.
Ниже приведён иллюстративный пример типичной динамики, наблюдаемой при сравнении со случайным поиском на подобных задачах — конкретные числа условны и предназначены для демонстрации характера сходимости, а не воспроизводят результаты определённого эксперимента.
| Число обращений к f | Лучший AUC, случайный поиск | Лучший AUC, байесовская оптимизация |
|---|---|---|
| 10 | 0,780 | 0,795 |
| 25 | 0,791 | 0,804 |
| 50 | 0,798 | 0,808 |
| 100 | 0,803 | 0,809 |
| 200 | 0,807 | 0,810 |
Характерная картина: байесовская оптимизация достигает качества, сопоставимого с результатом случайного поиска при существенно большем бюджете, уже за первые несколько десятков итераций — это и есть проявление её выборочной эффективности (Шаблон:Lang-en), особенно ценной при дорогой целевой функции. Сходный вывод — превосходство байесовской оптимизации над случайным поиском при настройке гиперпараметров моделей машинного обучения — получен Снук с соавторами (Snoek, Larochelle, Adams, 2012).
Достоинства и ограничения
Достоинства:
- высокая эффективность по числу обращений к целевой функции, особенно значимая при дорогих вычислениях;
- корректная работа с зашумлёнными наблюдениями благодаря вероятностной природе модели;
- явная количественная оценка неопределённости, позволяющая осмысленно управлять балансом исследования и эксплуатации;
- отсутствие требования к дифференцируемости или явной аналитической форме целевой функции;
- возможность включения априорных знаний через выбор ядра, функции среднего или ограничений;
- хорошая применимость к экспериментальным и симуляционным задачам, где каждое измерение стоит дорого.
Ограничения:
- кубическая сложность обучения гауссовского процесса по числу наблюдений (
), что без разреженных аппроксимаций ограничивает практический бюджет итераций несколькими сотнями–тысячами;
- заметная деградация качества при высокой размерности пространства поиска (свыше примерно 15–20 непрерывных переменных без специальных приёмов);
- чувствительность к выбору ядра и способу настройки его гиперпараметров;
- последовательная по своей природе процедура, затрудняющая тривиальную параллелизацию (хотя существуют пакетные, batch-модификации);
- нетривиальная работа с дискретными, категориальными и условными (conditional) параметрами без специальных модификаций ядра или кодирования;
- вспомогательная задача максимизации функции приобретения сама может быть многоэкстремальной и требовать многостартовой оптимизации.
Варианты расширений
- Многомерная оптимизация
- При росте размерности пространства поиска стандартный GP-подход теряет эффективность. Для смягчения проблемы применяют случайные вложения меньшей размерности (метод REMBO), аддитивные модели GP, а также методы, сужающие область поиска до доверительного региона на каждой итерации (TuRBO).
- Оптимизация с ограничениями
- Если помимо целевой функции присутствуют дорогостоящие ограничения
, применяется модификация функции приобретения — например, взвешивание EI вероятностью допустимости точки, оцениваемой отдельным GP-классификатором ограничения (constrained EI).
- Многокритериальная оптимизация
- При нескольких одновременно оптимизируемых целях вместо единственной точки ищется множество Парето-оптимальных решений. Используются функции приобретения вроде ожидаемого прироста гиперобъёма (Expected Hypervolume Improvement, EHVI) или скаляризационные подходы (ParEGO).
- Мультифидельная оптимизация (BOHB)
- Когда доступны дешёвые приближённые оценки функции (например, обучение на подвыборке данных или при малом числе эпох), их можно использовать наряду с дорогими точными измерениями. Алгоритм BOHB (Falkner, Klein, Hutter, 2018) сочетает бандитскую схему распределения ресурсов Hyperband с байесовской моделью выбора конфигураций, ускоряя сходимость по сравнению с обычной GP-оптимизацией.
- Поиск архитектур нейронных сетей (NAS)
- Байесовская оптимизация применяется и для поиска архитектур нейронных сетей — здесь пространство поиска дискретно, комбинаторно велико, а оценка каждой точки (обучение сети) крайне дорога. Для работы с такими пространствами используют специальные ядра, определённые на графах архитектур (например, на основе расстояния оптимального переноса, как в NASBOT), либо комбинируют байесовскую оптимизацию с методами разделения весов и другими техниками ускорения оценки кандидатов.
Литература
- Mockus J. On Bayesian methods for seeking the extremum // Optimization Techniques IFIP Technical Conference. — 1975.
- Jones D. R., Schonlau M., Welch W. J. Efficient Global Optimization of Expensive Black-Box Functions // Journal of Global Optimization. — 1998. — Vol. 13. — P. 455–492.
- Rasmussen C. E., Williams C. K. I. Gaussian Processes for Machine Learning. — MIT Press, 2006.
- Brochu E., Cora V. M., de Freitas N. A Tutorial on Bayesian Optimization of Expensive Cost Functions, with Application to Active User Modeling and Hierarchical Reinforcement Learning. — arXiv:1012.2599, 2010.
- Srinivas N., Krause A., Kakade S., Seeger M. Gaussian Process Optimization in the Bandit Setting: No Regret and Experimental Design // Proceedings of ICML. — 2010.
- Bergstra J., Bengio Y. Random Search for Hyper-Parameter Optimization // Journal of Machine Learning Research. — 2012. — Vol. 13. — P. 281–305.
- Snoek J., Larochelle H., Adams R. P. Practical Bayesian Optimization of Machine Learning Algorithms // Advances in Neural Information Processing Systems (NeurIPS). — 2012.
- Shahriari B., Swersky K., Wang Z., Adams R. P., de Freitas N. Taking the Human Out of the Loop: A Review of Bayesian Optimization // Proceedings of the IEEE. — 2016. — Vol. 104, № 1. — P. 148–175.
- Falkner S., Klein A., Hutter F. BOHB: Robust and Efficient Hyperparameter Optimization at Scale // Proceedings of ICML. — 2018.
- Frazier P. I. A Tutorial on Bayesian Optimization. — arXiv:1807.02811, 2018.

