Возобновите Байесовую оптимизацию
newresults = resume(results,Name,Value) возобновляет оптимизацию, которая произвела newresults = resume(results,Name,Value)results с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.
Этот пример показывает, как возобновить Байесовую оптимизацию. Оптимизация для детерминированной функции, известной как функцию Розенброка, которая является известным тестом для нелинейной оптимизации. Функция имеет глобальное минимальное значение 0 в точке [1,1].
Создайте две действительных переменные, ограниченные -5 и 5.
x1 = optimizableVariable('x1',[-5,5]); x2 = optimizableVariable('x2',[-5,5]); vars = [x1,x2];
Создайте целевую функцию.
function f = rosenbrocks(x)
f = 100*(x.x2 - x.x1^2)^2 + (1 - x.x1)^2;
fun = @rosenbrocks;
Для воспроизводимости, набор случайный seed и набор приобретение функционируют к 'expected-improvement-plus' в оптимизации.
rng default results = bayesopt(fun,vars,'Verbose',0,... 'AcquisitionFunctionName','expected-improvement-plus');


Просмотрите лучшую найденную точку и лучшую смоделированную цель.
results.XAtMinObjective results.MinEstimatedObjective
ans =
1x2 table
x1 x2
______ ______
1.2421 1.5299
ans =
-9.5402
Лучшая точка несколько близко к оптимуму, но модель функции неточна. Возобновите оптимизацию для еще 30 точек (в общей сложности 60 точек), на этот раз говоря оптимизатору, что целевая функция детерминирована.
newresults = resume(results,'IsObjectiveDeterministic',true,'MaxObjectiveEvaluations',30); newresults.XAtMinObjective newresults.MinEstimatedObjective
ans =
1x2 table
x1 x2
______ ______
1.0516 1.1007
ans =
-0.0227


Модель целевой функции намного ближе к истинной функции на этот раз. Лучшая точка ближе к истинному оптимуму.
results — Байесовы результаты оптимизацииBayesianOptimizationБайесовы результаты оптимизации, заданные как объект BayesianOptimization.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
resume(results,'MaxObjectiveEvaluations',60)Можно использовать любую пару "имя-значение", принятую bayesopt за исключением тех, которые начинают с Initial. Смотрите
Входные параметры bayesopt.
MaxObjectiveEvaluations и пары "имя-значение" MaxTime означают дополнительное время или оценки выше чисел, сохраненных в results. Так, например, количеством по умолчанию оценок является 30 в дополнение к исходной спецификации.
Кроме того, можно использовать следующую пару "имя-значение".
'VariableDescriptions' — ModifyOptimizableVariableИзмените переменную, заданную как объект OptimizableVariable.
Можно изменить только следующие свойства переменной в оптимизации.
Range действительных или целочисленных переменных. Например,
xvar = optimizableVariable('x',[-10,10]); % Modify the range: xvar.Range = [1,5];
Type между 'integer' и 'real'. Например,
xvar.Type = 'integer';Transform действительных или целочисленных переменных между 'log' и 'none'. Например,
xvar.Transform = 'log';newresults — Результаты оптимизацииBayesianOptimizationРезультаты оптимизации, возвращенные как объект BayesianOptimization.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.