график

Постройте Байесовы результаты оптимизации

Синтаксис

plot(results,'all')
plot(results,plotFcn1,plotFcn2,...)

Описание

plot(results,'all') вызовы все предопределенные функции построения графика на results.

пример

plot(results,plotFcn1,plotFcn2,...) вызывает перечисленные функции построения графика на results.

Примеры

свернуть все

Этот пример показывает, как построить ошибочную модель и лучшую объективную трассировку после того, как оптимизация закончилась. Целевая функция для этого примера выдает ошибку для точек с нормой, больше, чем 2.

function f = makeanerror(x)
f = x.x1 - x.x2 - sqrt(4-x.x1^2-x.x2^2);

fun = @makeanerror;

Создайте переменные для оптимизации.

var1 = optimizableVariable('x1',[-5,5]);
var2 = optimizableVariable('x2',[-5,5]);
vars = [var1,var2];

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

rng default
results = bayesopt(fun,vars,'MaxObjectiveEvaluations',60,...
    'AcquisitionFunctionName','expected-improvement-plus',...
    'PlotFcn',[],'Verbose',0);

Постройте ошибочную модель и лучшую объективную трассировку.

plot(results,@plotConstraintModels,@plotMinObjective)

Входные параметры

свернуть все

Байесовы результаты оптимизации, заданные как объект BayesianOptimization.

Функция построения графика, заданная как указатель на функцию.

Существует несколько встроенных функций построения графика:

Образцовые графики — применяются когда D ≤ 2Описание
@plotAcquisitionFunction

Постройте поверхность функции приобретения.

@plotConstraintModels

Постройте каждую ограничительную поверхность модели. Отрицательные величины указывают на допустимые точки.

Также постройте P (выполнимая) поверхность.

Также постройте ошибочную модель, если она существует, который колеблется от –1 до 1. Отрицательные величины означают, что модель, вероятно, не делает ошибки, положительные значения означают, что это, вероятно, делает ошибку. Модель:

Нанесенная на график ошибка = 2*Probability (ошибка) – 1.

@plotObjectiveEvaluationTimeModel

Постройте поверхность модели времени оценки целевой функции.

@plotObjectiveModel

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

Проследите графики — применяются ко всему DОписание
@plotObjective

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

@plotObjectiveEvaluationTime

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

@plotMinObjective

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

@plotElapsedTime

График три кривые: общее прошедшее время оптимизации, общее функциональное время оценки и общее моделирование и время выбора точки, все по сравнению с количеством функциональных оценок.

Можно включать указатель на собственные функции построения графика. Для получения дополнительной информации смотрите Байесовы Функции построения графика Оптимизации.

Пример: @plotObjective

Типы данных: function_handle

Альтернативная функциональность

Можно задать функции построения графика в паре "имя-значение" PlotFcn bayesopt. Это позволяет вам контролировать прогресс оптимизации.

Смотрите также

|

Введенный в R2017b