Class PerceptronModel

  • All Implemented Interfaces:
    MaxentModel

    public class PerceptronModel
    extends AbstractModel
    A model implementation based one the perceptron algorithm.

    Each outcome is represented as a binary perceptron classifier. This supports standard (integer) weighting as well average weighting as described in: Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with the Perceptron Algorithm. Michael Collins, EMNLP 2002.

    • Constructor Detail

      • PerceptronModel

        public PerceptronModel​(Context[] params,
                               String[] predLabels,
                               String[] outcomeNames)
        Initializes a PerceptronModel.
        Parameters:
        params - The parameters to set.
        predLabels - The predicted labels.
        outcomeNames - The names of the outcomes.
    • Method Detail

      • eval

        public double[] eval​(String[] context)
        Evaluates a context.
        Parameters:
        context - An array of String names of the contextual predicates which are to be evaluated together.
        Returns:
        An array of the probabilities for each of the different outcomes, all of which sum to 1.
      • eval

        public double[] eval​(String[] context,
                             float[] values)
        Evaluates a context with the specified context values.
        Parameters:
        context - An array of String names of the contextual predicates which are to be evaluated together.
        values - The values associated with each context.
        Returns:
        An array of the probabilities for each of the different outcomes, all of which sum to 1.
      • eval

        public double[] eval​(String[] context,
                             double[] probs)
        Evaluates a context.
        Parameters:
        context - An array of String names of the contextual predicates which are to be evaluated together.
        probs - An array which is populated with the probabilities for each of the different outcomes, all of which sum to 1.
        Returns:
        An array of the probabilities for each of the different outcomes, all of which sum to 1.
      • eval

        public double[] eval​(String[] context,
                             float[] values,
                             double[] outsums)
      • eval

        public static double[] eval​(int[] context,
                                    double[] prior,
                                    EvalParameters model)
        Evaluates a PerceptronModel.
        Parameters:
        context - The context parameters as int[].
        prior - The data prior to the evaluation as double[].
        model - The EvalParameters used for evaluation.
        Returns:
        The resulting evaluation data as double[].