Постройте Байесовы результаты оптимизации
plot(results,'all')
plot(results,plotFcn1,plotFcn2,...)
Этот пример показывает, как построить ошибочную модель и лучшую объективную трассировку после того, как оптимизация закончилась. Целевая функция для этого примера выдает ошибку для точек с нормой, больше, чем 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)
results
— Байесовы результаты оптимизацииBayesianOptimization
Байесовы результаты оптимизации, заданные как объект BayesianOptimization
.
plotFcn
— Функция plotФункция построения графика, заданная как указатель на функцию.
Существует несколько встроенных функций построения графика:
Образцовые графики — применяются когда D ≤ 2 | Описание |
---|---|
@plotAcquisitionFunction | Постройте поверхность функции приобретения. |
@plotConstraintModels | Постройте каждую ограничительную поверхность модели. Отрицательные величины указывают на допустимые точки. Также постройте P (выполнимая) поверхность. Также постройте ошибочную модель, если она существует, который колеблется от Нанесенная на график ошибка = 2*Probability (ошибка) – 1. |
@plotObjectiveEvaluationTimeModel | Постройте поверхность модели времени оценки целевой функции. |
@plotObjectiveModel | Постройте поверхность модели |
Проследите графики — применяются ко всему D | Описание |
---|---|
@plotObjective | Постройте каждое наблюдаемое значение функции по сравнению с количеством функциональных оценок. |
@plotObjectiveEvaluationTime | Постройте каждое наблюдаемое функциональное время выполнения оценки по сравнению с количеством функциональных оценок. |
@plotMinObjective | Постройте минимальные наблюдаемые и предполагаемые значения функции по сравнению с количеством функциональных оценок. |
@plotElapsedTime | График три кривые: общее прошедшее время оптимизации, общее функциональное время оценки и общее моделирование и время выбора точки, все по сравнению с количеством функциональных оценок. |
Можно включать указатель на собственные функции построения графика. Для получения дополнительной информации смотрите Байесовы Функции построения графика Оптимизации.
Пример: @plotObjective
Типы данных: function_handle
Можно задать функции построения графика в
паре "имя-значение" PlotFcn
bayesopt
. Это позволяет вам контролировать прогресс оптимизации.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.