Постройте Байесовы результаты оптимизации
В этом примере показано, как построить ошибочную модель и лучшую объективную трассировку после того, как оптимизация закончилась. Целевая функция для этого примера выдает ошибку для точек с нормой, больше, чем 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
Можно задать функции построения графика в bayesopt
PlotFcn
пара "имя-значение". Это позволяет вам контролировать прогресс оптимизации.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.