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

public final class Hinge extends Object implements 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 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)
      Returns a Pair of Double and SGDVector representing the loss and per label gradients respectively.
      Specified by:
      lossAndGradient in interface SGDObjective<SGDVector>
      Parameters:
      truth - The true label id.
      prediction - The prediction for each label id.
      Returns:
      The loss and per label gradient.
    • getNormalizer

      public VectorNormalizer getNormalizer()
      Returns a new NoopNormalizer.
      Specified by:
      getNormalizer in interface MultiLabelObjective
      Returns:
      The vector normalizer.
    • isProbabilistic

      public boolean isProbabilistic()
      Returns false.
      Specified by:
      isProbabilistic in interface MultiLabelObjective
      Returns:
      False.
    • threshold

      public double threshold()
      Description copied from interface: MultiLabelObjective
      The default prediction threshold for creating the output.
      Specified by:
      threshold in interface MultiLabelObjective
      Returns:
      The threshold.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getProvenance

      public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()
      Specified by:
      getProvenance in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>