shark::ZeroOneLoss< LabelType, OutputType > Class Template Reference

0-1-loss for classification. More...

#include <shark/ObjectiveFunctions/Loss/ZeroOneLoss.h>

+ Inheritance diagram for shark::ZeroOneLoss< LabelType, OutputType >:

Public Types

typedef base_type::BatchLabelType BatchLabelType
 
typedef base_type::BatchOutputType BatchOutputType
 
- Public Types inherited from shark::AbstractLoss< LabelType, LabelType >
typedef LabelType OutputType
 
typedef LabelType LabelType
 
typedef RealMatrix MatrixType
 
typedef Batch< OutputType >::type BatchOutputType
 
typedef Batch< LabelType >::type BatchLabelType
 
typedef ConstProxyReference< LabelType const >::type ConstLabelReference
 Const references to LabelType. More...
 
typedef ConstProxyReference< OutputType const >::type ConstOutputReference
 Const references to OutputType. More...
 
- Public Types inherited from shark::AbstractCost< LabelType, LabelType >
enum  Feature
 list of features a cost function can have More...
 
typedef LabelType OutputType
 
typedef LabelType LabelType
 
typedef Batch< OutputType >::type BatchOutputType
 
typedef Batch< LabelType >::type BatchLabelType
 
typedef TypedFlags< FeatureFeatures
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 

Public Member Functions

 ZeroOneLoss ()
 constructor More...
 
std::string name () const
 From INameable: return the class name. More...
 
double eval (BatchLabelType const &labels, BatchOutputType const &predictions) const
 Return zero if labels == predictions and one otherwise. More...
 
- Public Member Functions inherited from shark::AbstractLoss< LabelType, LabelType >
 AbstractLoss ()
 
virtual double eval (ConstLabelReference target, ConstOutputReference prediction) const
 evaluate the loss for a target and a prediction More...
 
double eval (Data< LabelType > const &targets, Data< OutputType > const &predictions) const
 
virtual double evalDerivative (ConstLabelReference target, ConstOutputReference prediction, OutputType &gradient) const
 evaluate the loss and its derivative for a target and a prediction More...
 
virtual double evalDerivative (ConstLabelReference target, ConstOutputReference prediction, OutputType &gradient, MatrixType &hessian) const
 evaluate the loss and its first and second derivative for a target and a prediction More...
 
virtual double evalDerivative (BatchLabelType const &target, BatchOutputType const &prediction, BatchOutputType &gradient) const
 evaluate the loss and the derivative w.r.t. the prediction More...
 
double operator() (LabelType const &target, OutputType const &prediction) const
 evaluate the loss for a target and a prediction More...
 
double operator() (BatchLabelType const &target, BatchOutputType const &prediction) const
 
- Public Member Functions inherited from shark::AbstractCost< LabelType, LabelType >
virtual ~AbstractCost ()
 
const Featuresfeatures () const
 
virtual void updateFeatures ()
 
bool hasFirstDerivative () const
 returns true when the first parameter derivative is implemented More...
 
bool isLossFunction () const
 returns true when the cost function is in fact a loss function More...
 
double operator() (Data< LabelType > const &targets, Data< OutputType > const &predictions) const
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 

Additional Inherited Members

- Protected Attributes inherited from shark::AbstractCost< LabelType, LabelType >
Features m_features
 

Detailed Description

template<class LabelType = unsigned int, class OutputType = LabelType>
class shark::ZeroOneLoss< LabelType, OutputType >

0-1-loss for classification.

The ZeroOneLoss requires the existence of the comparison operator == for its LabelType template parameter. The loss function returns zero of the predictions exactly matches the label, and one otherwise.

Definition at line 51 of file ZeroOneLoss.h.

Member Typedef Documentation

◆ BatchLabelType

template<class LabelType = unsigned int, class OutputType = LabelType>
typedef base_type::BatchLabelType shark::ZeroOneLoss< LabelType, OutputType >::BatchLabelType

Definition at line 55 of file ZeroOneLoss.h.

◆ BatchOutputType

template<class LabelType = unsigned int, class OutputType = LabelType>
typedef base_type::BatchOutputType shark::ZeroOneLoss< LabelType, OutputType >::BatchOutputType

Definition at line 56 of file ZeroOneLoss.h.

Constructor & Destructor Documentation

◆ ZeroOneLoss()

template<class LabelType = unsigned int, class OutputType = LabelType>
shark::ZeroOneLoss< LabelType, OutputType >::ZeroOneLoss ( )
inline

constructor

Definition at line 59 of file ZeroOneLoss.h.

Member Function Documentation

◆ eval()

template<class LabelType = unsigned int, class OutputType = LabelType>
double shark::ZeroOneLoss< LabelType, OutputType >::eval ( BatchLabelType const &  labels,
BatchOutputType const &  predictions 
) const
inlinevirtual

Return zero if labels == predictions and one otherwise.

Implements shark::AbstractLoss< LabelType, LabelType >.

Definition at line 70 of file ZeroOneLoss.h.

References SIZE_CHECK.

Referenced by main(), and run_one_trial().

◆ name()

template<class LabelType = unsigned int, class OutputType = LabelType>
std::string shark::ZeroOneLoss< LabelType, OutputType >::name ( ) const
inlinevirtual

From INameable: return the class name.

Reimplemented from shark::INameable.

Definition at line 64 of file ZeroOneLoss.h.

References shark::AbstractLoss< LabelType, LabelType >::eval().

Referenced by main().


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