Papyrus 57: Difference between revisions
en>Leszek Jańczuk ref |
en>Leszek Jańczuk |
||
Line 1: | Line 1: | ||
The '''structured support vector machine''' is a [[machine learning]] algorithm that generalizes the [[Support vector machine|Support Vector Machine]] (SVM) classifier. Whereas the SVM classifier supports [[binary classification]], [[multiclass classification]] and [[Regression analysis|regression]], the structured SVM allows training of a classifier for general [[structured learning|structured output labels]]. | |||
As an example, a sample instance might be a natural language sentence, and the output label is an annotated [[parse tree]]. Training a classifier consists of showing pairs of correct sample and output label pairs. After training, the structured SVM model allows one to predict for new sample instances the corresponding output label; that is, given a natural language sentence, the classifier can produce the most likely parse tree. | |||
==Training== | |||
For a set of <math>\ell</math> training instances <math>(\boldsymbol{x}_n,y_n) \in \mathcal{X}\times\mathcal{Y}</math>, <math>n=1,\dots,\ell</math> from a sample space <math>\mathcal{X}</math> and label space <math>\mathcal{Y}</math>, the structured SVM minimizes the following regularized risk function. | |||
:<math>\underset{\boldsymbol{w}}{\min} \quad \|\boldsymbol{w}\|^2 + C \sum_{n=1}^{\ell} | |||
\underset{y\in\mathcal{Y}}{\max} \left(\Delta(y_n,y) + \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y) - \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y_n)\right)</math> | |||
The function is convex in <math>\boldsymbol{w}</math> because the maximum of a set of affine functions is convex. The function <math>\Delta: \mathcal{Y} \times \mathcal{Y} \to \mathbb{R}_+</math> measures a distance in label space and is an arbitrary function (not necessarily a [[Metric (mathematics)|metric]]) satisfying <math>\Delta(y,z) \geq 0</math> and <math> \Delta(y,y)=0 \;\; \forall y,z \in \mathcal{Y}</math>. The function <math>\Psi: \mathcal{X} \times \mathcal{Y} \to \mathbb{R}^d</math> is a feature function, extracting some feature vector from a given sample and label. The design of this function depends very much on the application. | |||
Because the regularized risk function above is non-differentiable, it is often reformulated in terms of a [[quadratic program]] by introducing one slack variable <math>\xi_n</math> for each sample, each representing the value of the maximum. The standard structured SVM primal formulation is given as follows. | |||
:<math>\begin{array}{cl} | |||
\underset{\boldsymbol{w},\boldsymbol{\xi}}{\min} & \|\boldsymbol{w}\|^2 + C \sum_{n=1}^{\ell} \xi_n\\ | |||
\textrm{s.t.} & \boldsymbol{w}' \Psi(\boldsymbol{x}_n,y_n) - \boldsymbol{w}' \Psi(\boldsymbol{x}_n,y) + \xi_n \geq \Delta(y_n,y),\qquad n=1,\dots,\ell,\quad \forall y \in \mathcal{Y} | |||
\end{array}</math> | |||
==Inference== | |||
At test time, only a sample <math>\boldsymbol{x} \in \mathcal{X}</math> is known, and a prediction function <math>f: \mathcal{X} \to \mathcal{Y}</math> maps it to a predicted label from the label space <math>\mathcal{Y}</math>. For structured SVMs, given the vector <math>\boldsymbol{w}</math> obtained from training, the prediction function is the following. | |||
:<math>f(\boldsymbol{x}) = \underset{y \in \mathcal{Y}}{\textrm{argmax}} \quad \boldsymbol{w}'\Psi(\boldsymbol{x},y)</math> | |||
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 <math>\Psi</math>, solving for the maximizer can be a hard problem. | |||
== Separation == | |||
The above quadratic program involves a very large, possibly infinite number of linear inequality constraints. In general, the number of inequalities is too large to be optimized over explicitly. Instead the problem is solved by using [[delayed constraint generation]] where only a finite and small subset of the constraints is used. Optimizing over a subset of the constraints enlarges the [[feasible set]] and will yield a solution which provides a lower bound on the objective. To test whether the solution <math>\boldsymbol{w}</math> violates constraints of the complete set inequalities, a [[separation]]{{Disambiguation needed|date=June 2011}} problem needs to be solved. As the inequalities decompose over the samples, for each sample <math>(\boldsymbol{x}_n,y_n)</math> the following problem needs to be solved. | |||
:<math>y_n^* = \underset{y \in \mathcal{Y}}{\textrm{argmax}} \left( | |||
\Delta(y_n,y) + \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y) - \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y_n) - \xi_n\right)</math> | |||
The right hand side objective to be maximized is composed of the constant <math>-\boldsymbol{w}'\Psi(\boldsymbol{x}_n,y_n) - \xi_n</math> and a term dependent on the variables optimized over, namely <math>\Delta(y_n,y) + \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y)</math>. If the achieved right hand side objective is smaller or equal to zero, no violated constraint for this sample exist. If it is strictly larger than zero, the most violated constraint with respect to this sample has been identified. The problem is enlarged by this constraint and resolved. The process continues until no violated inequalities can be identified. | |||
If the constants are dropped from the above problem, we obtain the following problem to be solved. | |||
:<math>y_n^* = \underset{y \in \mathcal{Y}}{\textrm{argmax}} \left(\Delta(y_n,y) + \boldsymbol{w}'\Psi(\boldsymbol{x}_n,y)\right)</math> | |||
This problem looks very similar to the inference problem. The only difference is the addition of the term <math>\Delta(y_n,y)</math>. Most often, it is chosen such that it has a natural decomposition in label space. In that case, the influence of <math>\Delta</math> can be encoded into the inference problem and solving for the most violating constraint is equivalent to solving the inference problem. | |||
== References == | |||
* Ioannis Tsochantaridis, Thorsten Joachims, Thomas Hofmann and Yasemin Altun (2005), [http://www.jmlr.org/papers/volume6/tsochantaridis05a/tsochantaridis05a.pdf Large Margin Methods for Structured and Interdependent Output Variables], JMLR, Vol. 6, pages 1453-1484. | |||
* Thomas Finley and Thorsten Joachims (2008), [http://icml2008.cs.helsinki.fi/papers/279.pdf Training Structural SVMs when Exact Inference is Intractable], ICML 2008. | |||
* Sunita Sarawagi and Rahul Gupta (2008), [http://icml2008.cs.helsinki.fi/papers/402.pdf Accurate Max-margin Training for Structured Output Spaces], ICML 2008. | |||
* Gökhan BakIr, Ben Taskar, Thomas Hofmann, Bernhard Schölkopf, Alex Smola and SVN Vishwanathan (2007), [http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11332 Predicting Structured Data], MIT Press. | |||
* Vojtěch Franc and Bogdan Savchynskyy [http://www.jmlr.org/papers/volume9/franc08a/franc08a.pdf Discriminative Learning of Max-Sum Classifiers], Journal of Machine Learning Research, 9(Jan):67—104, 2008, Microtome Publishing | |||
* Kevin Murphy [http://www.cs.ubc.ca/~murphyk/MLbook/pml-print3-ch19.pdf] Machine Learning, Mit Press | |||
[[Category:Structured prediction]] | |||
[[Category:Support vector machines]] |
Revision as of 17:54, 26 February 2013
The structured support vector machine is a machine learning algorithm that generalizes the Support Vector Machine (SVM) classifier. Whereas the SVM classifier supports binary classification, multiclass classification and regression, the structured SVM allows training of a classifier for general structured output labels.
As an example, a sample instance might be a natural language sentence, and the output label is an annotated parse tree. Training a classifier consists of showing pairs of correct sample and output label pairs. After training, the structured SVM model allows one to predict for new sample instances the corresponding output label; that is, given a natural language sentence, the classifier can produce the most likely parse tree.
Training
For a set of training instances , from a sample space and label space , the structured SVM minimizes the following regularized risk function.
The function is convex in because the maximum of a set of affine functions is convex. The function measures a distance in label space and is an arbitrary function (not necessarily a metric) satisfying and . The function is a feature function, extracting some feature vector from a given sample and label. The design of this function depends very much on the application.
Because the regularized risk function above is non-differentiable, it is often reformulated in terms of a quadratic program by introducing one slack variable for each sample, each representing the value of the maximum. The standard structured SVM primal formulation is given as follows.
Inference
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.
Separation
The above quadratic program involves a very large, possibly infinite number of linear inequality constraints. In general, the number of inequalities is too large to be optimized over explicitly. Instead the problem is solved by using delayed constraint generation where only a finite and small subset of the constraints is used. Optimizing over a subset of the constraints enlarges the feasible set and will yield a solution which provides a lower bound on the objective. To test whether the solution violates constraints of the complete set inequalities, a separationTemplate:Disambiguation needed problem needs to be solved. As the inequalities decompose over the samples, for each sample the following problem needs to be solved.
The right hand side objective to be maximized is composed of the constant and a term dependent on the variables optimized over, namely . If the achieved right hand side objective is smaller or equal to zero, no violated constraint for this sample exist. If it is strictly larger than zero, the most violated constraint with respect to this sample has been identified. The problem is enlarged by this constraint and resolved. The process continues until no violated inequalities can be identified.
If the constants are dropped from the above problem, we obtain the following problem to be solved.
This problem looks very similar to the inference problem. The only difference is the addition of the term . Most often, it is chosen such that it has a natural decomposition in label space. In that case, the influence of can be encoded into the inference problem and solving for the most violating constraint is equivalent to solving the inference problem.
References
- Ioannis Tsochantaridis, Thorsten Joachims, Thomas Hofmann and Yasemin Altun (2005), Large Margin Methods for Structured and Interdependent Output Variables, JMLR, Vol. 6, pages 1453-1484.
- Thomas Finley and Thorsten Joachims (2008), Training Structural SVMs when Exact Inference is Intractable, ICML 2008.
- Sunita Sarawagi and Rahul Gupta (2008), Accurate Max-margin Training for Structured Output Spaces, ICML 2008.
- Gökhan BakIr, Ben Taskar, Thomas Hofmann, Bernhard Schölkopf, Alex Smola and SVN Vishwanathan (2007), Predicting Structured Data, MIT Press.
- Vojtěch Franc and Bogdan Savchynskyy Discriminative Learning of Max-Sum Classifiers, Journal of Machine Learning Research, 9(Jan):67—104, 2008, Microtome Publishing
- Kevin Murphy [1] Machine Learning, Mit Press