Байесовская оптимизация - это стратегия последовательного проектирования для глобальной оптимизации функций черного ящика, которая не предполагает никаких функциональных формы. Обычно он используется для оптимизации дорогих в оценке функций.
Этот термин обычно приписывается Йонасу Моксу и введен в его работу из серии публикаций по глобальной оптимизации 1970-х и 1980-х годов.
Поскольку целевая функция неизвестна, байесовская стратегия состоит в том, чтобы рассматривать ее как случайную функцию и помещать перед ней предшествующий. Априор фиксирует представления о поведении функции. После сбора оценок функции, которые обрабатываются как данные, априорное значение обновляется для формирования апостериорного распределения по целевой функции. Апостериорное распределение, в свою очередь, используется для построения функции сбора данных (часто также называемой критерием выборки заполнения), которая определяет следующую точку запроса.
Существует несколько методов, используемых для определения априорного / апостериорного распределения по целевой функции. Два наиболее распространенных метода используют гауссовские процессы в методе, называемом кригинг. Другой менее затратный метод использует оценщик дерева Парзена для построения двух распределений для «высокой» и «низкой» точек, а затем находит место, которое максимизирует ожидаемое улучшение.
Примеры Функции сбора данных включают вероятность улучшения, ожидаемое улучшение, байесовские ожидаемые потери, верхние доверительные границы (UCB), выборку Томпсона и их гибриды. Все они предлагают компромисс между исследованием и эксплуатацией, чтобы минимизировать количество запросов к функциям. Таким образом, байесовская оптимизация хорошо подходит для дорогостоящих функций.
Максимум функции сбора данных обычно достигается путем дискретизации или с помощью вспомогательного оптимизатора. Функции сбора данных обычно хорошо работают и часто максимизируются с помощью реализаций метода Ньютона, таких как алгоритм Бройдена – Флетчера – Голдфарба – Шанно или метод Нелдера-Мида.
Этот подход был применен для решения широкого круга задач, включая обучение ранжированию, компьютерную графику и визуальный дизайн, робототехнику, сенсорные сети, автоматическая настройка алгоритмов, автоматические машинное обучение наборы инструментов, обучение с подкреплением, планирование, визуальное внимание, конфигурация архитектуры в глубоком обучении, статический анализ программ и экспериментальные физика элементарных частиц.