iCub-main
|
Standard linear Bayesian regression or, equivalently, Gaussian Process Regression with a linear covariance function. More...
#include <LinearGPRLearner.h>
Public Member Functions | |
LinearGPRLearner (unsigned int dom=1, unsigned int cod=1, double sigma=1.0) | |
Constructor. | |
LinearGPRLearner (const LinearGPRLearner &other) | |
Copy constructor. | |
virtual | ~LinearGPRLearner () |
Destructor. | |
LinearGPRLearner & | operator= (const LinearGPRLearner &other) |
Assignment operator. | |
virtual void | feedSample (const yarp::sig::Vector &input, const yarp::sig::Vector &output) |
Provide the learning machine with an example of the desired mapping. | |
virtual void | train () |
Train the learning machine on the examples that have been supplied so far. | |
virtual Prediction | predict (const yarp::sig::Vector &input) |
Ask the learning machine to predict the output for a given input. | |
void | reset () |
Forget everything and start over. | |
LinearGPRLearner * | clone () |
Asks the learning machine to return a clone of its type. | |
virtual std::string | getInfo () |
Asks the learning machine to return a string containing information on its operation so far. | |
virtual std::string | getConfigHelp () |
Asks the learning machine to return a string containing the list of configuration options that it supports. | |
virtual void | writeBottle (yarp::os::Bottle &bot) |
virtual void | readBottle (yarp::os::Bottle &bot) |
Unserializes a machine from a bottle. | |
void | setDomainSize (unsigned int size) |
Mutator for the domain size. | |
void | setCoDomainSize (unsigned int size) |
Mutator for the codomain size. | |
void | setSigma (double s) |
Sets the signal noise \sigma to a specified value. | |
double | getSigma () |
Accessor for the signal noise \sigma. | |
virtual bool | configure (yarp::os::Searchable &config) |
Change parameters. | |
Public Member Functions inherited from iCub::learningmachine::IFixedSizeLearner | |
IFixedSizeLearner (unsigned int dom=1, unsigned int cod=1) | |
Constructor. | |
unsigned int | getDomainSize () const |
Returns the size (dimensionality) of the input domain. | |
unsigned int | getCoDomainSize () const |
Returns the size (dimensionality) of the output domain (codomain). | |
Public Member Functions inherited from iCub::learningmachine::IMachineLearner | |
IMachineLearner () | |
Constructor. | |
virtual | ~IMachineLearner () |
Destructor (empty). | |
virtual bool | open (yarp::os::Searchable &config) |
Initialize the object. | |
virtual bool | close () |
Shut the object down. | |
bool | write (yarp::os::ConnectionWriter &connection) const |
bool | read (yarp::os::ConnectionReader &connection) |
virtual std::string | toString () |
Asks the learning machine to return a string serialization. | |
virtual bool | fromString (const std::string &str) |
Asks the learning machine to initialize from a string serialization. | |
std::string | getName () const |
Retrieve the name of this machine learning technique. | |
void | setName (const std::string &name) |
Set the name of this machine learning technique. | |
Additional Inherited Members | |
Protected Member Functions inherited from iCub::learningmachine::IFixedSizeLearner | |
virtual bool | checkDomainSize (const yarp::sig::Vector &input) |
Checks whether the input is of the desired dimensionality. | |
virtual bool | checkCoDomainSize (const yarp::sig::Vector &output) |
Checks whether the output is of the desired dimensionality. | |
void | validateDomainSizes (const yarp::sig::Vector &input, const yarp::sig::Vector &output) |
Validates whether the input and output are of the desired dimensionality. | |
virtual void | writeBottle (yarp::os::Bottle &bot) const |
Writes a serialization of the machine into a bottle. | |
Protected Attributes inherited from iCub::learningmachine::IFixedSizeLearner | |
unsigned int | domainSize |
The dimensionality of the input domain. | |
unsigned int | coDomainSize |
The dimensionality of the output domain (codomain). | |
Protected Attributes inherited from iCub::learningmachine::IMachineLearner | |
std::string | name |
The name of this type of machine learner. | |
Standard linear Bayesian regression or, equivalently, Gaussian Process Regression with a linear covariance function.
It uses a rank 1 update rule to incrementally update the Cholesky factor of the covariance matrix.
See: Gaussian Processes for Machine Learning. Carl Edward Rasmussen and Christopher K. I. Williams. The MIT Press, 2005.
Pattern Recognition and Machine Learning. Christopher M. Bishop. Springer-Verlag, 2006.
Definition at line 59 of file LinearGPRLearner.h.
iCub::learningmachine::LinearGPRLearner::LinearGPRLearner | ( | unsigned int | dom = 1 , |
unsigned int | cod = 1 , |
||
double | sigma = 1.0 |
||
) |
Constructor.
dom | initial domain size |
cod | initial codomain size |
sigma | initial value for signal noise \sigma |
Definition at line 41 of file LinearGPRLearner.cpp.
iCub::learningmachine::LinearGPRLearner::LinearGPRLearner | ( | const LinearGPRLearner & | other | ) |
Copy constructor.
Definition at line 52 of file LinearGPRLearner.cpp.
|
virtual |
Destructor.
Definition at line 57 of file LinearGPRLearner.cpp.
|
inlinevirtual |
Asks the learning machine to return a clone of its type.
Implements iCub::learningmachine::IMachineLearner.
Definition at line 134 of file LinearGPRLearner.h.
|
virtual |
Change parameters.
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 170 of file LinearGPRLearner.cpp.
|
virtual |
Provide the learning machine with an example of the desired mapping.
input | a sample input |
output | the corresponding output |
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 74 of file LinearGPRLearner.cpp.
|
virtual |
Asks the learning machine to return a string containing the list of configuration options that it supports.
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 127 of file LinearGPRLearner.cpp.
|
virtual |
Asks the learning machine to return a string containing information on its operation so far.
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 114 of file LinearGPRLearner.cpp.
double iCub::learningmachine::LinearGPRLearner::getSigma | ( | ) |
Accessor for the signal noise \sigma.
Definition at line 165 of file LinearGPRLearner.cpp.
LinearGPRLearner & iCub::learningmachine::LinearGPRLearner::operator= | ( | const LinearGPRLearner & | other | ) |
Assignment operator.
Definition at line 60 of file LinearGPRLearner.cpp.
|
virtual |
Ask the learning machine to predict the output for a given input.
input | the input |
Implements iCub::learningmachine::IMachineLearner.
Definition at line 93 of file LinearGPRLearner.cpp.
|
virtual |
Unserializes a machine from a bottle.
This method is internally referenced by the read method. Typically, subclasses should override this method instead of overriding the read method directly.
bot | the bottle |
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 140 of file LinearGPRLearner.cpp.
|
virtual |
Forget everything and start over.
Implements iCub::learningmachine::IMachineLearner.
Definition at line 107 of file LinearGPRLearner.cpp.
|
virtual |
Mutator for the codomain size.
size | the desired codomain size |
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 151 of file LinearGPRLearner.cpp.
|
virtual |
Mutator for the domain size.
size | the desired domain size |
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 146 of file LinearGPRLearner.cpp.
void iCub::learningmachine::LinearGPRLearner::setSigma | ( | double | s | ) |
Sets the signal noise \sigma to a specified value.
This resets the machine.
s | the desired value. |
Definition at line 156 of file LinearGPRLearner.cpp.
|
virtual |
Train the learning machine on the examples that have been supplied so far.
This method is primarily intended to be used for offline/batch learning machines. It explicitly initiates the training routine on those machines for the samples that have been collected so far.
Reimplemented from iCub::learningmachine::IFixedSizeLearner.
Definition at line 89 of file LinearGPRLearner.cpp.
|
virtual |
Definition at line 134 of file LinearGPRLearner.cpp.