iCub-main
Public Member Functions | List of all members
iCub::learningmachine::LSSVMLearner Class Reference

This is basic implementation of the LSSVM algorithms. More...

#include <LSSVMLearner.h>

+ Inheritance diagram for iCub::learningmachine::LSSVMLearner:

Public Member Functions

 LSSVMLearner (unsigned int dom=1, unsigned int cod=1, double c=1.0)
 Constructor. More...
 
 LSSVMLearner (const LSSVMLearner &other)
 Copy Constructor. More...
 
virtual ~LSSVMLearner ()
 Destructor. More...
 
virtual LSSVMLearneroperator= (const LSSVMLearner &other)
 Assignment operator. More...
 
virtual void feedSample (const yarp::sig::Vector &input, const yarp::sig::Vector &output)
 Provide the learning machine with an example of the desired mapping. More...
 
virtual void train ()
 Train the learning machine on the examples that have been supplied so far. More...
 
Prediction predict (const yarp::sig::Vector &input)
 Ask the learning machine to predict the output for a given input. More...
 
void reset ()
 Forget everything and start over. More...
 
LSSVMLearnerclone ()
 Asks the learning machine to return a clone of its type. More...
 
virtual std::string getInfo ()
 Asks the learning machine to return a string containing information on its operation so far. More...
 
virtual std::string getConfigHelp ()
 Asks the learning machine to return a string containing the list of configuration options that it supports. More...
 
virtual void writeBottle (yarp::os::Bottle &bot)
 
virtual void readBottle (yarp::os::Bottle &bot)
 Unserializes a machine from a bottle. More...
 
void setDomainSize (unsigned int size)
 Mutator for the domain size. More...
 
void setCoDomainSize (unsigned int size)
 Mutator for the codomain size. More...
 
virtual bool configure (yarp::os::Searchable &config)
 Change parameters. More...
 
virtual void setC (double C)
 Mutator for the regularization parameter C. More...
 
virtual double getC ()
 Accessor for the regularization parameter C. More...
 
virtual RBFKernelgetKernel ()
 Accessor for the kernel. More...
 
- Public Member Functions inherited from iCub::learningmachine::IFixedSizeLearner
 IFixedSizeLearner (unsigned int dom=1, unsigned int cod=1)
 Constructor. More...
 
unsigned int getDomainSize () const
 Returns the size (dimensionality) of the input domain. More...
 
unsigned int getCoDomainSize () const
 Returns the size (dimensionality) of the output domain (codomain). More...
 
- Public Member Functions inherited from iCub::learningmachine::IMachineLearner
 IMachineLearner ()
 Constructor. More...
 
virtual ~IMachineLearner ()
 Destructor (empty). More...
 
virtual bool open (yarp::os::Searchable &config)
 Initialize the object. More...
 
virtual bool close ()
 Shut the object down. More...
 
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. More...
 
virtual bool fromString (const std::string &str)
 Asks the learning machine to initialize from a string serialization. More...
 
std::string getName () const
 Retrieve the name of this machine learning technique. More...
 
void setName (const std::string &name)
 Set the name of this machine learning technique. More...
 

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. More...
 
virtual bool checkCoDomainSize (const yarp::sig::Vector &output)
 Checks whether the output is of the desired dimensionality. More...
 
void validateDomainSizes (const yarp::sig::Vector &input, const yarp::sig::Vector &output)
 Validates whether the input and output are of the desired dimensionality. More...
 
virtual void writeBottle (yarp::os::Bottle &bot) const
 Writes a serialization of the machine into a bottle. More...
 
- Protected Attributes inherited from iCub::learningmachine::IFixedSizeLearner
unsigned int domainSize
 The dimensionality of the input domain. More...
 
unsigned int coDomainSize
 The dimensionality of the output domain (codomain). More...
 
- Protected Attributes inherited from iCub::learningmachine::IMachineLearner
std::string name
 The name of this type of machine learner. More...
 

Detailed Description

This is basic implementation of the LSSVM algorithms.

Note that for efficiency the hyperparameters are shared among all outputs. Only the RBF kernel function is supported.

See also
iCub::contrib::IMachineLearner
iCub::contrib::IFixedSizeLearner
Author
Arjan Gijsberts

Definition at line 120 of file LSSVMLearner.h.

Constructor & Destructor Documentation

◆ LSSVMLearner() [1/2]

iCub::learningmachine::LSSVMLearner::LSSVMLearner ( unsigned int  dom = 1,
unsigned int  cod = 1,
double  c = 1.0 
)

Constructor.

Parameters
dominitial domain size
codinitial codomain size
cinitial value for regularization parameter C

Definition at line 49 of file LSSVMLearner.cpp.

◆ LSSVMLearner() [2/2]

iCub::learningmachine::LSSVMLearner::LSSVMLearner ( const LSSVMLearner other)

Copy Constructor.

Definition at line 59 of file LSSVMLearner.cpp.

◆ ~LSSVMLearner()

iCub::learningmachine::LSSVMLearner::~LSSVMLearner ( )
virtual

Destructor.

Definition at line 66 of file LSSVMLearner.cpp.

Member Function Documentation

◆ clone()

LSSVMLearner * iCub::learningmachine::LSSVMLearner::clone ( )
virtual

Asks the learning machine to return a clone of its type.

Returns
a clone of the current learner

Implements iCub::learningmachine::IMachineLearner.

Definition at line 169 of file LSSVMLearner.cpp.

◆ configure()

bool iCub::learningmachine::LSSVMLearner::configure ( yarp::os::Searchable &  config)
virtual

Change parameters.

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 256 of file LSSVMLearner.cpp.

◆ feedSample()

void iCub::learningmachine::LSSVMLearner::feedSample ( const yarp::sig::Vector &  input,
const yarp::sig::Vector &  output 
)
virtual

Provide the learning machine with an example of the desired mapping.

Parameters
inputa sample input
outputthe corresponding output

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 86 of file LSSVMLearner.cpp.

◆ getC()

virtual double iCub::learningmachine::LSSVMLearner::getC ( )
inlinevirtual

Accessor for the regularization parameter C.

Returns
the value of the parameter

Definition at line 257 of file LSSVMLearner.h.

◆ getConfigHelp()

std::string iCub::learningmachine::LSSVMLearner::getConfigHelp ( )
virtual

Asks the learning machine to return a string containing the list of configuration options that it supports.

Returns
an informative description of the configuration options

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 184 of file LSSVMLearner.cpp.

◆ getInfo()

std::string iCub::learningmachine::LSSVMLearner::getInfo ( )
virtual

Asks the learning machine to return a string containing information on its operation so far.

Returns
the information on the machine

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 173 of file LSSVMLearner.cpp.

◆ getKernel()

virtual RBFKernel* iCub::learningmachine::LSSVMLearner::getKernel ( )
inlinevirtual

Accessor for the kernel.

Returns
a pointer to the kernel

Definition at line 266 of file LSSVMLearner.h.

◆ operator=()

LSSVMLearner & iCub::learningmachine::LSSVMLearner::operator= ( const LSSVMLearner other)
virtual

Assignment operator.

Definition at line 70 of file LSSVMLearner.cpp.

◆ predict()

Prediction iCub::learningmachine::LSSVMLearner::predict ( const yarp::sig::Vector &  input)
virtual

Ask the learning machine to predict the output for a given input.

Parameters
inputthe input
Returns
the expected output

Implements iCub::learningmachine::IMachineLearner.

Definition at line 145 of file LSSVMLearner.cpp.

◆ readBottle()

void iCub::learningmachine::LSSVMLearner::readBottle ( yarp::os::Bottle &  bot)
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.

Parameters
botthe bottle

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 218 of file LSSVMLearner.cpp.

◆ reset()

void iCub::learningmachine::LSSVMLearner::reset ( )
virtual

Forget everything and start over.

Implements iCub::learningmachine::IMachineLearner.

Definition at line 161 of file LSSVMLearner.cpp.

◆ setC()

virtual void iCub::learningmachine::LSSVMLearner::setC ( double  C)
inlinevirtual

Mutator for the regularization parameter C.

Parameters
Cthe new value

Definition at line 248 of file LSSVMLearner.h.

◆ setCoDomainSize()

void iCub::learningmachine::LSSVMLearner::setCoDomainSize ( unsigned int  size)
virtual

Mutator for the codomain size.

Parameters
sizethe desired codomain size

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 251 of file LSSVMLearner.cpp.

◆ setDomainSize()

void iCub::learningmachine::LSSVMLearner::setDomainSize ( unsigned int  size)
virtual

Mutator for the domain size.

Parameters
sizethe desired domain size

Reimplemented from iCub::learningmachine::IFixedSizeLearner.

Definition at line 247 of file LSSVMLearner.cpp.

◆ train()

void iCub::learningmachine::LSSVMLearner::train ( )
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 94 of file LSSVMLearner.cpp.

◆ writeBottle()

void iCub::learningmachine::LSSVMLearner::writeBottle ( yarp::os::Bottle &  bot)
virtual

Definition at line 193 of file LSSVMLearner.cpp.


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