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 |
CLossFunction | ( | ) |
Constructor
Definition at line 59 of file LossFunction.h.
virtual ~CLossFunction | ( | ) | [virtual] |
Destructor
Definition at line 64 of file LossFunction.h.
Get first derivative of the loss function
prediction | prediction | |
label | label |
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
virtual ELossType get_loss_type | ( | ) | [pure virtual] |
Get loss type
abstract base method
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
virtual const char* get_name | ( | void | ) | const [virtual] |
Return the name of the object
Implements CSGObject.
Reimplemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
Definition at line 132 of file LossFunction.h.
Get square of gradient, used for adaptive learning
prediction | prediction | |
label | label |
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
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
prediction | prediction | |
label | label | |
eta_t | learning rate at update number t | |
norm | scale value |
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
Get loss for an example
prediction | prediction | |
label | label |
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.
Get second derivative of the loss function
prediction | prediction | |
label | label |
Implemented in CHingeLoss, CLogLoss, CLogLossMargin, CSmoothHingeLoss, CSquaredHingeLoss, and CSquaredLoss.