java.lang.Object
org.tribuo.regression.sgd.objectives.Huber
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<DenseVector>, RegressionObjective

public class Huber extends Object implements RegressionObjective
Huber loss, i.e., a mixture of l2 and l1 losses.
  • Field Details

    • DEFAULT_COST

      public static final double DEFAULT_COST
      The default cost beyond which the function is linear.
      See Also:
  • Constructor Details

    • Huber

      public Huber()
      Huber Loss using the default cost DEFAULT_COST.
    • Huber

      public Huber(double cost)
      Huber loss using the supplied cost. Cost must be positive.
      Parameters:
      cost - The cost.
  • Method Details

    • postConfig

      public void postConfig()
      Used by the OLCUT configuration system, and should not be called by external code.
      Specified by:
      postConfig in interface com.oracle.labs.mlrg.olcut.config.Configurable
    • loss

      @Deprecated public com.oracle.labs.mlrg.olcut.util.Pair<Double,SGDVector> loss(DenseVector truth, SGDVector prediction)
      Deprecated.
      Description copied from interface: RegressionObjective
      Scores a prediction, returning the loss.
      Specified by:
      loss in interface RegressionObjective
      Parameters:
      truth - The true regression value.
      prediction - The predicted regression value.
      Returns:
      A pair with the loss and gradient.
    • lossAndGradient

      public com.oracle.labs.mlrg.olcut.util.Pair<Double,SGDVector> lossAndGradient(DenseVector truth, SGDVector prediction)
      Description copied from interface: SGDObjective
      Scores a prediction, returning the loss and a vector of per output dimension gradients.
      Specified by:
      lossAndGradient in interface RegressionObjective
      Specified by:
      lossAndGradient in interface SGDObjective<DenseVector>
      Parameters:
      truth - The true output.
      prediction - The prediction for each dimension.
      Returns:
      The score and per dimension gradient.
    • 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>