SHOGUN
v1.1.0
|
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.
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 |
![]() | |
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) |
SGIO * | get_global_io () |
void | set_global_parallel (Parallel *parallel) |
Parallel * | get_global_parallel () |
void | set_global_version (Version *version) |
Version * | get_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 | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
![]() | |
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) |
CLossFunction | ( | ) |
Constructor
Definition at line 59 of file LossFunction.h.
|
virtual |
Destructor
Definition at line 64 of file LossFunction.h.
Get first derivative of the loss function
prediction | prediction |
label | label |
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.
|
pure virtual |
Get loss type
abstract base method
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.
|
virtual |
Return the name of the object
Implements CSGObject.
Reimplemented in CHingeLoss, CSquaredHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, and CSmoothHingeLoss.
Definition at line 132 of file LossFunction.h.
Get square of gradient, used for adaptive learning
prediction | prediction |
label | label |
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.
|
pure virtual |
Get importance aware weight update for this loss function
prediction | prediction |
label | label |
eta_t | learning rate at update number t |
norm | scale value |
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.
Get loss for an example
prediction | prediction |
label | label |
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.
Get second derivative of the loss function
prediction | prediction |
label | label |
Implemented in CHingeLoss, CSquaredLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, and CSquaredHingeLoss.