Documentation of 'jsat.classifiers.svm.Pegasos' Java class
Pegasos
jsat.classifiers.svm

Class Pegasos

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int DEFAULT_BATCH_SIZE
      The default batch size is 1
      static int DEFAULT_EPOCHS
      The default number of epochs is 5
      static double DEFAULT_REG
      The default regularization value is 1.0E-4
    • Constructor Summary

      Constructors 
      Constructor and Description
      Pegasos()
      Creates a new Pegasos SVM classifier using default values.
      Pegasos(int epochs, double reg, int batchSize)
      Creates a new Pegasos SVM classifier
      Pegasos(Pegasos toCopy)
      Copy constructor
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      CategoricalResults classify(DataPoint data)
      Performs classification on the given data point.
      Pegasos clone() 
      int getBatchSize()
      Returns the number of points used in each iteration
      double getBias()
      Returns the bias term used for the model, or 0 of the model does not support or was not trained with a bias term.
      double getBias(int index)
      Returns the bias term used with the weight vector for the given class index.
      double getEpochs()
      Returns the number of iterations of updating that will be done
      Vec getRawWeight()
      Returns the only weight vector used for the model
      Vec getRawWeight(int index)
      Returns the raw weight vector associated with the given class index.
      double getRegularization()
      Returns the amount of regularization to used in training
      double getScore(DataPoint dp)
      Returns the numeric score for predicting a class of a given data point, where the sign of the value indicates which class the data point is predicted to belong to.
      static Distribution guessRegularization(DataSet d)
      Guess the distribution to use for the regularization term setRegularization(double) in Pegasos.
      boolean isProjectionStep()
      Returns whether or not the projection step is in use after each iteration
      int numWeightsVecs()
      Returns the number of weight vectors that can be returned.
      void setBatchSize(int batchSize)
      Sets the batch size used during training.
      void setEpochs(int epochs)
      Sets the number of iterations through the training set that will be performed.
      void setProjectionStep(boolean projectionStep)
      Sets whether or not to use the projection step after each update per iteration
      void setRegularization(double reg)
      Sets the regularization constant used for learning.
      boolean supportsWeightedData()
      Indicates whether the model knows how to train using weighted data points.
      void train(ClassificationDataSet dataSet)
      Trains the classifier and constructs a model for classification using the given data set.
      void train(ClassificationDataSet dataSet, boolean parallel)
      Trains the classifier and constructs a model for classification using the given data set.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_EPOCHS

        public static final int DEFAULT_EPOCHS
        The default number of epochs is 5
        See Also:
        Constant Field Values
      • DEFAULT_REG

        public static final double DEFAULT_REG
        The default regularization value is 1.0E-4
        See Also:
        Constant Field Values
      • DEFAULT_BATCH_SIZE

        public static final int DEFAULT_BATCH_SIZE
        The default batch size is 1
        See Also:
        Constant Field Values
    • Constructor Detail

      • Pegasos

        public Pegasos()
        Creates a new Pegasos SVM classifier using default values.
      • Pegasos

        public Pegasos(int epochs,
                       double reg,
                       int batchSize)
        Creates a new Pegasos SVM classifier
        Parameters:
        epochs - the number of training iterations
        reg - the regularization term
        batchSize - the batch size
      • Pegasos

        public Pegasos(Pegasos toCopy)
        Copy constructor
        Parameters:
        toCopy - the object to copy
    • Method Detail

      • setBatchSize

        public void setBatchSize(int batchSize)
        Sets the batch size used during training. At each epoch, a batch of randomly selected data points will be used to update.
        Parameters:
        batchSize - the number of data points to use when updating
      • getBatchSize

        public int getBatchSize()
        Returns the number of points used in each iteration
        Returns:
        the number of points used in each iteration
      • setEpochs

        public void setEpochs(int epochs)
        Sets the number of iterations through the training set that will be performed.
        Parameters:
        epochs - the number of iterations
      • getEpochs

        public double getEpochs()
        Returns the number of iterations of updating that will be done
        Returns:
        the number of iterations
      • setProjectionStep

        public void setProjectionStep(boolean projectionStep)
        Sets whether or not to use the projection step after each update per iteration
        Parameters:
        projectionStep - whether or not to use the projection step
      • isProjectionStep

        public boolean isProjectionStep()
        Returns whether or not the projection step is in use after each iteration
        Returns:
        true if the projection step will be performed
      • setRegularization

        public void setRegularization(double reg)
        Sets the regularization constant used for learning. The regularization must be positive, and the learning rate is proportional to the regularization value. This means regularizations very near zero will take a long time to converge.
        Parameters:
        reg - the regularization to apply
      • getRegularization

        public double getRegularization()
        Returns the amount of regularization to used in training
        Returns:
        the regularization parameter.
      • getBias

        public double getBias()
        Description copied from interface: SingleWeightVectorModel
        Returns the bias term used for the model, or 0 of the model does not support or was not trained with a bias term.
        Specified by:
        getBias in interface SingleWeightVectorModel
        Returns:
        the bias term for the model
      • getRawWeight

        public Vec getRawWeight(int index)
        Description copied from interface: SimpleWeightVectorModel
        Returns the raw weight vector associated with the given class index. If the given class is an implicit zero vector, a ConstantVector object may be returned.
        Do not alter the returned weight vector, as it will change the model's values.

        If a regression problem, only index = 0 should be used
        Specified by:
        getRawWeight in interface SimpleWeightVectorModel
        Parameters:
        index - the class index to get the weight vector for
        Returns:
        the weight vector used for the specified class
      • getBias

        public double getBias(int index)
        Description copied from interface: SimpleWeightVectorModel
        Returns the bias term used with the weight vector for the given class index. If the model does not support or was not trained with bias weights, 0 will be returned.

        If a regression problem, only index = 0 should be used
        Specified by:
        getBias in interface SimpleWeightVectorModel
        Parameters:
        index - the class index to get the weight vector for
        Returns:
        the bias term for the specified class
      • numWeightsVecs

        public int numWeightsVecs()
        Description copied from interface: SimpleWeightVectorModel
        Returns the number of weight vectors that can be returned. For binary classification problems the value may be 1 if only a single weight vector's sign is used to determine the class. For multi-class problems, the weight vector count includes the implicit zero vector (if one is being used).
        Specified by:
        numWeightsVecs in interface SimpleWeightVectorModel
        Returns:
        the number of weight vectors for which SimpleWeightVectorModel.getRawWeight(int) can be called.
      • classify

        public CategoricalResults classify(DataPoint data)
        Description copied from interface: Classifier
        Performs classification on the given data point.
        Specified by:
        classify in interface Classifier
        Parameters:
        data - the data point to classify
        Returns:
        the results of the classification.
      • getScore

        public double getScore(DataPoint dp)
        Description copied from interface: BinaryScoreClassifier
        Returns the numeric score for predicting a class of a given data point, where the sign of the value indicates which class the data point is predicted to belong to.
        Specified by:
        getScore in interface BinaryScoreClassifier
        Parameters:
        dp - the data point to predict the class label of
        Returns:
        the score for the given data point
      • train

        public void train(ClassificationDataSet dataSet,
                          boolean parallel)
        Description copied from interface: Classifier
        Trains the classifier and constructs a model for classification using the given data set. If the training method knows how, it will used the threadPool to conduct training in parallel. This method will block until the training has completed.
        Specified by:
        train in interface Classifier
        Parameters:
        dataSet - the data set to train on
        parallel - true if multiple threads should be used to train the model. false if it should be done in a single threaded manner.
      • train

        public void train(ClassificationDataSet dataSet)
        Description copied from interface: Classifier
        Trains the classifier and constructs a model for classification using the given data set.
        Specified by:
        train in interface Classifier
        Parameters:
        dataSet - the data set to train on
      • supportsWeightedData

        public boolean supportsWeightedData()
        Description copied from interface: Classifier
        Indicates whether the model knows how to train using weighted data points. If it does, the model will train assuming the weights. The values returned by this method may change depending on the parameters set for the model.
        Specified by:
        supportsWeightedData in interface Classifier
        Returns:
        true if the model supports weighted data, false otherwise
      • guessRegularization

        public static Distribution guessRegularization(DataSet d)
        Guess the distribution to use for the regularization term setRegularization(double) in Pegasos.
        Parameters:
        d - the data set to get the guess for
        Returns:
        the guess for the λ parameter

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.