Structured SVMs

From Cohen Courses
Jump to navigationJump to search

Being edited by Rui Correia

The Method and When to Use it

Structured (or Structural) Support Vector Machines (SSVM), as the name states, is a machine learning model that generalizes the Support Vector Machine (SVM) classifier, allowing training a classifier for structured output.

In general, SSVMs perform supervised learning by approximating a mapping

where is a set of labeled training examples and is a complex structured object, like trees, sequences, or sets, instead of simple univariate predictions (as in the SVM case).

Thus, training a SSVM classifier consists of showing pairs of correct sample and output label pairs, that are used for training, allowing to predict for new sample instances the corresponding output label

In NLP one can fing a great variety of problems that rely on complex outputs, such as parsing and Markov Models for part-of-speech tagging.

Training

While on training, for a set of samples and labels , the SSVM minimizes the risk function:


where is an arbitrary function, which measures the distance between to labels and is a function on samples and labels, which extracts feature vectors.


Since the equation above is non-differentiable, one can reformulate it introducing slack variables, , representing the value of the maximum. Using this approach the SSVM comes as:

      
      

Testing

At test time, only a sample is known, and a prediction function maps it to a predicted label from the label space . For structured SVMs, given the vector obtained from training, the prediction function is the following.

Therefore, the maximizer over the label space is the predicted label. Solving for this maximizer is the so called inference problem and similar to making a maximum a-posteriori (MAP) prediction in probabilistic models. Depending on the structure of the function Ψ, solving for the maximizer can be a hard problem.

Related Papers