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 * Вероятность (ошибка) - 1.

@plotObjectiveEvaluationTimeModel

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

@plotObjectiveModel

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

Графики трассировки - Применить ко всем DОписание
@plotObjective

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

@plotObjectiveEvaluationTime

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

@plotMinObjective

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

@plotElapsedTime

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

Вы можете включать указатель в свои собственные функции построения графика. Для получения дополнительной информации см. Bayesian Optimization Plot Functions.

Пример: @plotObjective

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

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

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

См. также

|

Введенный в R2016b