class funcmin::SCG

Overview

Scaled Conjugate Gradient method. More…

#include <SCG.h>
 
class SCG {
public:
    // fields
 
    bool failedOptim;
 
    // construction
 
    SCG();
    virtual ~SCG();
 
    // methods
 
    template <typename ClassName, typename FuncName>
    void optimize(const gpr::EigenMatrix& x, const Eigen::VectorXd& x_ind, const Eigen::VectorXd& y, Eigen::VectorXd& w, FuncName func_to_min, ClassName& holder, double current_barrier_strength);
 
    void setAlgorithmSettings(const gpr::ScgOptimizationSettings& _settings);
};

Detailed Documentation

Scaled Conjugate Gradient method.

Methods

template <typename ClassName, typename FuncName>
void optimize(const gpr::EigenMatrix& x, const Eigen::VectorXd& x_ind, const Eigen::VectorXd& y, Eigen::VectorXd& w, FuncName func_to_min, ClassName& holder, double current_barrier_strength)

Optimization function. Incorporates Squared Conjugate Gradient method. See “A Scaled Conjugate Gradient Algorithm for Fast Supervised Learning”, MARTIN FODSLETTE MEILLER, 1993, Neural Networks, vol. 6, pp 525-533.

Parameters:

x

Training inputs

y

Training targets

w

Combination of all parameters of covariance functions and likelihood

func_to_min

Function pointer. Should consist of a full name of the function that will be used during the minimization process (e.g. ClassName::FunctionName)

holder

Object of the class that owns the function func_to_min

void setAlgorithmSettings(const gpr::ScgOptimizationSettings& _settings)

Set parameters of the optimization algorithm.