Main Content

predictObjectiveEvaluationTime

Predict objective function run times at a set of points

Description

time = predictObjectiveEvaluationTime(results,XTable) returns estimated objective evaluation times at the points in XTable.

example

Examples

collapse all

This example shows how to estimate the objective function evaluation time in an optimized Bayesian model of SVM classification.

Create an optimized SVM model. For details of this model, see Optimize Cross-Validated Classifier Using bayesopt.

rng default
grnpop = mvnrnd([1,0],eye(2),10);
redpop = mvnrnd([0,1],eye(2),10);
redpts = zeros(100,2);
grnpts = redpts;
for i = 1:100
    grnpts(i,:) = mvnrnd(grnpop(randi(10),:),eye(2)*0.02);
    redpts(i,:) = mvnrnd(redpop(randi(10),:),eye(2)*0.02);
end
cdata = [grnpts;redpts];
grp = ones(200,1);
grp(101:200) = -1;
c = cvpartition(200,'KFold',10);
sigma = optimizableVariable('sigma',[1e-5,1e5],'Transform','log');
box = optimizableVariable('box',[1e-5,1e5],'Transform','log');
minfn = @(z)kfoldLoss(fitcsvm(cdata,grp,'CVPartition',c,...
    'KernelFunction','rbf','BoxConstraint',z.box,...
    'KernelScale',z.sigma));
results = bayesopt(minfn,[sigma,box],'IsObjectiveDeterministic',true,...
    'AcquisitionFunctionName','expected-improvement-plus','Verbose',0);

Figure contains an axes object. The axes object with title Objective function model, xlabel sigma, ylabel box contains 5 objects of type line, surface, contour. One or more of the lines displays its values using only markers These objects represent Observed points, Model mean, Next point, Model minimum feasible.

Figure contains an axes object. The axes object with title Min objective vs. Number of function evaluations, xlabel Function evaluations, ylabel Min objective contains 2 objects of type line. These objects represent Min observed objective, Estimated min objective.

Predict the evaluation time for various points.

sigma = logspace(-5,5,11)';
box = 1e5*ones(size(sigma));
XTable = table(sigma,box);
time = predictObjectiveEvaluationTime(results,XTable);
[XTable,table(time)]
ans=11×3 table
    sigma      box      time  
    ______    _____    _______

     1e-05    1e+05     0.1498
    0.0001    1e+05    0.15347
     0.001    1e+05    0.14224
      0.01    1e+05    0.14024
       0.1    1e+05    0.14041
         1    1e+05    0.20779
        10    1e+05    0.72645
       100    1e+05    0.43172
      1000    1e+05    0.14591
     10000    1e+05    0.10253
     1e+05    1e+05    0.10841

Input Arguments

collapse all

Bayesian optimization results, specified as a BayesianOptimization object.

Prediction points, specified as a table with D columns, where D is the number of variables in the problem. The function performs its predictions on these points.

Data Types: table

Output Arguments

collapse all

Estimated objective evaluation times, returned as an N-by-1 vector, where N is the number of rows of XTable. The estimated values are the means of the posterior distribution of the Gaussian process model of the evaluation times of the objective function.

Version History

Introduced in R2016b