Байесовская оптимизация

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 15:00, 10 июля 2026 (MSD)}} '''...)
Строка 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)}}
-
'''Байесовская оптимизация''' ({{lang-en|Bayesian optimization}}) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной [[суррогатная модель|суррогатной модели]] целевой функции и последовательном выборе точек для оценки на основе так называемой [[функция приобретения|функции приобретения]]. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования.
+
'''Байесовская оптимизация''' ({{Bayesian optimization}}) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной [[суррогатная модель|суррогатной модели]] целевой функции и последовательном выборе точек для оценки на основе так называемой [[функция приобретения|функции приобретения]]. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования.
== Введение ==
== Введение ==
Строка 18: Строка 17:
:: <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> называется '''чёрным ящиком''' ({{lang-en|black box}}), если выполнены следующие условия:
+
Без ограничения общности рассматривается задача максимизации; задача минимизации сводится к ней заменой <tex>f</tex> на <tex>-f</tex>. Функция <tex>f</tex> называется '''чёрным ящиком''' ({{black box}}), если выполнены следующие условия:
* аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ);
* аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ);

Версия 12:59, 11 июля 2026

Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 15:00, 10 июля 2026 (MSD)


Байесовская оптимизация (Шаблон:Bayesian optimization) — метод глобальной оптимизации чёрных ящиков, основанный на построении вероятностной суррогатной модели целевой функции и последовательном выборе точек для оценки на основе так называемой функции приобретения. Метод предназначен для задач, в которых целевая функция дорого стоит вычислительно или ресурсно, не имеет аналитического выражения и недоступна для дифференцирования.

Содержание

Введение

Многие задачи в науке об анализе данных и инженерии сводятся к оптимизации функции, вычисление значения которой сопряжено с высокими затратами: запуск дорогостоящего эксперимента, длительное обучение нейронной сети, симуляция физического процесса. В таких условиях классические методы оптимизации, требующие большого числа обращений к функции или знания её градиента, оказываются малопригодны. Байесовская оптимизация предлагает альтернативный подход: вместо того чтобы исследовать пространство параметров вслепую или по фиксированной сетке, метод на каждом шаге использует всю накопленную информацию о поведении функции, чтобы принять обоснованное решение о том, где провести следующее, потенциально самое информативное измерение.

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

В основе метода лежит идея, восходящая к работам Й. Мокуса (J. Mockus) конца 1970-х годов и получившая широкое развитие с появлением алгоритма Efficient Global Optimization (EGO) в конце 1990-х. В последнее десятилетие байесовская оптимизация стала стандартным инструментом автоматического машинного обучения (AutoML) и лежит в основе многих популярных библиотек подбора гиперпараметров.

Постановка задачи

Рассматривается задача поиска глобального максимума функции f, заданной на компактном множестве \mathcal{X} \subseteq \mathbb{R}^d:

x^{*} = \arg\max_{x \in \mathcal{X}} f(x)

Без ограничения общности рассматривается задача максимизации; задача минимизации сводится к ней заменой f на -f. Функция f называется чёрным ящиком (Шаблон:Black box), если выполнены следующие условия:

  • аналитическое выражение функции неизвестно, доступны только её значения в запрашиваемых точках («оракульный» доступ);
  • градиент \nabla f недоступен и не может быть эффективно вычислен;
  • каждое обращение к функции требует значительных затрат времени, вычислительных ресурсов или денег;
  • наблюдения могут быть зашумлены: y_i = f(x_i) + \varepsilon_i, где \varepsilon_i \sim \mathcal{N}(0,\sigma_n^2).

Задача состоит в том, чтобы найти точку, максимально близкую к x^*, использовав как можно меньше обращений к f. Именно ограниченность бюджета оценок отличает постановку задачи байесовской оптимизации от классических задач непрерывной оптимизации, где число вычислений функции и градиента практически не ограничено.

Сравнение с сеточным и случайным поиском

Наиболее простые альтернативы байесовской оптимизации при подборе параметров — сеточный поиск (Шаблон:Lang-en) и случайный поиск (Шаблон:Lang-en). Их принципиальное отличие в том, что они не используют информацию о ранее полученных значениях функции при выборе следующей точки.

Критерий Сеточный поиск Случайный поиск Байесовская оптимизация
Использование истории наблюдений Нет Нет Да, через суррогатную модель
Стратегия выбора точек Фиксированная регулярная сетка Случайная выборка из распределения Адаптивный выбор по функции приобретения
Масштабируемость по размерности Экспоненциальный рост числа узлов Не зависит явно от размерности, но эффективность падает Умеренная (эффективна примерно до 15–20 непрерывных переменных)
Учёт неравнозначности параметров Нет Нет (лишь статистически) Да, за счёт обучаемых длин корреляции ядра
Эффективность при малом бюджете итераций Низкая Средняя Высокая
Теоретические гарантии сходимости Только при исчерпании сетки Вероятностные, при бесконечном числе итераций Доказаны для ряда стратегий (например, GP-UCB)
Возможность параллелизации Тривиальная Тривиальная Требует специальных модификаций (batch-стратегии)
Сложность реализации и настройки Низкая Очень низкая Средняя (выбор ядра, функции приобретения)

Случайный поиск, как показали Бергстра и Бенжио (Bergstra, Bengio, 2012), как правило превосходит сеточный за счёт того, что не тратит ресурсы на менее значимые измерения пространства. Байесовская оптимизация идёт дальше: она направленно исследует область, руководствуясь текущими представлениями о форме функции, что даёт заметный выигрыш именно при малом бюджете вычислений.

Интуитивная идея

Представим геодезиста, который ищет самую высокую точку неизвестной, покрытой туманом местности. Единственный доступный ему инструмент — дорогостоящее бурение: в произвольной точке можно пробурить скважину и точно узнать высоту рельефа именно в этой точке, но каждое бурение стоит времени и денег, поэтому число скважин строго ограничено.

После нескольких первых, случайно расположенных скважин геодезист строит приближённую карту местности — не единственную «наиболее вероятную» поверхность, а целое семейство правдоподобных поверхностей, согласующихся с уже полученными измерениями. В точках рядом с уже пробуренными скважинами карта достаточно уверенная — рельеф там хорошо предсказывается. В удалённых, ещё не исследованных областях карта крайне неопределённа: там может скрываться как ровнина, так и высочайшая вершина.

Выбирая место следующей скважины, геодезист балансирует между двумя стратегиями. Он может бурить там, где карта предсказывает наибольшую высоту (эксплуатация уже накопленных знаний), либо там, где неопределённость максимальна и потенциально скрывается сюрприз (исследование). Именно эта комбинация — «бурить там, где, по нашим представлениям, скорее всего находится вершина, с поправкой на то, что неисследованные места могут преподнести неожиданность» — и есть суть байесовской оптимизации. Роль карты играет суррогатная модель (обычно гауссовский процесс), а роль правила выбора следующей скважины — функция приобретения.

Компоненты метода

Суррогатная модель: гауссовский процесс

Наиболее распространённой суррогатной моделью в байесовской оптимизации выступает гауссовский процесс (Gaussian Process, GP) — распределение вероятностей на пространстве функций, полностью определяемое функцией среднего m(x) и ковариационной функцией (ядром) k(x,x'):

f(x) \sim \mathcal{GP}\big(m(x),\, k(x,x')\big)

На практике часто принимают m(x)=0, а всю содержательную информацию о гладкости и масштабе изменчивости функции кодируют в ядре. Типичный выбор — квадратично-экспоненциальное (гауссово) ядро

k(x,x') = \sigma_f^2 \exp\!\left(-\frac{\|x-x'\|^2}{2\ell^2}\right)

или семейство ядер Матерна, обеспечивающих менее жёсткое предположение о гладкости. Параметры ядра — длина корреляции \ell, дисперсия сигнала \sigma_f^2 и дисперсия шума \sigma_n^2 — подбираются максимизацией логарифма маргинального правдоподобия:

\log p(\mathbf{y}\mid X) = -\frac{1}{2}\mathbf{y}^\top (K+\sigma_n^2 I)^{-1}\mathbf{y} - \frac{1}{2}\log\left|K+\sigma_n^2 I\right| - \frac{t}{2}\log 2\pi

Ключевое свойство гауссовского процесса состоит в том, что при условии на уже полученные наблюдения \mathcal{D}_t=\{(x_i,y_i)\}_{i=1}^{t} апостериорное распределение значения функции в произвольной точке x вновь является гауссовским, с явно выражаемыми параметрами:

\mu_t(x) = \mathbf{k}_t(x)^\top \big(K_t + \sigma_n^2 I\big)^{-1} \mathbf{y}_{1:t}
\sigma_t^2(x) = k(x,x) - \mathbf{k}_t(x)^\top \big(K_t + \sigma_n^2 I\big)^{-1} \mathbf{k}_t(x)

где \mathbf{k}_t(x) = \big[k(x,x_1),\dots,k(x,x_t)\big]^\top, K_t — матрица Грама с элементами [K_t]_{ij}=k(x_i,x_j), а \mathbf{y}_{1:t}=[y_1,\dots,y_t]^\top. Функция \mu_t(x) задаёт текущую наилучшую оценку значения функции, а \sigma_t^2(x) — меру неопределённости этой оценки, естественным образом убывающую вблизи уже исследованных точек.

Функция приобретения

Апостериорное распределение GP само по себе не указывает, куда направить следующее измерение. Эту роль играет функция приобретения a(x) — скалярная функция, вычисляемая из \mu_t(x) и \sigma_t(x), значение которой велико в точках, перспективных для оценки. Следующая точка выбирается как

x_{t+1} = \arg\max_{x \in \mathcal{X}} a(x \mid \mathcal{D}_t)

Эта вспомогательная задача оптимизации сама по себе не является дорогостоящей (функция приобретения вычисляется аналитически из GP), поэтому её решают классическими методами — многостартовым L-BFGS, CMA-ES или плотным перебором.

Пусть f^{+}=\max_i y_i — наилучшее из наблюдённых значений (инкумбент), а \Phi и \phi — функция распределения и плотность стандартного нормального распределения.

Вероятность улучшения (Probability of Improvement, PI), предложенная Кушнером (Kushner, 1964):

\mathrm{PI}(x) = \Phi\!\left(\frac{\mu_t(x) - f^{+} - \xi}{\sigma_t(x)}\right)

Ожидаемое улучшение (Expected Improvement, EI), введённое Мокусом и популяризированное в алгоритме EGO (Jones, Schonlau, Welch, 1998):

\mathrm{EI}(x) = \begin{cases} \big(\mu_t(x)-f^{+}-\xi\big)\,\Phi(z) + \sigma_t(x)\,\phi(z), & \sigma_t(x)>0 \\ 0, & \sigma_t(x)=0 \end{cases}

где z = \dfrac{\mu_t(x)-f^{+}-\xi}{\sigma_t(x)}.

Верхняя доверительная граница (Upper Confidence Bound, GP-UCB), обоснованная теоретически Шринивасом с соавторами (Srinivas et al., 2010):

\mathrm{UCB}(x) = \mu_t(x) + \sqrt{\beta_t}\,\sigma_t(x)

Во всех формулах параметр \xi \geqslant 0 (для PI и EI) или \beta_t (для UCB) управляет соотношением исследования и эксплуатации: увеличение параметра смещает предпочтение в сторону точек с высокой неопределённостью. При зашумлённых наблюдениях в качестве инкумбента f^{+} корректнее использовать не наилучшее наблюдённое значение y_i, а наилучшее значение апостериорного среднего \mu_t(x_i).

Функция Учитывает Склонность Параметр Теоретические гарантии
PI Только вероятность превышения порога Излишне «жадная», недооценивает величину улучшения \xi Практически отсутствуют
EI Вероятность и ожидаемую величину улучшения Сбалансированное поведение, наиболее распространённый выбор \xi Есть асимптотические результаты сходимости
UCB Явный компромисс среднего и неопределённости Легко настраиваемая, интерпретируемая агрессивность исследования \beta_t Доказана оценка регрета (GP-UCB, Srinivas et al., 2010)

Математическая схема

Байесовская оптимизация представляет собой последовательный процесс байесовского обновления. На шаге t апостериорное распределение p(f\mid \mathcal{D}_{t-1}), полученное по формулам предыдущего раздела, используется для выбора точки x_t максимизацией функции приобретения. После получения наблюдения y_t=f(x_t)+\varepsilon_t набор данных пополняется: \mathcal{D}_t = \mathcal{D}_{t-1}\cup\{(x_t,y_t)\}, и апостериорное распределение пересчитывается — это и есть байесовское обновление, применяемое последовательно T раз при бюджете в T измерений.

Качество стратегии принято характеризовать величиной регрета. Простой регрет после T шагов:

r_T = f(x^{*}) - \max_{t\leqslant T} f(x_t)

Кумулятивный регрет:

R_T = \sum_{t=1}^{T} \big[f(x^{*}) - f(x_t)\big]

Стратегия называется «безрегретной» (Шаблон:Lang-en), если R_T/T \to 0 при T\to\infty, что влечёт сходимость простого регрета к нулю. Для GP-UCB Шриниваc с соавторами (2010) доказали следующий результат: если для конечного (или дискретизированного) множества \mathcal{X} положить

\beta_t = 2\log\!\left(\frac{|\mathcal{X}|\,t^2\pi^2}{6\delta}\right)

то с вероятностью не менее 1-\delta кумулятивный регрет ограничен как

R_T \leqslant \sqrt{C_1\, T\, \beta_T\, \gamma_T}

где C_1 = 8/\log(1+\sigma_n^{-2}), а \gamma_T — максимальный информационный выигрыш (Шаблон:Lang-en), характеризующий сложность класса функций, порождаемого ядром GP. Для гауссова ядра \gamma_T = O\big((\log T)^{d+1}\big), для ядра Матерна с параметром гладкости \nu\gamma_T = O\big(T^{\frac{d(d+1)}{2\nu+d(d+1)}}\log T\big). Поскольку в обоих случаях \gamma_T растёт медленнее T, оценка гарантирует сублинейный рост R_T и, следовательно, сходимость 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] вещественный логарифмическая

Целевая функция в этом случае — f(\theta) = \mathrm{AUC}_{\mathrm{CV}}(\theta), где \theta — вектор из восьми перечисленных гиперпараметров, а оптимизация ведётся на максимум. Типичная схема запуска: начальный план из 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).

Достоинства и ограничения

Достоинства:

  • высокая эффективность по числу обращений к целевой функции, особенно значимая при дорогих вычислениях;
  • корректная работа с зашумлёнными наблюдениями благодаря вероятностной природе модели;
  • явная количественная оценка неопределённости, позволяющая осмысленно управлять балансом исследования и эксплуатации;
  • отсутствие требования к дифференцируемости или явной аналитической форме целевой функции;
  • возможность включения априорных знаний через выбор ядра, функции среднего или ограничений;
  • хорошая применимость к экспериментальным и симуляционным задачам, где каждое измерение стоит дорого.

Ограничения:

  • кубическая сложность обучения гауссовского процесса по числу наблюдений (O(t^3)), что без разреженных аппроксимаций ограничивает практический бюджет итераций несколькими сотнями–тысячами;
  • заметная деградация качества при высокой размерности пространства поиска (свыше примерно 15–20 непрерывных переменных без специальных приёмов);
  • чувствительность к выбору ядра и способу настройки его гиперпараметров;
  • последовательная по своей природе процедура, затрудняющая тривиальную параллелизацию (хотя существуют пакетные, batch-модификации);
  • нетривиальная работа с дискретными, категориальными и условными (conditional) параметрами без специальных модификаций ядра или кодирования;
  • вспомогательная задача максимизации функции приобретения сама может быть многоэкстремальной и требовать многостартовой оптимизации.

Варианты расширений

Многомерная оптимизация
При росте размерности пространства поиска стандартный GP-подход теряет эффективность. Для смягчения проблемы применяют случайные вложения меньшей размерности (метод REMBO), аддитивные модели GP, а также методы, сужающие область поиска до доверительного региона на каждой итерации (TuRBO).
Оптимизация с ограничениями
Если помимо целевой функции присутствуют дорогостоящие ограничения c(x)\leqslant 0, применяется модификация функции приобретения — например, взвешивание EI вероятностью допустимости точки, оцениваемой отдельным GP-классификатором ограничения (constrained EI).
Многокритериальная оптимизация
При нескольких одновременно оптимизируемых целях вместо единственной точки ищется множество Парето-оптимальных решений. Используются функции приобретения вроде ожидаемого прироста гиперобъёма (Expected Hypervolume Improvement, EHVI) или скаляризационные подходы (ParEGO).
Мультифидельная оптимизация (BOHB)
Когда доступны дешёвые приближённые оценки функции (например, обучение на подвыборке данных или при малом числе эпох), их можно использовать наряду с дорогими точными измерениями. Алгоритм BOHB (Falkner, Klein, Hutter, 2018) сочетает бандитскую схему распределения ресурсов Hyperband с байесовской моделью выбора конфигураций, ускоряя сходимость по сравнению с обычной GP-оптимизацией.
Поиск архитектур нейронных сетей (NAS)
Байесовская оптимизация применяется и для поиска архитектур нейронных сетей — здесь пространство поиска дискретно, комбинаторно велико, а оценка каждой точки (обучение сети) крайне дорога. Для работы с такими пространствами используют специальные ядра, определённые на графах архитектур (например, на основе расстояния оптимального переноса, как в NASBOT), либо комбинируют байесовскую оптимизацию с методами разделения весов и другими техниками ускорения оценки кандидатов.

Литература

  1. Mockus J. On Bayesian methods for seeking the extremum // Optimization Techniques IFIP Technical Conference. — 1975.
  2. 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.
  3. Rasmussen C. E., Williams C. K. I. Gaussian Processes for Machine Learning. — MIT Press, 2006.
  4. 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.
  5. Srinivas N., Krause A., Kakade S., Seeger M. Gaussian Process Optimization in the Bandit Setting: No Regret and Experimental Design // Proceedings of ICML. — 2010.
  6. Bergstra J., Bengio Y. Random Search for Hyper-Parameter Optimization // Journal of Machine Learning Research. — 2012. — Vol. 13. — P. 281–305.
  7. Snoek J., Larochelle H., Adams R. P. Practical Bayesian Optimization of Machine Learning Algorithms // Advances in Neural Information Processing Systems (NeurIPS). — 2012.
  8. 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.
  9. Falkner S., Klein A., Hutter F. BOHB: Robust and Efficient Hyperparameter Optimization at Scale // Proceedings of ICML. — 2018.
  10. Frazier P. I. A Tutorial on Bayesian Optimization. — arXiv:1807.02811, 2018.
Личные инструменты