rasmussen: Rasmussen Line Search

Description Usage Arguments Details Value See Also Examples

View source: R/rasmussen.R

Description

Line Search Factory Function

Usage

1
rasmussen(c1 = c2/2, c2 = 0.1, int = 0.1, ext = 3, max_fn = 20)

Arguments

c1

Constant used in sufficient decrease condition. Should take a value between 0 and 1.

c2

Constant used in curvature condition. Should take a value between c1 and 1.

int

Interpolation constant. Prevents step size being too small.

ext

Extrapolation constant. Prevents step size extrapolation being too large.

max_fn

Maximum number of function evaluations allowed.

Details

Line search algorithm originally written by Carl Edward Rasmussen in his conjugate gradient routine. It consists of two main parts:

  1. Using cubic extrapolation from an initial starting guess for the step size until either the sufficient decrease condition is not met or the strong curvature condition is met.

  2. Interpolation (quadratic or cubic) between that point and the start point of the search until either a step size is found which meets the Strong Wolfe conditions or the maximum number of allowed function evaluations is reached.

The extrapolation and interpolation steps are bounded at each stage to ensure they don't represent too large or small a change to the step size.

Value

Line search function for use in the conj_grad routine.

See Also

Line search based on Matlab code by Carl Edward Rasmussen and also part of the Matlab GPML package.

Examples

1
2
3
4
5
## Not run: 
# assign to the line_search parameter in conj_grad:
 conj_grad(line_search = rasmussen(c1 = 0.05, c2 = 0.1), ...)

## End(Not run)

jlmelville/rcgmin documentation built on May 19, 2019, 12:47 p.m.