Gaussian process regression optimization

Can anyone please let me know how can I exclude some Kernel functions from being optimized in the following regression process?
In other words, I would like to only include 'matern32', 'matern52', and 'ardmatern52' in the optimization process to fit a Gaussian regression model to the data. When I use the following code lots of other unwanted kernel functions are also tested.
thisModel = fitrgp(X,Y,'ConstantSigma' ,true, 'Sigma',0.001,'BasisFunction','none',...
'OptimizeHyperparameters',{'KernelFunction','KernelScale','Standardize'}','HyperparameterOptimizationOptions',...
struct('Optimizer', 'bayesopt', 'MaxObjectiveEvaluations', 45,'AcquisitionFunctionName','expected-improvement-per-second-plus','ShowPlots', false, 'UseParallel', true));
Many thanks.

2 Commenti

Seems like there are no ways to have subset of all the Kernels available.
how about running fitrgp(s) independently with the kernels fixed? You could use Parallel option too.
I actually found a way to do this. You basically need to define the optimizableVariable separatly and then feed it to OptimizeHyperparameters.

Accedi per commentare.

Risposte (0)

Tag

Richiesto:

H R
il 4 Set 2021

Commentato:

H R
il 26 Lug 2022

Community Treasure Hunt

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

Start Hunting!

Translated by