How bayesopt find kernel parameters
Show older comments
Hello all,
I know that bayesopt uses fitrgp to create gaussian process in each iteration. But how bayesopt find the optimize kernel parameters of the Gaussian process regression in each step? Does it optimize kernel parameters at all? If not, what are the kernel paramters being used in each iteration?
I want to know the default configurations of bayesopt for the items above, I was not able to find my answer in the documentation.
Thank you in advance
Answers (1)
Mohith Kulkarni
on 25 Sep 2020
Edited: Mohith Kulkarni
on 25 Sep 2020
By default the optimize parameter is set to 0 for the fitrgp KernelFunction and KernelScale hyperparmeters. Refer to the below code to change the parameter:
params = hyperparameters('fitrgp',X,y);
params(3).Optimize = true; %set KernelFunction optimize to true
params(4).Optimize = true; %set KernelScale optimize to true
In case of "fitrgp" fit function, check Hyperparameter Optimization section of fitrgp arguments for more information. You can check the default Kernel Function and Kernel Parameters of fitrgp fit function here:
you can then use the fit function in the objective function.
For more information on performing Bayesian Optimization using bayesopt refer to:
4 Comments
Mohith Kulkarni
on 30 Sep 2020
Regarding the second question, yes it does change. In each iteration, fitrgp is called with the default initial values for its own hyperparameters (covariance and the kernel parameters), and it's fitted from scratch every iteration. To avoid getting stuck with potentially poor parameters, BayesOpt does not start from the fitted values from the previous iteration.
Aep
on 2 Oct 2020
Mahdi Nobar
on 4 Dec 2021
Edited: Mahdi Nobar
on 4 Dec 2021
Categories
Find more on Model Building and Assessment in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!