bayesopt: change the default kernel / options

11 views (last 30 days)
DanS
DanS on 6 Jul 2017
Commented: DanS on 6 Jul 2017
Hi there,
I red that the function bayesopt internally uses fitrgp, with default Matern 5/2, is there any possibility to change that default Kernel (or its parameters)? Without having to specify a GP outside of bayesopt (as opposed to http://de.mathworks.com/help/stats/bayesian-optimization-case-study.html).
Thanks.

Answers (1)

Don Mathis
Don Mathis on 6 Jul 2017
bayesopt doesn't have a way to do that from the command line, but you can do it by editing the code. The only place where fitrgp is called is on line 3609 of BayesianOptimization.m:
GP = compact(fitrgp(X, Y, varargin{:}, 'SigmaLowerBound', SigmaLowerBound));
You can pass additional arguments at the end of the argument list and they will override earlier arguments. So, for example, you could change the kernel function by changing that line to
GP = compact(fitrgp(X, Y, varargin{:}, 'SigmaLowerBound', SigmaLowerBound,...
'KernelFunction', 'squaredexponential', ...
'KernelParameters', [1,2]));

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!