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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a newNoopNormalizer.com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenancebooleanReturns false.lossAndGradient(SGDVector truth, SGDVector prediction) doubleThe default prediction threshold for creating the output.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
lossAndGradientin 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:
getNormalizerin interfaceMultiLabelObjective- Returns:
- The vector normalizer.
-
isProbabilistic
public boolean isProbabilistic()Returns false.- Specified by:
isProbabilisticin interfaceMultiLabelObjective- Returns:
- False.
-
threshold
public double threshold()Description copied from interface:MultiLabelObjectiveThe default prediction threshold for creating the output.- Specified by:
thresholdin interfaceMultiLabelObjective- Returns:
- The threshold.
-
toString
-
getProvenance
public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()- Specified by:
getProvenancein interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-