Description Usage Arguments Value Author(s) References See Also Examples
Implements Wolfe Line Search algorithm. The code is inspired from Matlab code of Do and Artiere, but not tested. The function is not used yet, but might be used later to speed up bmrm/nrbm convergence.
1 2 | wolfe.linesearch(f, x0, s0, ..., a1 = 0.5, amax = 1.1, c1 = 1e-04,
c2 = 0.9, maxiter = 5L, f.adjust = identity)
|
f |
a function to minimize. It must accept as first argument a numeric vector representing the optimization point and return a numeric value, with gradient attribute setted |
x0 |
initial search point |
s0 |
direction of the search from x0 |
... |
additional parameters passed to f() |
a1 |
first step coefficient guess |
amax |
max coefficient value |
c1 |
lower bound |
c2 |
upper bound |
maxiter |
maximum number of iteration for this linesearch |
f.adjust |
an adjustment method to adjust lvalue and gradient of f |
the optimal point
Julien Prados
Do and Artieres Regularized Bundle Methods for Convex and Non-Convex Risks JMLR 2012
1 2 3 4 5 6 7 | fun <- function(w) {
gradient(w) <- w
lvalue(w) <- 0.5*sum(w*w)
w
}
wolfe.linesearch(fun,fun(c(5,5)),c(-1,-1))
wolfe.linesearch(fun,fun(c(5,5)),c(1,1))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.