liveBook · Manning

Cyclic optimization

As explained in Bayesian Optimization in Action

Cyclic optimization is an iterative optimization method that successively refines individual components or members of a candidate solution until convergence.

Cyclic optimization refines a batch of candidate points one member at a time. It suits expensive batch Bayesian optimization when directly optimizing a multi-point information objective is difficult. section 7.4.1 section 7.6

A cyclic refinement pass proceeds as follows:

  • Hold x2 through xk fixed and optimize x1 with L-BFGS. section 7.4.1
  • Move to each subsequent member, optimizing it while keeping the other batch points fixed. section 7.4.1
  • Return to x1 after processing xk and repeat complete cycles until the acquisition score no longer increases. section 7.4.1

This coordinate-like strategy replaces one difficult L-BFGS optimization over a full batch with repeated optimizations over individual points. It therefore enables batch maximum-value entropy search (MES). section 7.4.1 section 7.6

Batch hyperparameter tuning with BoTorch

Initialize batch MES with a GP model, a Sobol candidate set, search bounds, and batch size q. Replace optimize_acqf() with botorch.optim.optimize_acqf_cyclic(policy, bounds=bounds, q=batch_size, num_restarts=40, raw_samples=100). A GP model used for MES must support fantasized future observations through FantasizeMixin. section 7.4.2 section 7.4.2

Figure 7.17 Flowchart of cyclic optimization used in finding the batch that maximizes information about the maximum objective value in batch MES. The procedure is cyclic in that we sequentially refine each member of the batch in a cycle until we converge on a good acquisition score.

Use the flowchart to trace point-by-point refinement through repeated cycles until the acquisition score converges. section 7.4.1

How Bayesian Optimization in Action covers it

How deep it goes
Defines coordinate-wise cycles, individual L-BFGS updates, and acquisition-score convergence, then defers mechanics to BoTorch.
Examples
Uses batch MES for hyperparameter tuning and illustrates repeated point refinement with an artist alternating between painting regions.
What it assumes
Assumes familiarity with Bayesian optimization, acquisition scores, Gaussian-process models, L-BFGS, and batch size q.
What you can do after
Apply it via BoTorch's optimize_acqf_cyclic() helper to search for acquisition-maximizing batches.
How it connects
Connects batch Bayesian optimization with acquisition functions, maximum-value entropy search, L-BFGS, Gaussian processes, and Sobol sequences.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Bayesian Optimization in Action. The section links point to the parts of the book it draws on.