SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions
CLossFunction Class Reference

Detailed Description

Class CLossFunction is the base class of all loss functions.

The class provides the loss for one example, first and second derivates of the loss function, (used very commonly) the square of the gradient and the importance-aware weight update for the function. (used mainly for VW)

Refer: Online Importance Weight Aware Updates, Nikos Karampatziakis, John Langford http://arxiv.org/abs/1011.1576

Definition at line 52 of file LossFunction.h.

Inheritance diagram for CLossFunction:
Inheritance graph
[legend]

Public Member Functions

 CLossFunction ()
virtual ~CLossFunction ()
virtual float64_t loss (float64_t prediction, float64_t label)=0
virtual float64_t first_derivative (float64_t prediction, float64_t label)=0
virtual float64_t second_derivative (float64_t prediction, float64_t label)=0
virtual float64_t get_update (float64_t prediction, float64_t label, float64_t eta_t, float64_t norm)=0
virtual float64_t get_square_grad (float64_t prediction, float64_t label)=0
virtual ELossType get_loss_type ()=0
virtual const char * get_name () const
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Protected Member Functions inherited from CSGObject
virtual void load_serializable_pre () throw (ShogunException)
virtual void load_serializable_post () throw (ShogunException)
virtual void save_serializable_pre () throw (ShogunException)
virtual void save_serializable_post () throw (ShogunException)

Constructor & Destructor Documentation

Constructor

Definition at line 59 of file LossFunction.h.

virtual ~CLossFunction ( )
virtual

Destructor

Definition at line 64 of file LossFunction.h.

Member Function Documentation

virtual float64_t first_derivative ( float64_t  prediction,
float64_t  label 
)
pure virtual

Get first derivative of the loss function

Parameters
predictionprediction
labellabel
Returns
first derivative

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.

virtual ELossType get_loss_type ( )
pure virtual

Get loss type

abstract base method

Returns
loss type as enum

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.

virtual const char* get_name ( ) const
virtual

Return the name of the object

Returns
LossFunction

Implements CSGObject.

Reimplemented in CHingeLoss, CSquaredHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, and CSmoothHingeLoss.

Definition at line 132 of file LossFunction.h.

virtual float64_t get_square_grad ( float64_t  prediction,
float64_t  label 
)
pure virtual

Get square of gradient, used for adaptive learning

Parameters
predictionprediction
labellabel
Returns
square of gradient

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.

virtual float64_t get_update ( float64_t  prediction,
float64_t  label,
float64_t  eta_t,
float64_t  norm 
)
pure virtual

Get importance aware weight update for this loss function

Parameters
predictionprediction
labellabel
eta_tlearning rate at update number t
normscale value
Returns
update

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.

virtual float64_t loss ( float64_t  prediction,
float64_t  label 
)
pure virtual

Get loss for an example

Parameters
predictionprediction
labellabel
Returns
loss

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.

virtual float64_t second_derivative ( float64_t  prediction,
float64_t  label 
)
pure virtual

Get second derivative of the loss function

Parameters
predictionprediction
labellabel
Returns
second derivative

Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.


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

SHOGUN Machine Learning Toolbox - Documentation