plot

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

Описание

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

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

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

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

|

Введенный в R2017b