HuberLoss< InputDataType, OutputDataType > Class Template Reference

The Huber loss is a loss function used in robust regression, that is less sensitive to outliers in data than the squared error loss. More...

Public Member Functions

 HuberLoss (const double delta=1.0, const bool mean=true)
 Create the HuberLoss object. More...

 
template
void Backward (const InputType &input, const TargetType &target, OutputType &output)
 Ordinary feed backward pass of a neural network. More...

 
double Delta () const
 Get the value of delta. More...

 
double & Delta ()
 Set the value of delta. More...

 
template
InputType::elem_type Forward (const InputType &input, const TargetType &target)
 Computes the Huber Loss function. More...

 
bool Mean () const
 Get the value of reduction type. More...

 
bool & Mean ()
 Set the value of reduction type. More...

 
OutputDataType & OutputParameter () const
 Get the output parameter. More...

 
OutputDataType & OutputParameter ()
 Modify the output parameter. More...

 
template
void serialize (Archive &ar, const unsigned int)
 Serialize the layer. More...

 

Detailed Description


template
class mlpack::ann::HuberLoss< InputDataType, OutputDataType >

The Huber loss is a loss function used in robust regression, that is less sensitive to outliers in data than the squared error loss.

This function is quadratic for small values of $ y - f(x) $, and linear for large values, with equal values and slopes of the different sections at the two points where $ |y - f(x)| = delta $.

Template Parameters
InputDataTypeType of the input data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).
OutputDataTypeType of the output data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).

Definition at line 36 of file huber_loss.hpp.

Constructor & Destructor Documentation

◆ HuberLoss()

HuberLoss ( const double  delta = 1.0,
const bool  mean = true 
)

Create the HuberLoss object.

Parameters
deltaThe threshold value upto which squared error is followed and after which absolute error is considered.
meanIf true then mean loss is computed otherwise sum.

Member Function Documentation

◆ Backward()

void Backward ( const InputType &  input,
const TargetType &  target,
OutputType &  output 
)

Ordinary feed backward pass of a neural network.

Parameters
inputThe propagated input activation.
targetThe target vector.
outputThe calculated error.

◆ Delta() [1/2]

double Delta ( ) const
inline

Get the value of delta.

Definition at line 76 of file huber_loss.hpp.

◆ Delta() [2/2]

double& Delta ( )
inline

Set the value of delta.

Definition at line 78 of file huber_loss.hpp.

◆ Forward()

InputType::elem_type Forward ( const InputType &  input,
const TargetType &  target 
)

Computes the Huber Loss function.

Parameters
inputInput data used for evaluating the specified function.
targetThe target vector.

◆ Mean() [1/2]

bool Mean ( ) const
inline

Get the value of reduction type.

Definition at line 81 of file huber_loss.hpp.

◆ Mean() [2/2]

bool& Mean ( )
inline

Set the value of reduction type.

Definition at line 83 of file huber_loss.hpp.

References HuberLoss< InputDataType, OutputDataType >::serialize().

◆ OutputParameter() [1/2]

OutputDataType& OutputParameter ( ) const
inline

Get the output parameter.

Definition at line 71 of file huber_loss.hpp.

◆ OutputParameter() [2/2]

OutputDataType& OutputParameter ( )
inline

Modify the output parameter.

Definition at line 73 of file huber_loss.hpp.

◆ serialize()

void serialize ( Archive &  ar,
const unsigned  int 
)

Serialize the layer.

Referenced by HuberLoss< InputDataType, OutputDataType >::Mean().


The documentation for this class was generated from the following file:
  • /home/jenkins-mlpack/mlpack.org/_src/mlpack-3.4.2/src/mlpack/methods/ann/loss_functions/huber_loss.hpp