Class LinearParameters

java.lang.Object
org.tribuo.math.LinearParameters
All Implemented Interfaces:
Parameters

public class LinearParameters extends Object implements Parameters
A Parameters for producing single label linear models.
  • Constructor Details

    • LinearParameters

      public LinearParameters(int numFeatures, int numLabels)
      Constructor. The number of features and the number of outputs must be fixed and known in advance.
      Parameters:
      numFeatures - The number of features in the training dataset (excluding the bias).
      numLabels - The number of outputs in the training dataset.
  • Method Details

    • predict

      public SGDVector predict(SparseVector example)
      Generates an unnormalised prediction by leftMultiply'ing the weights with the incoming features.
      Parameters:
      example - A feature vector
      Returns:
      A DenseVector containing a score for each label.
    • gradients

      public Tensor[] gradients(com.oracle.labs.mlrg.olcut.util.Pair<Double, SGDVector> score, SparseVector features)
      Generate the gradients for a particular feature vector given the loss and the per output gradients. This parameters returns a single element Tensor array.
      Parameters:
      score - The Pair returned by the objective.
      features - The feature vector.
      Returns:
      A Tensor array with a single DenseSparseMatrix containing all gradients.
    • getEmptyCopy

      public Tensor[] getEmptyCopy()
      This returns a DenseMatrix the same size as the Parameters.
      Specified by:
      getEmptyCopy in interface Parameters
      Returns:
      A Tensor array containing a single DenseMatrix.
    • get

      public Tensor[] get()
      Description copied from interface: Parameters
      Get a reference to the underlying Tensor array.
      Specified by:
      get in interface Parameters
      Returns:
      The parameters.
    • getWeightMatrix

      Returns the weight matrix.
      Returns:
      The weight matrix.
    • set

      public void set(Tensor[] newWeights)
      Description copied from interface: Parameters
      Set the underlying Tensor array to newWeights.
      Specified by:
      set in interface Parameters
      Parameters:
      newWeights - New parameters to store in this object.
    • update

      public void update(Tensor[] gradients)
      Description copied from interface: Parameters
      Apply gradients to the parameters. Assumes that gradients is the same length as the parameters, and each Tensor is the same size as the corresponding one from the parameters.

      The gradients are added to the parameters.

      Specified by:
      update in interface Parameters
      Parameters:
      gradients - A Tensor array of updates, with the length equal to Parameters.get().length.
    • merge

      public Tensor[] merge(Tensor[][] gradients, int size)
      Description copied from interface: Parameters
      Merge together an array of gradient arrays. Assumes the first dimension is the number of gradient arrays and the second dimension is the number of parameter Tensors.
      Specified by:
      merge in interface Parameters
      Parameters:
      gradients - An array of gradient update arrays.
      size - The number of elements of gradients to merge. Allows gradients to have unused elements.
      Returns:
      A single Tensor array of the summed gradients.