Байесов алгоритм оптимизации пытается минимизировать скалярную целевую функцию f (x) для x в ограниченной области. Функция может быть детерминированной или стохастической, означая, что она может возвратить различные результаты, когда оценено в той же точке x. Компоненты x могут быть непрерывными реалами, целыми числами, или категориальный, означая дискретный набор имен.
Примечание
В течение этого обсуждения D представляет количество компонентов x.
Основные элементы в минимизации:
Гауссова модель процесса f (x).
Байесова процедура обновления для изменения Гауссовой модели процесса при каждой новой оценке f (x).
a acquisition function (x) (на основе Гауссовой модели процесса f), что вы максимизируете, чтобы определить следующий вопрос x для оценки. Для получения дополнительной информации смотрите Типы Функции Приобретения и Максимизацию Функции Приобретения.
Схема алгоритма:
Оцените yi = f (xi) для NumSeedPoints
точки xi, взятый наугад в переменных границах. NumSeedPoints
isa bayesopt
установка. Если существуют ошибки оценки, берут более случайные точки, пока нет NumSeedPoints
успешные оценки. Вероятностное распределение каждого компонента является или универсальной формой или масштабируемый журналом, в зависимости от Transform
значение в optimizableVariable
.
Затем повторите следующие шаги:
Обновите Гауссову модель процесса f (x), чтобы получить апостериорное распределение по функциям Q (f |xi, yi для i = 1..., t). (Внутренне, bayesopt
использование fitrgp
соответствовать Гауссовой модели процесса к данным.)
Найдите новую точку x, который максимизирует функцию приобретения a (x).
Остановки алгоритма после достижения любого следующего:
Постоянное число итераций (значение по умолчанию 30).
Установленное время (значением по умолчанию не является никакое ограничение по времени).
Останавливающийся критерий, который вы предоставляете в Байесовых Выходных функциях Оптимизации или Байесовых Функциях построения графика Оптимизации.
Для алгоритмических различий параллельно, см. Параллельный Байесов Алгоритм.
Базовая вероятностная модель для целевой функции f является Гауссовым процессом, предшествующим с добавленным Гауссовым шумом в наблюдениях. Таким образом, предшествующее распределение на f (x) является Гауссовым процессом со средним μ (x; θ), и ядро ковариации функционируют k (x, x′; θ). Здесь, θ является вектором из параметров ядра. Для конкретной функции ядра bayesopt
использование, смотрите Функцию Ядра.
В немного большем количестве деталей обозначьте набор точек X = xi со связанными значениями целевой функции F = fi. Совместное распределение prior значений функции F многомерно нормальный, со средним μ (X) и ковариационная матрица K (X, X), где Kij = k (xi, xj).
Без потери общности предшествующее среднее значение дано как 0
.
Кроме того, наблюдения приняты, чтобы добавить Гауссов шум с отклонением σ 2. Таким образом, предшествующее распределение имеет ковариацию K (X, X; θ) + σ 2I.
Подбирать Гауссову модель регрессии процесса к наблюдениям состоит из нахождения значений для шумового отклонения σ 2 и параметры ядра θ. Этот подбор кривой является в вычислительном отношении интенсивным процессом, выполняемым fitrgp
.
Для получения дополнительной информации при подборе кривой Гауссову процессу к наблюдениям, смотрите Гауссову Регрессию Процесса.
Функция ядра k (x, x′; θ), может значительно влиять на качество Гауссовой регрессии процесса. bayesopt
использует ARD Matérn 5/2 ядро, заданное в Ядре (Ковариация) Опции Функции.
См. Snoek, Лэрочелла и Адамса [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. Когда существуют связанные ограничения, включая Ошибочное ограничение (см. Ошибки Целевой функции), все функции приобретения изменяют свою оценку “совершенства” после предложения Gelbart, Сноека и Адамса [2]. Умножьте “совершенство” на оценку вероятности, что ограничениям удовлетворяют, чтобы прибыть в функцию приобретения.
'expected-improvement'
семейство функций приобретения оценивает ожидаемый объем улучшения целевой функции, игнорируя значения, которые вызывают увеличение цели. Другими словами, задать
x лучше всего как местоположение самого низкого следующего среднего значения.
μQ (x лучше всего) как самое низкое значение следующего среднего значения.
Затем ожидаемое улучшение
'probability-of-improvement'
функция приобретения делает подобное, но более простое, вычисление как 'expected-improvement'
. В обоих случаях, bayesopt
сначала вычисляет x лучше всего и μQ (x лучше всего). Затем для 'probability-of-improvement'
, bayesopt
вычисляет вероятность PI, который новая точка x приводит к лучшему значению целевой функции, измененному “граничным” параметром m:
bayesopt
берет m в качестве предполагаемого шумового стандартного отклонения. bayesopt
оценивает эту вероятность как
где
Здесь Φ (·) модуль нормальный CDF, и σQ является следующим стандартным отклонением Гауссова процесса в x.
'lower-confidence-bound'
функция приобретения смотрит на кривую G два стандартных отклонения ниже следующего среднего значения в каждой точке:
G (x) 2σQ более низкий конверт доверия модели целевой функции. bayesopt
затем максимизирует отрицание G:
Иногда, время, чтобы выполнить целевую функцию может зависеть от области. Например, много вычислений Машины опорных векторов варьируются по синхронизации очень в определенных областях значений точек. Если так, bayesopt
может получить лучшее улучшение в секунду при помощи взвешивания времени в его функции приобретения. Взвешенные стоимостью функции приобретения имеют фразу per-second
на их имена.
Эти функции приобретения работают можно следующим образом. Во время оценок целевой функции, bayesopt
обеспечивает другую модель Bayesian времени оценки целевой функции в зависимости от положения x. Ожидаемое улучшение в секунду, которое использование функции приобретения
где μS (x) является следующим средним значением синхронизирующей Гауссовой модели процесса.
Чтобы выйти из локального минимума целевой функции, приобретение функционирует с plus
на их имена изменяют их поведение, когда они оценивают, что они - overexploiting область. Чтобы изучить сверхиспользование, позвольте σF (x) быть стандартным отклонением следующей целевой функции при x. Позвольте σ быть следующим стандартным отклонением аддитивного шума, так, чтобы
σQ 2 (x) = σF 2 (x) + σ 2.
Задайте tσ, чтобы быть значением ExplorationRatio
опция, положительное число. bayesopt
plus
функции приобретения, после каждой итерации, оценивают, удовлетворяет ли следующий вопрос x
σF (x) <tσ σ.
Если так, алгоритм объявляет, что x сверхиспользует. Затем функция приобретения изменяет свою Функцию Ядра путем умножения θ на количество итераций, как предложил Бык [1]. Эта модификация повышает отклонение σQ для точек промежуточные наблюдения. Это затем генерирует новую точку на основе новой подходящей функции ядра. Если новая точка, которую x снова сверхиспользует, функция приобретения, умножает θ на дополнительный фактор 10 и попробовала еще раз. Это продолжается таким образом до пяти раз, пытаясь сгенерировать точку x, который не сверхиспользует. Алгоритм принимает новый x как следующий вопрос.
ExplorationRatio
поэтому управляет компромиссом между исследованием новых точек для лучшего глобального решения, по сравнению с концентрацией около точек, которые были уже исследованы.
Внутренне, bayesopt
максимизирует функцию приобретения использование выполняющих общих шагов:
Для алгоритмов начиная с 'expected-improvement'
и для 'probability-of-improvement'
, bayesopt
оценивает самое маленькое выполнимое среднее значение апостериорного распределения μQ (x лучше всего) путем выборки нескольких тысяч точек в переменных границах, взятия нескольких из лучших (низкое среднее значение) допустимые точки и улучшения их использующий локальный поиск, чтобы найти очевидную лучшую допустимую точку. Выполнимый означает, что точка удовлетворяет ограничениям (см. Ограничения в Байесовой Оптимизации).
Для всех алгоритмов, bayesopt
выборки несколько тысяч точек в переменных границах, берет несколько из лучших (высокая функция приобретения) допустимые точки и улучшает их использующий локальный поиск, чтобы найти очевидную лучшую допустимую точку. Значение функции приобретения зависит от смоделированного апостериорного распределения, не выборки целевой функции, и таким образом, это может быть вычислено быстро.
[1] Бык, A. D. Уровни сходимости эффективных глобальных алгоритмов оптимизации. https://arxiv.org/abs/1101.3501v3, 2011.
[2] Gelbart, M., Дж. Сноек, Р. П. Адамс. Байесова Оптимизация с Неизвестными Ограничениями. https://arxiv.org/abs/1403.5607, 2014.
[3] Snoek, J., Х. Лэрочелл, Р. П. Адамс. Практическая Байесова Оптимизация Алгоритмов Машинного обучения. https://arxiv.org/abs/1206.2944, 2012.
BayesianOptimization
| bayesopt