These functions can be used to score candidate tuning parameter combinations as a function of their predicted mean and variation.

## Usage

```
prob_improve(trade_off = 0, eps = .Machine$double.eps)
exp_improve(trade_off = 0, eps = .Machine$double.eps)
conf_bound(kappa = 0.1)
```

## Arguments

- trade_off
A number or function that describes the trade-off between exploitation and exploration. Smaller values favor exploitation.

- eps
A small constant to avoid division by zero.

- kappa
A positive number (or function) that corresponds to the multiplier of the standard deviation in a confidence bound (e.g. 1.96 in normal-theory 95 percent confidence intervals). Smaller values lean more towards exploitation.

## Value

An object of class `prob_improve`

, `exp_improve`

, or `conf_bounds`

along with an extra class of `acquisition_function`

.

## Details

The acquisition functions often combine the mean and variance predictions from the Gaussian process model into an objective to be optimized.

For this documentation, we assume that the metric in question is better when
*maximized* (e.g. accuracy, the coefficient of determination, etc).

The expected improvement of a point `x`

is based on the predicted mean and
variation at that point as well as the current best value (denoted here as
`x_b`

). The vignette linked below contains the formulas for this acquisition
function. When the `trade_off`

parameter is greater than zero, the
acquisition function will down-play the effect of the *mean* prediction and
give more weight to the variation. This has the effect of searching for new
parameter combinations that are in areas that have yet to be sampled.

Note that for `exp_improve()`

and `prob_improve()`

, the `trade_off`

value is
in the units of the outcome. The functions are parameterized so that the
`trade_off`

value should always be non-negative.

The confidence bound function does not take into account the current best results in the data.

If a function is passed to `exp_improve()`

or `prob_improve()`

, the function
can have multiple arguments but only the first (the current iteration number)
is given to the function. In other words, the function argument should have
defaults for all but the first argument. See `expo_decay()`

as an example of
a function.