Nothing
#' Exponential decay function
#'
#' [expo_decay()] can be used to increase or decrease a function exponentially
#' over iterations. This can be used to dynamically set parameters for
#' acquisition functions as iterations of Bayesian optimization proceed.
#'
#' Note that, when used with the acquisition functions in [tune()], a wrapper
#' would be required since only the first argument would be evaluated during
#' tuning.
#'
#' @param iter An integer for the current iteration number.
#' @param start_val The number returned for the first iteration.
#' @param limit_val The number that the process converges to over iterations.
#' @param slope A coefficient for the exponent to control the rate of decay. The
#' sign of the slope controls the direction of decay.
#' @return A single numeric value.
#' @examplesIf tune:::should_run_examples()
#' library(tibble)
#' library(purrr)
#' library(ggplot2)
#' library(dplyr)
#' tibble(
#' iter = 1:40,
#' value = map_dbl(
#' 1:40,
#' expo_decay,
#' start_val = .1,
#' limit_val = 0,
#' slope = 1 / 5
#' )
#' ) %>%
#' ggplot(aes(x = iter, y = value)) +
#' geom_path()
#' @export
expo_decay <- function(iter, start_val, limit_val, slope = 1 / 5) {
# between 0:1
unscaled <- 1 - exp(-slope * (iter - 1))
(unscaled * (limit_val - start_val)) + start_val
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.