SPIDER The Spider Objects


RANK_PERCEPTRON Ranking Perceptron object
a=rank_perceptron(hyperParam,Yset)

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)

Model
alpha               -- the weights
svs                 -- the support vectors
dat                 -- the original data
dbase               -- the set of possible Ys (outputs)

Methods:
train, test

Example:
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