DMP_BBO library
Public Member Functions | Friends | List of all members

Meta-parameters for the Locally Weighted Projection Regression (LWPR) function approximator. More...

#include <MetaParametersLWPR.hpp>

Inheritance diagram for MetaParametersLWPR:
Inheritance graph
[legend]
Collaboration diagram for MetaParametersLWPR:
Collaboration graph
[legend]

Public Member Functions

 MetaParametersLWPR (int expected_input_dim, Eigen::VectorXd init_D=Eigen::VectorXd::Ones(1), double w_gen=0.2, double w_prune=0.8, bool update_D=true, double init_alpha=1.0, double penalty=1.0, bool diag_only=true, bool use_meta=false, double meta_rate=1.0, std::string kernel_name=std::string("Gaussian"))
 Constructor for the algorithmic meta-parameters of the LWPR function approximator. More...
 
MetaParametersLWPRclone (void) const
 Return a pointer to a deep copy of the MetaParameters object. More...
 
std::string toString (void) const
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from MetaParameters
 MetaParameters (int expected_input_dim)
 Constructor. More...
 
virtual ~MetaParameters (void)
 Virtual destructor, because this is a base class.
 
int getExpectedInputDim (void) const
 The expected dimensionality of the input data. More...
 
virtual int getExpectedOutputDim (void) const
 The expected dimensionality of the output data. More...
 

Friends

class FunctionApproximatorLWPR
 
class boost::serialization::access
 Give boost serialization access to private members. More...
 

Additional Inherited Members

- Protected Member Functions inherited from MetaParameters
 MetaParameters (void)
 Default constructor. More...
 

Detailed Description

Meta-parameters for the Locally Weighted Projection Regression (LWPR) function approximator.

Definition at line 37 of file MetaParametersLWPR.hpp.

Constructor & Destructor Documentation

MetaParametersLWPR ( int  expected_input_dim,
Eigen::VectorXd  init_D = Eigen::VectorXd::Ones(1),
double  w_gen = 0.2,
double  w_prune = 0.8,
bool  update_D = true,
double  init_alpha = 1.0,
double  penalty = 1.0,
bool  diag_only = true,
bool  use_meta = false,
double  meta_rate = 1.0,
std::string  kernel_name = std::string("Gaussian") 
)

Constructor for the algorithmic meta-parameters of the LWPR function approximator.

The meaning of these parameters is explained here: http://wcms.inf.ed.ac.uk/ipab/slmc/research/software-lwpr

Short howto:

  • Set update_D=false, diag_only=true, use_meta=false
  • Tune init_D, and then w_gen and w_prune
  • Set update_D=true, then tune init_alpha, then penalty
  • Set diag_only=false, see if it helps, if so re-tune init_alpha if necessary
  • Set use_meta=true, tune meta_rate (I never do this...)
Parameters
[in]expected_input_dimExpected dimensionality of the input data
[in]init_DRemoving/adding kernels: Width of a kernel when it is newly placed. Smaller * values mean wider kernels.
[in]w_genRemoving/adding kernels: Threshold for adding a kernel.
[in]w_pruneRemoving/adding kernels: Threshold for pruning a kernel.
[in]update_DUpdating existing kernels: whether to update kernels
[in]init_alphaUpdating existing kernels: rate at which kernels are updated
[in]penaltyUpdating existing kernels: regularization term. Higher penalty means less kernels.
[in]diag_onlyWhether to update only the diagonal of the covariance matrix of the kernel, or the full matrix.
[in]use_metaMeta-learning of kernel update rate: whether meta-learning is enabled
[in]meta_rateMeta-learning of kernel update rate: meta-learning rate
[in]kernel_nameRemoving/adding kernels: Type of kernels

Definition at line 48 of file MetaParametersLWPR.cpp.

54 :
55  MetaParameters(expected_input_dim),
56  init_D_(init_D), w_gen_(w_gen), w_prune_(w_prune),
57  update_D_(update_D), init_alpha_(init_alpha), penalty_(penalty), diag_only_(diag_only),
58  use_meta_(use_meta), meta_rate_(meta_rate), kernel_name_(kernel_name)
59 {
60  assert(init_D_.size()==expected_input_dim);
61  assert(w_gen_>0.0 && w_gen_<1.0);
62  assert(w_prune_>0.0 && w_prune_<1.0);
63  assert(w_gen_<w_prune_);
64 }
MetaParameters(void)
Default constructor.

Member Function Documentation

MetaParametersLWPR * clone ( void  ) const
virtual

Return a pointer to a deep copy of the MetaParameters object.

Returns
Pointer to a deep copy

Implements MetaParameters.

Definition at line 66 of file MetaParametersLWPR.cpp.

67 {
68  return new MetaParametersLWPR(
70  init_D_, w_gen_, w_prune_,
71  update_D_, init_alpha_, penalty_, diag_only_,
72  use_meta_, meta_rate_, kernel_name_
73  );
74 }
int getExpectedInputDim(void) const
The expected dimensionality of the input data.
MetaParametersLWPR(int expected_input_dim, Eigen::VectorXd init_D=Eigen::VectorXd::Ones(1), double w_gen=0.2, double w_prune=0.8, bool update_D=true, double init_alpha=1.0, double penalty=1.0, bool diag_only=true, bool use_meta=false, double meta_rate=1.0, std::string kernel_name=std::string("Gaussian"))
Constructor for the algorithmic meta-parameters of the LWPR function approximator.

Here is the call graph for this function:

string toString ( void  ) const
virtual

Returns a string representation of the object.

Returns
A string representation of the object.

Implements MetaParameters.

Definition at line 76 of file MetaParametersLWPR.cpp.

76  {
77  RETURN_STRING_FROM_BOOST_SERIALIZATION_XML("MetaParametersLWPR");
78 }
#define RETURN_STRING_FROM_BOOST_SERIALIZATION_XML(name)
Macro to convert the boost XML serialization of an object into a string.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Give boost serialization access to private members.

Definition at line 113 of file MetaParametersLWPR.hpp.


The documentation for this class was generated from the following files: