mlpack 3.4.2
Public Member Functions | List of all members
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...

#include <huber_loss.hpp>

Public Member Functions

 HuberLoss (const double delta=1.0, const bool mean=true)
 Create the HuberLoss object. More...
 
template<typename InputType , typename TargetType , typename OutputType >
void Backward (const InputType &input, const TargetType &target, OutputType &output)
 Ordinary feed backward pass of a neural network. More...
 
double & Delta ()
 Set the value of delta. More...
 
double Delta () const
 Get the value of delta. More...
 
template<typename InputType , typename TargetType >
InputType::elem_type Forward (const InputType &input, const TargetType &target)
 Computes the Huber Loss function. More...
 
bool & Mean ()
 Set the value of reduction type. More...
 
bool Mean () const
 Get the value of reduction type. More...
 
OutputDataType & OutputParameter ()
 Modify the output parameter. More...
 
OutputDataType & OutputParameter () const
 Get the output parameter. More...
 
template<typename Archive >
void serialize (Archive &ar, const unsigned int)
 Serialize the layer. More...
 

Detailed Description

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
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 ( )
inline

Set the value of delta.

Definition at line 78 of file huber_loss.hpp.

◆ Delta() [2/2]

double Delta ( ) const
inline

Get the value of delta.

Definition at line 76 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 ( )
inline

Set the value of reduction type.

Definition at line 83 of file huber_loss.hpp.

◆ Mean() [2/2]

bool Mean ( ) const
inline

Get the value of reduction type.

Definition at line 81 of file huber_loss.hpp.

◆ OutputParameter() [1/2]

OutputDataType & OutputParameter ( )
inline

Modify the output parameter.

Definition at line 73 of file huber_loss.hpp.

◆ OutputParameter() [2/2]

OutputDataType & OutputParameter ( ) const
inline

Get the output parameter.

Definition at line 71 of file huber_loss.hpp.

◆ serialize()

void serialize ( Archive &  ar,
const unsigned int   
)

Serialize the layer.


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