Repeatedly querying the same point?

61 views
Skip to first unread message

jmar...@gmail.com

unread,
Oct 19, 2017, 1:29:19 PM10/19/17
to BayesOpt discussion
Hello all,

I am trying BayesOpt for the optimization of an 8-parameter black-box function. With the following parameters, the algorithm is able to get quite close to the global minimum:

    par.n_init_samples = 21;
    par.random_seed = 0;
    par.noise = 1e-10;
    par.n_iterations = 500;
    par.crit_name = "cEI";

However, I notice in the output that it seems to be wasting a lot of time by querying the same point over and over again.

e.g.,

"
- 12:43:14.136052 INFO: Iteration: 486 of 500 | Total samples: 507
- 12:43:14.136080 INFO: Query: [8](-0.2,0.05,0.3,0.225,1.7,1,1,0)
- 12:43:14.136093 INFO: Query outcome: -2.39551e+09
- 12:43:14.136097 INFO: Best query: [8](-0.197322,0.0512147,0.314157,0.246318,1.70051,0.996727,0.999424,0.0189072)
- 12:43:14.136102 INFO: Best outcome: -6.35458e+09
...
- 12:43:41.222761 DEBUG: Stuck for 1 steps
- 12:43:41.223480 INFO: Iteration: 487 of 500 | Total samples: 508
- 12:43:41.223485 INFO: Query: [8](-0.2,0.05,0.3,0.225,1.7,1,1,0)
- 12:43:41.223497 INFO: Query outcome: -2.39551e+09
- 12:43:41.223501 INFO: Best query: [8](-0.197322,0.0512147,0.314157,0.246318,1.70051,0.996727,0.999424,0.0189072)
- 12:43:41.223507 INFO: Best outcome: -6.35458e+09
...
- 12:44:08.061151 DEBUG: Stuck for 2 steps
- 12:44:08.061891 INFO: Iteration: 488 of 500 | Total samples: 509
- 12:44:08.061899 INFO: Query: [8](-0.2,0.05,0.3,0.225,1.7,1,1,0)
- 12:44:08.061912 INFO: Query outcome: -2.39551e+09
- 12:44:08.061916 INFO: Best query: [8](-0.197322,0.0512147,0.314157,0.246318,1.70051,0.996727,0.999424,0.0189072)
- 12:44:08.061922 INFO: Best outcome: -6.35458e+09
...
- 12:44:39.563089 INFO: Iteration: 489 of 500 | Total samples: 510
- 12:44:39.563128 INFO: Query: [8](-0.197379,0.0512553,0.314069,0.24636,1.70035,0.996753,0.999274,0.0189579)
- 12:44:39.563142 INFO: Query outcome: -6.34777e+09

"
Out of the 500 iterations I am running, it queries (-0.2,0.05,0.3,0.225,1.7,1,1,0) more than 150 times. Wondering if there is a parameter than can help with this?

Ruben Martinez-Cantin

unread,
Oct 19, 2017, 1:34:31 PM10/19/17
to BayesOpt discussion
Yes, "force_jump" is designed for that exactly. You can reduce it to 5
for example. Also, you can try to increase "epsilon" to 0.05 or 0.1

https://rmcantin.bitbucket.io/html/usemanual.html#critpar

Ruben
> --
> 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.

jmar...@gmail.com

unread,
Oct 20, 2017, 11:03:13 AM10/20/17
to BayesOpt discussion
I did see the force_jump parameter in the documentation, but I saw that it "sets the number of iterations with no gain before doing a random jump". I don't exactly want to do a random jump. I just want to get out of the local minima that it keeps evaluating, and instead sample at a different spot in an informed matter. For example, in the output above, the algorithm knows that the value of the target function at

(-0.197322,0.0512147,0.314157,0.246318,1.70051,0.996727,0.999424,0.0189072)

is lower than at

(-0.2,0.05,0.3,0.225,1.7,1,1,0),

 
so I don't understand why it keeps sampling the latter point.

Jordan

Ruben Martinez-Cantin

unread,
Oct 20, 2017, 4:23:29 PM10/20/17
to BayesOpt discussion
That's the way Bayesian optimization works. You just need some other
point to change the shape of the surrogate model and unstack the
optimization.

Also, with such large values, you should either normalize them, or
configure the mean and s_sigma parameters for optimal performance.

Ruben
>> > 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.
>
> --
> 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.
Reply all
Reply to author
Forward
0 new messages