SheffieldML / GPyOpt

Gaussian Process Optimization using GPy
BSD 3-Clause "New" or "Revised" License
928 stars 261 forks source link

acquisition function optimization, restart #151

Open salarsk1 opened 6 years ago

salarsk1 commented 6 years ago

Hello,

In the optimization of acquisition, in each restart for each iteration, does it use same random points or does it use new random points to find the maximum of acquisition function?

The reason I need this is I want to optimize a multidimensional function, e.g. 10d function, after a few iteration the optimum value does not change.

Thanks,

javiergonzalezh commented 6 years ago

Hi @salarsk1,

the random point are generated each time. The reason why the function does not change after a few iterations may be because you are in a local minimum and your problem requires more exploration. Have you tried with a more explorative acquisition, for instance, playing with the jitter in the EI?

salarsk1 commented 6 years ago

Hi @javiergonzalezh

Thanks for reply, yes I get the local minimum. I played with acquisition_jitter but still get the local minimum. The function that I try to minimize is a multidimensional function (12d) from a Gaussian Process with length scale 0.3.(the domain is [0,1]^12). If I make it smoother the GPyOpt will find the minimum (for example 12 dimensional random function from a GP with length scale 0.5). But, when the function is very Wiggly it stops in a local minimum.