Table 1 Pseudocode for the Bayesian optimization algorithm and outline for computing the acquisition function used in the above algorithm
From: Active learning for accelerated design of layered materials
Bayesian Optimization Algorithm |
---|
1. Data set: D1:n = {xi,yi}i = 1 to n |
2. Build Gaussian process regression model: y = fn(x)~GP(m(x),k(x,x')) |
3. Bayesian optimization () { |
for t = 1 to tmax |
a. Find next xt by optimizing the acquisition function u over GP |
xt = argmaxxu(x|D1:n) |
b. Compute the value yt for this new xt |
c. Augment (xt,yt) into data set D1:n = {xi,yi} |
d. Update the Gaussian Process Regression model |
} |
Acquisition function u |
1. Find x such that Expected Improvement (\({\Bbb E}\)) is maximum |
\(X = {\it{argmax}}_{\it{x}}EI\left( x \right) = argmax_x{\Bbb E}\left( {\max \left\{ {0,f_n\left( x \right) - f^{max}} \right\}\left| {D_{1:n}} \right.} \right)\) |
where, fn(x) is a Gaussian process regression model made from D1:n and fmax is the maximum value of this function. |
2. Equations to compute Expected Improvement (𝔼) |
\(EI\left( x \right) = \left\{ {\begin{array}{*{20}{c}} {\left( {\mu \left( x \right) - f^{max}} \right)\Phi \left( Z \right) + \sigma \left( x \right)\phi \left( z \right)} & {if\,\sigma \left( x \right) > 0} \\ 0 & {0\,if\,\sigma \left( x \right) = 0} \end{array}} \right.\) |
\(Z = \frac{{\mu \left( x \right) - f^{max}}}{{\sigma (x)}}\) |
where μ(x) and σ(x) are predicted mean and standard deviation values for x by Gaussian process regression model fn(x). |
φ(Z) and Φ(Z)are probability density function (PDF) and cumulative density function (CDF) of standard normal distribution |
3. Return x |