SPIDER The Spider Objects

RANK_PERCEPTRON Ranking Perceptron object

   Generates a Ranking Perceptron object with given hyperparameters.
   The rank perceptron uses a joint kernel on the inputs and outputs.
   Labeled data are given of the form (x_i,y_i) which specify a map from
   x_i -> y_i. Essentially, the data (x_i y_i) are considered positive examples
   given to a classifier and every other output y \in Yset is considered as 
   a negative example. Training consists of finding tuning the parameters alpha
   such that  y_i = argmax_y ( f(x_i,y))  for all i, i.e. the correct map is learnt
   for the training data. Here, f(x,y) = \sum \alpha_i J((x_i,x_i,),(x,y))
   is a measure of match between input x and output y.
   One thus must give as input the set Yset, and the choice of joint kernel,
   can currently be a product of 'linear', 'poly' or 'rbf' between inputs 
   and outputs.
   Outputs y_i are given in the form of indices into the set Yset.
     Hyperparameters (with defaults)
     kertype='linear'     -- the kernel type, either 'linear','poly' or 'rbf' on the inputs.
                             kernel is always linear on the outputs (enables fast pre-images) 
     kerparam=1;          -- kernel parameter (for 'poly' or 'rbf' kernel)
     loops=100            -- number of iterations of training
     Yset=[];             -- set of possible outputs to choose from
     output_preimage=0    -- whether to output y given x  or index into Yset (default)
      alpha               -- the weights
      svs                 -- the support vectors
      dat                 -- the original data
      dbase               -- the set of possible Ys (outputs) 
    train, test
     d=gen(toy); d.Y(d.Y==1,:)=1; d.Y(d.Y==-1,:)=2;
     a=rank_perceptron([1 0 0; 0 1 0  ;0 0 1]);
     [r a]=train(a,d);

Reference : New Ranking Algorithms for Parsing and Tagging: Kernels over Discrete Structures and the Voted Perceptron
Author : Michael Collins and Nigel Duffy
Link : http://www.ai.mit.edu/people/mcollins/papers/finalacl2002.ps