predictError

Предскажите ошибочное значение в наборе точек

Описание

пример

error = predictError(results,XTable) возвращается следующее среднее значение ошибки связало ограничение в точках в XTable.

[error,sigma] = predictError(results,XTable) также возвращает следующие стандартные отклонения.

Примеры

свернуть все

Этот пример показывает оптимизацию функции, которая выдает ошибку, когда точка оценки имеет норму, больше, чем 2. Ошибочная модель для целевой функции изучает это поведение.

Создайте переменные под названием x1 и x2 тот диапазон от -5 к 5.

var1 = optimizableVariable('x1',[-5,5]);
var2 = optimizableVariable('x2',[-5,5]);
vars = [var1,var2];

Следующая целевая функция выдает ошибку когда норма x = [x1,x2] превышает 2:

function f = makeanerror(x)
f = x.x1 - x.x2 - sqrt(4-x.x1^2-x.x2^2);

fun = @makeanerror;

Постройте ошибочную модель и минимальную цель, в то время как оптимизация продолжает. Оптимизируйте для 60 итераций, таким образом, ошибочная модель становится хорошо обученной. Для воспроизводимости установите случайный seed и используйте 'expected-improvement-plus' функция приобретения.

rng default
results = bayesopt(fun,vars,'Verbose',0,'MaxObjectiveEvaluations',60,...
    'AcquisitionFunctionName','expected-improvement-plus',...
    'PlotFcn',{@plotMinObjective,@plotConstraintModels});

Предскажите ошибку в точках на линии x1 = x2. Если бы ошибочная модель была совершенна, она имела бы значение -1 в каждой точке, где норма x не больше, чем 2, и значение 1 во всех других точках.

x1 = (-5:0.5:5)';
x2 = x1;
XTable = table(x1,x2);
error = predictError(results,XTable);
normx = sqrt(x1.^2 + x2.^2);
[XTable,table(normx,error)]
ans =

  21x4 table

     x1      x2      normx       error  
    ____    ____    _______    _________

      -5      -5     7.0711      0.94663
    -4.5    -4.5      6.364      0.97396
      -4      -4     5.6569      0.99125
    -3.5    -3.5     4.9497       1.0033
      -3      -3     4.2426       1.0018
    -2.5    -2.5     3.5355      0.99627
      -2      -2     2.8284       1.0043
    -1.5    -1.5     2.1213      0.89886
      -1      -1     1.4142       0.4746
    -0.5    -0.5    0.70711    0.0042389
       0       0          0     -0.16004
     0.5     0.5    0.70711    -0.012397
       1       1     1.4142      0.30187
     1.5     1.5     2.1213      0.88588
       2       2     2.8284       1.0872
     2.5     2.5     3.5355        0.997
       3       3     4.2426      0.99861
     3.5     3.5     4.9497      0.98894
       4       4     5.6569      0.98941
     4.5     4.5      6.364      0.98956
       5       5     7.0711      0.95549

Входные параметры

свернуть все

Байесовы результаты оптимизации в виде BayesianOptimization объект.

Предсказание указывает в виде таблицы со столбцами D, где D является количеством переменных в проблеме. Функция выполняет свои предсказания на этих точках.

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

Выходные аргументы

свернуть все

Среднее значение ошибки, связанной ограничение, возвратилось как N- 1 вектор, где N количество строк XTable. Среднее значение является следующим средним значением связанного ограничения ошибки в точках в XTable.

bayesopt считает вашу целевую функцию, чтобы возвратить ошибку, если она возвращает что-нибудь кроме конечного действительного скаляра. Смотрите Ошибки Целевой функции.

Стандартное отклонение ошибки, связанной ограничение, возвратилось как N- 1 вектор, где N количество строк XTable.

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

|

Введенный в R2017b