Do you mean you wish to search for discrete values of these parameters inside certain ranges? Or are they continuous?
--
You received this message because you are subscribed to the Google Groups "BayesOpt discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bayesopt-discus...@googlegroups.com.
To post to this group, send email to bayesopt-...@googlegroups.com.
Visit this group at https://groups.google.com/group/bayesopt-discussion.
I never tried using Discrete Models with BayesOpt, but I think there is a discrete implementation for Bayesian Optimization in BayesOpt toolbox. There you have the possibility to choose the range of the search space for each of the variables.
Still, I don't know if in the discrete case you can specify which discrete values can be used in BO. You can check the BayesOpt documentation to find out or you can simply make a function that converts a search table for each variable into a number n=1,...,nmax.
Do you have any sample code already? If I find the time I can help you out.
--
disp('Discrete optimization');
fun = 'cdl_acc'; n = 3;
% fun is the BLACK BOX I intend to optimize my function for. Basically it means I will have some data which I feed it the algorithm and % based on the hyper-parameters set I will get some accuracy. My basic objective is to maximize the accuracy of the cdl_acc function.
% The set of points must be numDimension x numPoints.
np = 10;
xset = [];
% bound for dict_size
lb = 30; ub = 100;
set = round(repmat((ub-lb),1,np) .* rand(1,np) - repmat(lb,1,np));
xset(1,:) = set;
% bound for lambda
lb = 1e-5; ub = 100;
set = repmat((ub-lb),1,np) .* rand(1,np) - repmat(lb,1,np);
xset(2,:) = set;
% bound for lambda
lb = 1e-5; ub = 100;
set = repmat((ub-lb),1,np) .* rand(1,np) - repmat(lb,1,np);
xset(3,:) = set;
tic;
bayesoptdisc(fun, xset, params)
toc;
yset = zeros(np,1);
for i=1:np
yset(i) = feval(fun,xset(:,i));
end;
[y_min,id] = min(yset);
disp('Actual optimal');
disp(xset(:,id));
disp(y_min);
disp('Press INTRO');
pause;