Home > brede > brede_opt_cg.m



brede_opt_cg - Rasmussen/Goutte's conjugate gradient minimization


function [x, Info] = brede_opt_cg(func, x0, varargin)


 brede_opt_cg         - Rasmussen/Goutte's conjugate gradient minimization

       function [x, Info] = brede_opt_cg(func, x0)
       Input:    func       Function handle (@function)
                 x0         Vector with parameters to be optimized

       Property: OptimType  [ {PolakRibiere} | HestenesStiefel |
                            FletcherReeves ] Optimization type.
                 Parameters Additional parameters

       Output:   x          Optimized parameters
                 Info       Structure with additional information

       Conjugate gradient algorithm for minimising a multidimensional
       function. It uses the Polak-Ribiere update by default (but
       Hestenes-Stiefel and Fletcher-Reeves are also coded) and an
       approximate line search explained in Carl Rasmussen's thesis.

       The input argument 'func' should contain a function handle
       constructed with the at-operator '@'. The function should
       return the function value and the gradient.

       This function was original coded by Cyril Goutte in Matlab
       based on Carl Edward Rasmussen's C-code and PhD-thesis.

         function [f, df] = sin2(x)
           f = sin(x);
           df = cos(x);

         function [f, df] = besseljn(x, n)
           h = abs(x) * 10^6 * eps;
           f = besselj(x, n);
           df = mean(gradient(besselj([x-h x x+h], n), h));

         brede_opt_cg(@sin2, 4)
         brede_opt_cg(@besseljn, 2.8, 'parameters', {8}, ...
            'optimtype', 'hestenesstiefel')

         Press & al. (1992) Numerical Recipes in C, pp. 420-425,
         Carl Edward Rasmussen (1996) Evaluation of Gaussian
         processes and other methods for non-linear regression, PhD
         thesis, University of Toronto, pp. 121-127.  

         Gyril Goutte (1997) Statistical learning and regularisation
         for regression, PhD thesis, Universit´┐ŻParis 6, pp. 9-11. 

       See also BREDE.

 $Id: brede_opt_cg.m,v 1.13 2008/03/12 14:34:12 fn Exp $


This function calls: This function is called by:
Generated on Fri 27-Nov-2009 18:11:22 by m2html © 2005