exponenta event banner

Байесовский алгоритм оптимизации

Схема алгоритма

Байесовский алгоритм оптимизации пытается минимизировать скалярную целевую функцию f (x) для x в ограниченной области. Функция может быть детерминированной или стохастической, что означает, что она может возвращать различные результаты при оценке в одной и той же точке x. Компоненты x могут быть непрерывными реалами, целыми числами или категориальными, что означает дискретный набор имен.

Примечание

На протяжении всего этого обсуждения D представляет количество компонентов x.

Ключевыми элементами минимизации являются:

  • Гауссова модель процесса f (x).

  • Байесовская процедура обновления для модификации модели гауссова процесса при каждой новой оценке f (x).

  • Функция сбора a (x) (основанная на модели гауссова процесса f), которую можно максимизировать для определения следующей точки x для оценки. Для получения дополнительной информации см. Типы функций сбора данных и максимизация функций сбора данных.

Схема алгоритма:

  • Оценка yi = f (xi) дляNumSeedPoints точки xi, взятые случайным образом в пределах переменных границ. NumSeedPoints является bayesopt установка. Если есть ошибки оценки, возьмите больше случайных точек, пока нет NumSeedPoints успешные оценки. Распределение вероятности каждого компонента является равномерным или логарифмическим, в зависимости от Transform значение в optimizableVariable.

Затем повторите следующие шаги:

  1. Обновите модель гауссова процесса f (x), чтобы получить апостериорное распределение по функциям Q (f 'xi, yi для i = 1,..., t). ( Внутренне,bayesopt использование fitrgp для соответствия модели гауссова процесса данным.)

  2. Найдите новую точку x, которая максимизирует функцию обнаружения a (x).

Алгоритм останавливается после достижения любого из следующих значений:

  • Фиксированное число итераций (по умолчанию 30).

  • Фиксированное время (по умолчанию время не ограничено).

  • Критерий остановки, предоставляемый в Bayesian Optimization Output Functions или Bayesian Optimization Plot Functions.

Алгоритмические различия параллельно см. в разделе Параллельный байесовский алгоритм.

Регрессия гауссова процесса для подгонки модели

Лежащая в основе вероятностная модель для целевой функции f является гауссовым процессом, предшествующим добавленному гауссову шуму в наблюдениях. Таким образом, предшествующее распределение на f (x) является Гауссовским процессом со средним μ (x; θ), и ядро ковариации функционируют k (x, x;θ). В данном случае λ является вектором параметров ядра. Для конкретной функции ядраbayesopt использует, см. раздел Функция ядра.

Более подробно обозначим набор точек X = xi с соответствующими значениями целевой функции F = fi. Совместное распределение значений F функции предшествующего уровня является многомерным нормальным с матрицей K (X, X), где Kij = k (xi, xj).

Без потери общности, предыдущее среднее дано как 0.

Кроме того, предполагается, что наблюдения добавили гауссов шум с дисперсией start2. Таким образом, предыдущее распределение имеет ковариацию K (X, X; start) + σ2I.

Подгонка модели регрессии гауссова процесса к наблюдениям состоит в нахождении значений для шумовой дисперсии start2 и параметров ядра, Этот фитинг является вычислительно интенсивным процессом, выполняемым fitrgp.

Дополнительные сведения о подгонке гауссова процесса к наблюдениям см. в разделе Регрессия гауссова процесса.

Функция ядра

Функция ядра k (x, x ; start) может значительно влиять на качество регрессии гауссова процесса.bayesopt использует ядро ARD Matérn 5/2, определенное в параметрах функции Kernel (Covariance).

Смотрите Снук, Ларошель и Адамс [3].

Типы функций сбора данных

Шесть вариантов функций приобретения доступны для bayesopt. Существует три основных типа: expected-improvement также изменен per-second или plus:

  • 'expected-improvement-per-second-plus' (по умолчанию)

  • 'expected-improvement'

  • 'expected-improvement-plus'

  • 'expected-improvement-per-second'

  • 'lower-confidence-bound'

  • 'probability-of-improvement'

Функции получения оценивают «доброту» точки x на основе задней функции распределения Q. При наличии связанных ограничений, включая ограничение ошибки (см. Ошибки целевой функции), все функции получения изменяют свою оценку «доброты» по предложению Гельбарта, Снука и Адамса [2]. Умножьте «благость» на оценку вероятности того, что ограничения будут выполнены, чтобы получить функцию обнаружения.

Ожидаемое улучшение

'expected-improvement' семейство функций сбора данных оценивает ожидаемую степень улучшения целевой функции, игнорируя значения, которые вызывают увеличение цели. Другими словами, определить

  • xbest как местоположение самого низкого заднего среднего.

  • мкQ (xbest) как наименьшее значение заднего среднего.

Затем ожидаемое улучшение

EI (x, Q) = EQ [max (0,μQ (xbest) − f (x))].

Вероятность улучшения

'probability-of-improvement' функция приобретения выполняет аналогичный, но более простой расчет, как 'expected-improvement'. В обоих случаях bayesopt сначала вычисляет xbest и мкQ (xbest). Затем для'probability-of-improvement', bayesopt вычисляет вероятность PI, что новая точка x приводит к лучшему значению целевой функции, модифицированному параметром «margin» m:

PI (x, Q) = PQ (f (x) < мкQ (xbest) − m).

bayesopt принимает m в качестве расчетного среднеквадратического отклонения шума. bayesopt оценивает эту вероятность как

PI =

где

startQ (x) = мкQ (xbest) m мкQ (x)

Здесь (·) - единичная нормальная CDF, а (Q) - заднее стандартное отклонение гауссова процесса при x.

Нижний предел достоверности

'lower-confidence-bound' функция обнаружения смотрит на кривую G двумя стандартными отклонениями ниже заднего среднего в каждой точке:

G (x) = мкQ (x) 2λ Q (x).

G (x) является 2σQ нижней доверительной огибающей модели целевой функции .bayesopt затем максимизирует негатив G:

LCB = 2startQ (x) мкQ (x).

В секунду

Иногда время оценки целевой функции может зависеть от региона. Например, многие вычисления поддерживающей векторной машины сильно различаются по времени в определенных диапазонах точек. Если да, bayesopt может получить лучшее улучшение в секунду, используя взвешивание времени в своей функции сбора данных. Взвешенные по затратам функции приобретения имеют следующую фразу: per-second в их именах.

Эти функции сбора данных работают следующим образом. Во время анализа целевой функции, bayesopt поддерживает другую байесовскую модель времени оценки объективной функции как функцию позиции x. Ожидаемое улучшение в секунду, которое использует функция сбора:

EIpS (x) = EIQ (x) мкS (x),

где мкS (x) - заднее среднее временной гауссовой модели процесса.

Плюс

Чтобы избежать локальной целевой функции минимум, функции сбора данных с plus их имена изменяют их поведение, когда они считают, что они чрезмерно эксплуатируют область. Чтобы понять чрезмерную эксплуатацию, пусть startF (x) - среднеквадратическое отклонение задней целевой функции при x. Пусть λ - заднее среднеквадратичное отклонение аддитивного шума, так что

σQ2 (x) = σF2 (x) + start2.

Определите как значение ExplorationRatio вариант, положительное число. bayesopt plus после каждой итерации вычислять, удовлетворяет ли следующая точка x

startF (x) < t,

Если это так, алгоритм объявляет, что x является чрезмерной эксплуатацией. Затем функция сбора данных изменяет свою функцию ядра, умножая ее на число итераций, как это предлагает Bull [1]. Эта модификация поднимает дисперсию startQ для точек между наблюдениями. Затем он генерирует новую точку на основе новой подгоняемой функции ядра. Если новая точка x снова чрезмерно эксплуатируется, то функция обнаружения умножается на дополнительный коэффициент, равный 10, и пытается снова. Он продолжается таким образом до пяти раз, пытаясь создать точку x, которая не является чрезмерно эксплуатируемой. Алгоритм принимает новое значение x в качестве следующей точки.

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

Максимизация функции сбора данных

Внутри, bayesopt максимизирует функцию сбора данных, используя следующие общие шаги:

  1. Для алгоритмов, начинающихся с 'expected-improvement' и для 'probability-of-improvement', bayesopt оценивает наименьшее выполнимое среднее из апостериорного распределения мкQ (xbest) путем выборки нескольких тысяч точек в пределах переменных границ, взяв несколько лучших (низкое среднее значение) возможных точек и улучшив их с помощью локального поиска, чтобы найти кажущуюся наилучшую осуществимую точку. Выполнимость означает, что точка удовлетворяет ограничениям (см. Ограничения в байесовской оптимизации).

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

Ссылки

[1] Булл, А. Д. Скорости конвергенции эффективных алгоритмов глобальной оптимизации. https://arxiv.org/abs/1101.3501v3, 2011.

[2] Гельбарт, М., Дж. Снук, Р. П. Адамс. Байесовская оптимизация с неизвестными ограничениями. https://arxiv.org/abs/1403.5607, 2014.

[3] Снук, Дж., Х. Ларошель, Р. П. Адамс. Практическая байесовская оптимизация алгоритмов машинного обучения. https://arxiv.org/abs/1206.2944, 2012.

См. также

|

Связанные темы