Class Hinge
java.lang.Object
org.tribuo.multilabel.sgd.objectives.Hinge
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable
,com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
,SGDObjective<SGDVector>
,MultiLabelObjective
Hinge loss, scores the correct value margin and any incorrect predictions -margin.
By default the margin is 1.0.
The Hinge loss does not generate a probabilistic model, and uses a NoopNormalizer
.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns a newNoopNormalizer
.com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance
boolean
Returns false.lossAndGradient
(SGDVector truth, SGDVector prediction) double
The default prediction threshold for creating the output.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.oracle.labs.mlrg.olcut.config.Configurable
postConfig
-
Constructor Details
-
Hinge
public Hinge(double margin) Construct a hinge objective with the supplied margin.- Parameters:
margin
- The margin to use.
-
Hinge
public Hinge()Construct a hinge objective with a margin of 1.0.
-
-
Method Details
-
lossAndGradient
public com.oracle.labs.mlrg.olcut.util.Pair<Double,SGDVector> lossAndGradient(SGDVector truth, SGDVector prediction) - Specified by:
lossAndGradient
in interfaceSGDObjective<SGDVector>
- Parameters:
truth
- The true label id.prediction
- The prediction for each label id.- Returns:
- The loss and per label gradient.
-
getNormalizer
Returns a newNoopNormalizer
.- Specified by:
getNormalizer
in interfaceMultiLabelObjective
- Returns:
- The vector normalizer.
-
isProbabilistic
public boolean isProbabilistic()Returns false.- Specified by:
isProbabilistic
in interfaceMultiLabelObjective
- Returns:
- False.
-
threshold
public double threshold()Description copied from interface:MultiLabelObjective
The default prediction threshold for creating the output.- Specified by:
threshold
in interfaceMultiLabelObjective
- Returns:
- The threshold.
-
toString
-
getProvenance
public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()- Specified by:
getProvenance
in interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-