Support Vector Machine (SVM)
A support vector machine (SVM) is a family of supervised learning methods used for classification and regression. In its standard binary classification form, an SVM fits a separating hyperplane while controlling both the width of the margin around that hyperplane and violations of the margin. The training examples with nonzero coefficients in the fitted decision function are called support vectors. [1] [2] [3]
A linear SVM uses the original input features. A kernel SVM instead evaluates a kernel function between pairs of examples, which lets the same optimization procedure fit a nonlinear decision boundary without explicitly constructing every coordinate of the corresponding feature space. Related support vector methods include support vector regression (SVR), one-class SVMs for novelty or anomaly detection, and several multiclass constructions. [3] [4] [7] [23] [24]
Intuitive explanation
Imagine separating two groups of points with a straight line on a sheet of paper. Many lines might separate them, but a maximum-margin classifier chooses a line with the widest empty corridor between the groups. The nearest examples determine the corridor's edges. Those examples are the support vectors. [1] [2]
Real data are rarely separated perfectly. A soft-margin SVM therefore permits points to enter the corridor or cross the decision boundary, but charges a penalty for doing so. The parameter C sets the relative cost of those violations in the usual C-SVM formulation. It does not identify a universally good model by itself: its effect depends on the data, feature scaling, loss convention, sample weighting, and other hyperparameters. [2] [9]
A kernel changes the geometry used to measure similarity. The classifier is still linear in the kernel's feature space, even when its boundary is curved in the original input space. This is a computational device, not a claim that the data have literally acquired new observed features. [1] [3] [9]
Historical development
The history is better described as a sequence of related methods than as a single invention date. A scholarly SVR tutorial traces support vector learning to the Generalized Portrait algorithm developed by Vladimir Vapnik and Alexey Chervonenkis in the Soviet Union during the 1960s. [3] The directly documented milestones for the modern SVM include:
| Year | Development | Evidence boundary |
|---|---|---|
| 1992 | Bernhard Boser, Isabelle Guyon, and Vapnik presented a training algorithm for optimal-margin classifiers. Their formulation used a dual kernel representation and expressed the classifier through supporting patterns. | COLT paper [1] |
| 1995 | Corinna Cortes and Vapnik published support-vector networks with a soft-margin treatment for training data that cannot be separated without error. | Machine Learning paper [2] |
| 1996 | Harris Drucker, Christopher Burges, Linda Kaufman, Alex Smola, and Vapnik presented support vector regression machines at NIPS 1996. | Conference paper [4] |
| 1998 | John Platt published Sequential Minimal Optimization (SMO), which solves a sequence of two-variable subproblems for the binary SVM dual. | Microsoft Research report [5] |
| 2000-2001 | New nu-parameterized support vector algorithms and a one-class support estimation method broadened the family beyond the standard C-SVM classifier. | Journal papers [6] [7] |
| 2000 | The first version of LIBSVM was released, according to the reference paper's retrospective. The implementation document itself dates its initial version to 2001. The library later documented an SMO-type decomposition solver rather than an exact reproduction of every step in Platt's original algorithm. | LIBSVM paper [8] |
The 1992 and 1995 papers are therefore distinct milestones. The former presented a kernelized optimal-margin classifier; the latter supplied the widely used soft-margin construction for nonseparable data. [1] [2]
Mathematical formulation
Notation and decision rule
Let the training set contain n pairs (x_i, y_i), with labels y_i in {-1, +1}. A feature map phi sends an input x to a vector in a feature space. The binary decision score is
f(x) = w^T phi(x) + b
and the predicted label is usually sign(f(x)). The value f(x) is a signed score, not automatically a probability. [2] [9]
Hard-margin SVM
If the mapped training data are linearly separable, the canonical hard-margin problem is
minimize (1/2) ||w||^2
subject to
y_i (w^T phi(x_i) + b) >= 1 for every i.
The scaling of w and b is fixed by the right side of the constraint. The two margin boundaries are w^T phi(x) + b = +1 and w^T phi(x) + b = -1. Their distance is 2 / ||w||, while each boundary is 1 / ||w|| from the separating hyperplane. Minimizing (1/2)||w||^2 therefore maximizes this geometric margin. [1] [9]
This is a convex quadratic program. It is infeasible when no hyperplane separates the mapped training examples under these constraints, which is why practical classifiers normally use a soft margin.
Soft margin and hinge loss
The standard L1 soft-margin C-SVM introduces nonnegative slack variables xi_i:
minimize (1/2) ||w||^2 + C sum_i xi_i
subject to
y_i (w^T phi(x_i) + b) >= 1 - xi_i
and
xi_i >= 0.
For a fitted score f, the smallest feasible slack is the hinge loss
max(0, 1 - y_i f(x_i)).
The constrained problem is consequently equivalent to
(1/2) ||w||^2 + C sum_i max(0, 1 - y_i f(x_i)).
C is an inverse regularization parameter under this particular sum-of-losses convention. A larger value assigns more objective weight to margin violations relative to the norm of w; a smaller value assigns more weight to the norm penalty. Cortes and Vapnik's paper establishes the soft-margin construction, while current scikit-learn documentation gives the same C-SVC objective. [2] [9]
The relation between C and a parameter named lambda depends on normalization. Dividing the displayed objective by Cn gives
(1/n) sum_i hinge_i + (1/(2Cn)) ||w||^2.
Thus, if another text writes its regularizer as (lambda/2)||w||^2, then lambda = 1/(Cn). If it writes lambda||w||^2, then lambda = 1/(2Cn). Squared-hinge losses, per-sample weights, and intercept regularization create further differences between implementations. There is no convention-independent conversion based only on the symbol C. [9] [10]
Dual problem and kernelized prediction
Introduce one multiplier alpha_i for each margin constraint. The C-SVM dual can be written as
maximize sum_i alpha_i - (1/2) sum_i sum_j alpha_i alpha_j y_i y_j K(x_i, x_j)
subject to
0 <= alpha_i <= C
and
sum_i alpha_i y_i = 0.
Here K(x_i, x_j) = phi(x_i)^T phi(x_j). After optimization,
w = sum_i alpha_i y_i phi(x_i)
and the score for a new example is
f(x) = sum_(i in SV) alpha_i y_i K(x_i, x) + b.
Only examples with nonzero dual coefficients are needed in that sum. This finite expansion is also an instance of the broader representer-theorem principle for regularized empirical-risk problems in reproducing kernel Hilbert spaces. [9] [11]
KKT conditions and support vectors
For the soft-margin problem, introduce multipliers mu_i for xi_i >= 0. The Karush-Kuhn-Tucker conditions include:
w = sum_i alpha_i y_i phi(x_i)andsum_i alpha_i y_i = 0.y_i f(x_i) >= 1 - xi_iandxi_i >= 0.alpha_i >= 0,mu_i >= 0, andC - alpha_i - mu_i = 0.alpha_i [y_i f(x_i) - 1 + xi_i] = 0.mu_i xi_i = 0, equivalently(C - alpha_i) xi_i = 0.
These conditions give the usual interpretation:
| Dual coefficient | What the conditions imply |
|---|---|
alpha_i = 0 | The example does not contribute to the decision expansion. In a nondegenerate solution it lies beyond its class margin. |
0 < alpha_i < C | xi_i = 0 and y_i f(x_i) = 1, so the example lies on a margin boundary. |
alpha_i = C | The example may be on the margin, inside the margin, or misclassified. A positive slack is possible only at this upper bound. |
The fitted score is sparse in training examples when many alpha_i values are zero. That is different from feature sparsity: a linear SVM can have many nonzero feature weights, and an L1-regularized linear formulation can produce sparse feature weights even when it has many training examples. [9] [10]
The number or fraction of support vectors is not a universal measure of generalization quality. Early leave-one-out analyses related particular error bounds to supporting patterns under stated assumptions, but modern generalization results also depend on the hypothesis class, margin, kernel, regularization sequence, data distribution, and sampling assumptions. [1] [2] [12]
Kernels and nonlinear decision boundaries
What makes a valid kernel
A real-valued kernel represents inner products if it is symmetric and positive semidefinite. Equivalently, for every finite collection x_1, ..., x_m, its Gram matrix G_ij = K(x_i, x_j) must satisfy
c^T G c >= 0
for every real vector c. This finite-set condition is what preserves the convex positive-semidefinite quadratic term used by the standard SVM dual. [11] [13]
The phrase "Mercer kernel" is often used informally for such kernels. Mercer's classical spectral theorem includes additional regularity and measure assumptions. For ordinary finite-sample SVM construction, the positive-semidefinite Gram-matrix condition is the directly relevant test; invoking Mercer's theorem is not necessary for every custom kernel. [11] [13]
Common kernel functions
| Kernel | Formula | Main parameter notes |
|---|---|---|
| Linear | K(x, z) = x^T z | No kernel-width parameter. |
| Polynomial | K(x, z) = (gamma x^T z + r)^d | scikit-learn and LIBSVM accept nonnegative gamma and a nonnegative integer degree, but API acceptance alone does not guarantee a positive-semidefinite kernel. A standard sufficient setting is gamma >= 0, r >= 0, and nonnegative integer d. [13] [29] [30] |
| Gaussian radial basis function (RBF) | K(x, z) = exp(-gamma ||x-z||^2) | gamma > 0 gives a nonconstant Gaussian RBF; gamma = 0 is accepted by scikit-learn and LIBSVM and gives the constant-one kernel. [29] [30] |
| Sigmoid | K(x, z) = tanh(gamma x^T z + r) | Not positive semidefinite for every parameter choice, so it is not a valid inner-product kernel under all settings. |
These formulas match the LIBSVM guide and scikit-learn's SVM documentation. The parameter notes distinguish what the implementations accept from conditions sufficient for a positive-semidefinite kernel. The RBF kernel is the default in LIBSVM and scikit-learn's SVC, but that implementation choice does not establish that RBF is best for every dataset. The LIBSVM guide recommends RBF as a reasonable first nonlinear option while also identifying cases, such as very high-dimensional data, where a linear kernel can be preferable. [9] [13] [14] [29] [30]
Kernel validity and predictive usefulness are separate questions. A positive-semidefinite kernel gives a well-formed convex SVM objective, but it does not guarantee a useful representation for the task. Conversely, an indefinite similarity can sometimes be processed by specialized methods, but it no longer has the standard SVM interpretation without additional treatment. [13]
C, gamma, and feature scale
For an RBF SVM, C and gamma interact:
- Increasing
Craises the cost of margin violations relative to the norm penalty. - Increasing
gammamakes each training example's RBF influence more local. - Rescaling a feature changes distances and therefore changes the effective RBF kernel.
Consequently, isolated rules such as "large C overfits" or a fixed universal grid of good values are not reliable. A practical search usually examines exponentially spaced values of both C and gamma within a validation procedure, then widens or shifts the range if the best result lies at an edge. [14] [9]
Training algorithms and computational cost
Quadratic programming and decomposition
The binary kernel SVM dual contains n variables and pairwise kernel terms. A general quadratic-programming solver can solve small instances, but specialized solvers exploit the box constraints, equality constraint, sparsity of active coefficients, and repeated kernel evaluations.
SMO chooses the smallest working set that can respect the binary dual's equality constraint: two multipliers. Platt's original method solves each two-variable subproblem analytically and reported linear memory use and favorable empirical scaling on its test problems compared with the chunking implementation used in that report. Those measurements are properties of that algorithm and experimental setting, not a complexity theorem for every SVM solver. [5]
LIBSVM uses an SMO-type decomposition method. Its documented solver selects two-variable working sets using a later second-order selection strategy, updates a maintained gradient, shrinks variables that appear inactive, and caches kernel columns. It should therefore be described as related to SMO, not simply as Platt's original procedure unchanged. [8] [15]
Linear SVM solvers
When the desired boundary is linear, forming a nonlinear kernel model is often unnecessary. LIBLINEAR optimizes linear SVM objectives using methods such as coordinate descent or Newton-type procedures and stores a weight vector directly. Its reference paper was designed around large sparse classification problems. [10]
Dual coordinate descent updates one coordinate at a time for particular linear SVM duals, while Pegasos applies stochastic subgradient steps to a regularized primal objective. These algorithms optimize related SVM formulations but do not share the same iteration rule, loss, intercept handling, or stopping behavior. [16] [17]
Complexity boundaries
There is no single O(n^2) or O(n^3) cost that describes every method called an SVM.
- For scikit-learn's LIBSVM-based kernel estimators, the version 1.8 guide documents solver cost between
O(n_features * n_samples^2)andO(n_features * n_samples^3), depending on the dataset and effectiveness of the kernel cache. For sparse inputs, average nonzero features per example are the more relevant factor. [9] - A fully materialized
nbynGram matrix containsO(n^2)entries. LIBSVM can calculate and cache columns as needed, so full Gram-matrix storage is not an unavoidable peak-memory description of every implementation. Cache size still has a large effect on runtime and memory use. [8] [9] - Linear solvers can scale much better because they work with an explicit weight vector instead of a dense nonlinear Gram matrix. The exact behavior depends on sparsity, stopping tolerance, primal or dual choice, and the loss. [10] [16]
- Approximate kernel maps trade exact kernel evaluation for an explicit finite feature representation. Random Fourier features, for example, approximate certain shift-invariant kernels so that a linear learner can be used afterward. This changes the fitted hypothesis and introduces approximation error. [18]
Prediction cost also differs. A nonlinear kernel SVM generally evaluates a kernel against its stored support vectors, so latency grows with the number of support vectors and the cost of each kernel evaluation. A linear SVM can collapse the expansion into one weight vector and score an example with a dot product. [8] [9]
Model selection and data practice
Scaling without leakage
SVM objectives are not invariant to arbitrary changes in feature scale. With an RBF kernel, scale changes pairwise distances; with linear or polynomial formulations, large coordinates can dominate dot products and create numerical problems. The LIBSVM guide recommends scaling attributes and applying the same learned transformation to later data. [14]
The scaling parameters must be learned from each training split, not from the full dataset. A pipeline that fits preprocessing only on the training portion of each fold helps prevent information from validation or test examples leaking into the model. The same rule applies to imputation, feature selection, dimensionality reduction, and any target-informed preprocessing. [19]
Validation design
A defensible workflow separates three roles:
- Training folds fit preprocessing and the SVM.
- Validation or inner cross-validation selects
C, kernel parameters, class weights, and other choices. - An untouched test set, or an outer cross-validation loop, estimates performance after selection. [28]
The split strategy should respect the sampling process. Random folds can be inappropriate for grouped observations, repeated measurements, temporal prediction, or other dependent data. The metric should reflect the task and class distribution; accuracy alone can conceal poor minority-class performance. [28]
Reported results should name the SVM formulation, kernel, scaling procedure, search range, selection metric, split strategy, software and version, and whether probability calibration was enabled. Without these details, two models both labeled "SVM" may optimize materially different objectives.
Class and sample weighting
Weighted C-SVMs can assign different penalties to classes or individual examples. In LIBSVM-based SVC, a class weight multiplies C for that class, and a sample weight changes the example-specific penalty. Weighting changes the fitted optimization problem; it does not by itself choose a decision threshold or guarantee a desired recall, precision, or calibration level. [9]
Decision scores and probabilities
The ordinary SVM classifier produces a signed decision score. A probability requires a separate model or transformation. Platt scaling fits a sigmoid to decision values; Lin, Lin, and Weng later gave a convergent numerical procedure for that sigmoid fit. For multiclass prediction, pairwise binary probabilities can be coupled into class probabilities. [20] [21]
Calibration must be assessed on predictions not used to fit the calibrator. Scikit-learn's LIBSVM-backed probability option uses additional cross-validation during training, while its general calibration tools support held-out or cross-validated calibration. Probability estimation adds computation, and the class with the largest calibrated probability need not always match the class selected from uncalibrated decision scores. [9] [22]
Extensions of the SVM framework
Multiclass classification
The basic C-SVM formulation above is binary, but SVMs are not limited to binary outputs. Multiclass systems can combine binary classifiers or optimize a direct multiclass objective. [23] [24]
| Strategy | Number of fitted classifiers for K classes | Training scope | Important qualification |
|---|---|---|---|
| One-vs-rest | K | Each class against all other classes | The positive and negative groups can be highly unequal. Scores from separately fitted classifiers require a comparison rule. |
| One-vs-one | K(K-1)/2 | One classifier for each pair of classes | Each subproblem uses fewer classes, but the pair is not necessarily balanced. Voting, margins, or coupled probabilities can produce different aggregation behavior. |
| Direct multiclass SVM | One joint optimization | All classes | The objective and solver differ from a reduction to independent binary problems. |
Hsu and Lin compared several multiclass SVM methods rather than establishing a universal winner. Crammer and Singer formulated a joint multiclass kernel machine. In scikit-learn 1.8, LIBSVM-backed SVC trains one-vs-one internally, while LinearSVC uses one-vs-rest by default and exposes the Crammer-Singer alternative. [24] [23] [9]
Support vector regression
Epsilon-SVR replaces the classification margin with an epsilon-insensitive tube around a regression function. Its loss is
L_epsilon(y, f(x)) = max(0, |y - f(x)| - epsilon).
Errors inside the tube incur zero loss; errors outside it grow linearly with distance beyond the tube. The standard primal is
minimize (1/2)||w||^2 + C sum_i (xi_i + xi_i*)
subject to upper and lower deviation constraints and nonnegative slacks. The dual has two bounded coefficients per training example, and points strictly inside the epsilon tube have zero coefficients. [4] [3]
epsilon controls the no-penalty tube, while C controls the relative penalty outside it. Neither is a noise estimate unless a particular statistical model justifies that interpretation. Nonlinear SVR uses the same kernel principle as classification.
nu-parameterized methods
nu-SVC and nu-SVR replace or reparameterize parts of the standard C-SVC and epsilon-SVR formulations. For nu-SVC, under the formulation's conditions, nu gives an upper bound on the fraction of margin errors and a lower bound on the fraction of support vectors. For nu-SVR, it also participates in determining the tube width. These statements are formulation-specific and should not be transferred mechanically to C-SVC or epsilon-SVR. [6] [9]
One-class SVM
A one-class SVM is trained on unlabeled examples from a target distribution. The original method maps them into a feature space and finds a regularized hyperplane that separates most mapped examples from the origin. New points are scored according to which side of that hyperplane they occupy. [7]
In the original formulation, nu is an upper bound on the fraction of training outliers and a lower bound on the fraction of support vectors. Stronger asymptotic interpretations require the distributional and kernel assumptions stated in the paper. A one-class SVM estimates a decision region or novelty score; it does not estimate a normalized probability density by default. [7]
What the theory does and does not guarantee
Convex optimization
With a positive-semidefinite kernel and the standard convex loss, SVM training is a convex optimization problem. A solver that reaches an optimum is not trapped in a worse local minimum of that stated problem. This guarantee does not establish that: [2] [9] [13]
- the selected kernel represents the task well,
- the hyperparameters were chosen without validation bias,
- the data are representative or independent,
- the labels are correct,
- the model is calibrated, fair, robust to distribution shift, or causally interpretable.
Optimization guarantees concern the mathematical training objective. Generalization and deployment claims require separate assumptions and evidence. [2] [9] [13]
Margin and statistical learning
SVMs were developed in the context of statistical learning theory, but the slogan "larger margin always generalizes better" omits important conditions. Margin bounds involve a scale normalization and measures of hypothesis complexity, often together with a bound on the radius or norm of the inputs. The empirical margin is also affected by feature scaling and kernel parameters. [2] [12]
Consistency results are similarly conditional. Steinwart proved consistency results for specified soft-margin algorithms using universal kernels when the regularization parameter follows suitable conditions, and showed that fixed polynomial kernels can perform poorly even on simple noise-free problems. That paper supports a qualified statement about kernel and regularization choice, not a guarantee for every finite dataset or every parameter setting. [12]
Sparsity and stability
The representer theorem explains why a solution can be written as a finite expansion over training examples, while the KKT conditions explain why the standard hinge-loss SVM often uses only a subset of them. [11] These facts do not mean:
- every SVM has few support vectors,
- a small support-vector fraction alone proves low test error,
- removing every zero-coefficient point and retraining must reproduce bit-for-bit the same model under degeneracy and finite solver tolerances,
- a kernel SVM is sparse in input features.
These distinctions matter when estimating model size, prediction latency, and interpretability.
Applications and historical evidence
SVMs have been used in many fields, but application claims should be tied to a defined dataset and protocol rather than treated as timeless rankings.
Text categorization
Thorsten Joachims evaluated SVMs on the Reuters-21578 ModApte split and an Ohsumed collection in 1998. The paper studied high-dimensional, sparse document vectors and reported better precision-recall breakeven results for its SVM configurations than the comparison methods under that experiment. It is evidence of an influential historical text-classification result, not proof that SVMs dominate current language models or every text dataset. [25]
Computer vision
Dalal and Triggs used histogram of oriented gradients with a linear SVM in their 2005 human-detection system. Their paper compared descriptor and classifier choices on the MIT and INRIA pedestrian datasets. This is a concrete example of a linear SVM paired with engineered image features before end-to-end deep visual models became prevalent. [26]
Bioinformatics
Guyon, Weston, Barnhill, and Vapnik studied recursive feature elimination with linear SVMs for gene selection in leukemia and colon-cancer microarray datasets. Their reported results were experiments on those datasets and should not be read as clinical validation or a general accuracy promise for biomedical diagnosis. [27]
Regression and novelty detection
SVR has been applied when a margin-style, epsilon-insensitive regression loss is appropriate, while one-class SVMs have been applied to novelty and support estimation. Whether either method is suitable depends on the sampling process, error costs, feature representation, calibration needs, and available baselines. [4] [7]
Software implementations
| Software | SVM scope | Implementation boundary |
|---|---|---|
| LIBSVM | C-SVC, nu-SVC, epsilon-SVR, nu-SVR, one-class SVM, kernels, weights, and probability estimates | Uses an SMO-type decomposition method with kernel caching and shrinking. [8] |
| scikit-learn | SVC, SVR, NuSVC, NuSVR, OneClassSVM, LinearSVC, and LinearSVR | LIBSVM backs the kernel estimators; LIBLINEAR backs the named linear estimators. Their losses, multiclass strategies, and intercept treatment are not identical. [9] |
| LIBLINEAR | Large-scale linear classification and regression, including linear SVM objectives | Uses explicit linear models and several solver families rather than a nonlinear kernel cache. [10] |
| SVMlight | Classification and related large-scale methods | Historically used in the text and vision papers cited here; its exact options and objectives must be reported for reproducibility. [25] [26] |
Software defaults are part of the model specification. For example, SVC(kernel="rbf") is not interchangeable with LinearSVC, even when both are described informally as an SVM.
Advantages and limitations
Advantages
- Convex standard objectives: With a valid kernel, the usual classifier and regressor formulations are convex. [2] [9] [13]
- Flexible representations: Kernels provide nonlinear boundaries through pairwise inner products, while linear formulations work directly in the original feature space. [3] [9] [13]
- Training-example sparsity: The fitted kernel decision function can depend on only the support vectors. [9] [11]
- Several task formulations: Closely related methods cover binary and multiclass classification, regression, and one-class novelty detection. [3] [7] [8] [9]
- Mature implementations: LIBSVM, LIBLINEAR, and scikit-learn expose documented solvers and model parameters. [8] [9] [10]
Limitations
- Kernel scaling: Exact nonlinear kernel training can become expensive as the number of examples grows. Solver time, cache behavior, and support-vector count are data dependent. [8] [9]
- Memory and latency: Kernel caches or Gram matrices can be large, and prediction may require one kernel evaluation per stored support vector. [8] [9]
- Hyperparameter interaction:
C, kernel parameters, scaling, weights, and preprocessing must be selected together under a valid evaluation design. [9] [14] [19] - No native probability semantics: Decision scores need calibration when probabilities are required. [8] [9] [20] [21] [22]
- Sensitivity to representation: A mathematically valid kernel can still encode an unsuitable notion of similarity. [13]
- Interpretability: Linear feature weights can be inspected with care, but nonlinear kernel expansions are usually harder to explain. [10] [11]
For large sparse problems, a linear SVM is often the relevant SVM baseline. For large nonlinear problems, approximate kernel features or a different model family may be more practical. These are empirical choices, not universal thresholds. [10] [18]
Terminology
- SVM: The broad support vector machine family. [2] [3]
- SVC: Support vector classification, often specifically C-SVC in software APIs. [2] [8] [9]
- SVR: Support vector regression. [3] [4] [8] [9]
- Hard margin: A zero-training-violation formulation that requires separability in the chosen feature space. [2] [9]
- Soft margin: A formulation that penalizes margin violations through slack variables or an equivalent loss. [2] [9]
- Support vector: A training example with a nonzero coefficient in the fitted support-vector expansion. [2] [9]
- Kernel SVM: An SVM whose score is expressed through a kernel matrix or kernel evaluations. [3] [8] [9]
- Linear SVM: An SVM with an explicit linear decision function in the supplied features. [9] [10]
See also
- Kernel Support Vector Machines
- Binary Classification
- Convex Optimization
- Regression
- Cross-Validation
- Calibration
References
- ^Boser, B. E., Guyon, I. M., and Vapnik, V. N. (1992). "A Training Algorithm for Optimal Margin Classifiers." *Proceedings of the Fifth Annual Workshop on Computational Learning Theory*, 144-152. doi.org/...130385.130401
- ^Cortes, C., and Vapnik, V. (1995). "Support-Vector Networks." *Machine Learning*, 20, 273-297. doi.org/...BF00994018
- ^Smola, A. J., and Schölkopf, B. (2004). "A Tutorial on Support Vector Regression." *Statistics and Computing*, 14, 199-222. doi.org/...B:STCO.0000035301.49549.88
- ^Drucker, H., Burges, C. J. C., Kaufman, L., Smola, A. J., and Vapnik, V. (1996). "Support Vector Regression Machines." *Advances in Neural Information Processing Systems 9*. proceedings.neurips.cc/...6cb6400b40b386d-Abstract
- ^Platt, J. C. (1998). "Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines." Microsoft Research Technical Report MSR-TR-98-14. microsoft.com/...-training-support-vector-machines
- ^Schölkopf, B., Smola, A. J., Williamson, R. C., and Bartlett, P. L. (2000). "New Support Vector Algorithms." *Neural Computation*, 12(5), 1207-1245. doi.org/...089976600300015565
- ^Schölkopf, B., Platt, J. C., Shawe-Taylor, J., Smola, A. J., and Williamson, R. C. (2001). "Estimating the Support of a High-Dimensional Distribution." *Neural Computation*, 13(7), 1443-1471. doi.org/...089976601750264965
- ^Chang, C.-C., and Lin, C.-J. (2011). "LIBSVM: A Library for Support Vector Machines." *ACM Transactions on Intelligent Systems and Technology*, 2(3), Article 27. doi.org/...1961189.1961199
- ^scikit-learn developers. (2025). "Support Vector Machines." *scikit-learn 1.8 User Guide*. scikit-learn.org/...svm
- ^Fan, R.-E., Chang, K.-W., Hsieh, C.-J., Wang, X.-R., and Lin, C.-J. (2008). "LIBLINEAR: A Library for Large Linear Classification." *Journal of Machine Learning Research*, 9, 1871-1874. jmlr.org/...fan08a
- ^Schölkopf, B., Herbrich, R., and Smola, A. J. (2001). "A Generalized Representer Theorem." *Computational Learning Theory*, 416-426. doi.org/...3-540-44581-1_27
- ^Steinwart, I. (2001). "On the Influence of the Kernel on the Consistency of Support Vector Machines." *Journal of Machine Learning Research*, 2, 67-93. jmlr.org/...steinwart01a
- ^Genton, M. G. (2001). "Classes of Kernels for Machine Learning: A Statistics Perspective." *Journal of Machine Learning Research*, 2, 299-312. jmlr.org/...genton01a
- ^Hsu, C.-W., Chang, C.-C., and Lin, C.-J. (2025). "A Practical Guide to Support Vector Classification." National Taiwan University. csie.ntu.edu.tw/...guide.pdf
- ^Fan, R.-E., Chen, P.-H., and Lin, C.-J. (2005). "Working Set Selection Using Second Order Information for Training Support Vector Machines." *Journal of Machine Learning Research*, 6, 1889-1918. jmlr.org/...fan05a
- ^Hsieh, C.-J., Chang, K.-W., Lin, C.-J., Keerthi, S. S., and Sundararajan, S. (2008). "A Dual Coordinate Descent Method for Large-Scale Linear SVM." *Proceedings of the 25th International Conference on Machine Learning*, 408-415. doi.org/...1390156.1390208
- ^Shalev-Shwartz, S., Singer, Y., and Srebro, N. (2007). "Pegasos: Primal Estimated sub-GrAdient SOlver for SVM." *Proceedings of the 24th International Conference on Machine Learning*, 807-814. doi.org/...1273496.1273598
- ^Rahimi, A., and Recht, B. (2007). "Random Features for Large-Scale Kernel Machines." *Advances in Neural Information Processing Systems 20*. proceedings.neurips.cc/...effeb8f18fda755-Abstract
- ^scikit-learn developers. (2025). "Common Pitfalls and Recommended Practices." *scikit-learn 1.8 User Guide*. scikit-learn.org/...common_pitfalls
- ^Lin, H.-T., Lin, C.-J., and Weng, R. C. (2007). "A Note on Platt's Probabilistic Outputs for Support Vector Machines." *Machine Learning*, 68, 267-276. doi.org/...s10994-007-5018-6
- ^Wu, T.-F., Lin, C.-J., and Weng, R. C. (2004). "Probability Estimates for Multi-class Classification by Pairwise Coupling." *Journal of Machine Learning Research*, 5, 975-1005. jmlr.org/...wu04a
- ^scikit-learn developers. (2025). "Probability Calibration." *scikit-learn 1.8 User Guide*. scikit-learn.org/...calibration
- ^Crammer, K., and Singer, Y. (2001). "On the Algorithmic Implementation of Multiclass Kernel-based Vector Machines." *Journal of Machine Learning Research*, 2, 265-292. jmlr.org/...crammer01a
- ^Hsu, C.-W., and Lin, C.-J. (2002). "A Comparison of Methods for Multiclass Support Vector Machines." *IEEE Transactions on Neural Networks*, 13(2), 415-425. doi.org/...72.991427
- ^Joachims, T. (1998). "Text Categorization with Support Vector Machines: Learning with Many Relevant Features." *Machine Learning: ECML-98*, 137-142. doi.org/...BFb0026683
- ^Dalal, N., and Triggs, B. (2005). "Histograms of Oriented Gradients for Human Detection." *Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition*, 886-893. doi.org/...CVPR.2005.177
- ^Guyon, I., Weston, J., Barnhill, S., and Vapnik, V. (2002). "Gene Selection for Cancer Classification Using Support Vector Machines." *Machine Learning*, 46, 389-422. doi.org/...A:1012487302797
- ^scikit-learn developers. (2025). "Cross-validation: Evaluating Estimator Performance." *scikit-learn 1.8 User Guide*. scikit-learn.org/...cross_validation
- ^Chang, C.-C., Lin, C.-J., and LIBSVM contributors. (2024). "LIBSVM `svm.cpp` Parameter Validation" (cutoff-pinned source commit `2ccf2056630f3279417421f29317c3d7d3b3a597`). *Official LIBSVM source repository*. github.com/...svm.cpp
- ^scikit-learn developers. (2025). "SVC API Reference." *scikit-learn 1.8 documentation*. scikit-learn.org/...sklearn.svm.SVC
Improve this article
Add missing citations, update stale details, or suggest a clearer explanation. Every suggestion is reviewed for sourcing before it goes live.
6 revisions · v7 · 5,126 words · full history
Fact-checks are independent of edits: a reviewer re-verifies the article against its sources and stamps the date. How we verify
Research and drafting on this wiki are AI-assisted, under named human editorial standards. How AI is used here
Reviewer note: Independent 2026-07-28 fact-check: 30 explicit HTTPS references, 163 resolved body citation calls, 13 unique canonical internal targets, and a 36-row claim ledger were reviewed. Root accepted the exact 5,096-word candidate at SHA-256 df67a5d942642ca922313bf405d6b1daafeb93a2ccfd1a7687a2395f5f5dba41 under factual finding 6c8f98b67ae4e25bb1b608ed84ce4a3e82bf9e81d6a272f1b228c41958dd95af; the candidate is longer than the archived version-6 baseline, so the protected-shorter safeguard is not triggered. Root-accepted Wave354 result ea90b2327050ce903e4f49423f6ebd170fd1f5461cd13844e624378b85459a37 records exactly one SELECT-only call, zero writes and zero retries, 17/17 live checks and 18/18 local checks for page 5053: exact version-6 baseline content; the unchanged Machine Learning category set; null description, AI summary, structured metadata, and prior verification fields; false lock/review/conflict flags; exact created-at and other protected metadata; five saved revisions; two normalized identities; two healthy direct redirects; clear moderation queues; and all 13 targets. It binds live-and-stamped Stability AI page 156 version 12 at content SHA-256 483e1972e3428b8dfc0c888cca8bed98ea4a7fb93dccc61310221d4da29c17b7 and stamp 2026-07-31T18:35:40.587Z under completed manifest aa27aac912c59eabdeac18e3dde88feffc151ff9fd3c937c41520a54acaa8650. Root accepted Wave354 under edb5ee90c3ac1ffece8a01fed894550489f38eb3d5a86b426d04bb300c9fdcaa. Only scripts/upsert-article.mjs may perform the article write and its canonical same-set category-association refresh; no auxiliary category, infobox, Hugging Face, redirect, moderation, or link-table write is authorized. Verification follows only after exact postwrite, prestamp preservation, and saved-version-6 rollback checks, and final preservation must reconfirm metadata, identities, redirects, revision frontier, predecessor, category set, and all 13 targets.
Cite this page: AI Wiki. "Support Vector Machine (SVM)." aiwiki.ai, updated 31 Jul 2026, fact-checked 31 Jul 2026. CC BY 4.0. https://aiwiki.ai/wiki/support_vector_machine_svm