Polynomial kernel


In machine learning, the polynomial kernel is a kernel function commonly used with support vector machines and other kernelized models, that represents the similarity of vectors in a feature space over polynomials of the original variables, allowing learning of non-linear models.
Intuitively, the polynomial kernel looks not only at the given features of input samples to determine their similarity, but also combinations of these. In the context of regression analysis, such combinations are known as interaction features. The feature space of a polynomial kernel is equivalent to that of polynomial regression, but without the combinatorial blowup in the number of parameters to be learned. When the input features are binary-valued, then the features correspond to logical conjunctions of input features.

Definition

For degree- polynomials, the polynomial kernel is defined as
where and are vectors in the input space, i.e. vectors of features computed from training or test samples and is a free parameter trading off the influence of higher-order versus lower-order terms in the polynomial. When, the kernel is called homogeneous.
As a kernel, corresponds to an inner product in a feature space based on some mapping :
The nature of can be seen from an example. Let, so we get the special case of the quadratic kernel. After using the multinomial theorem and regrouping,
From this it follows that the feature map is given by:

Practical use

Although the RBF kernel is more popular in SVM classification than the polynomial kernel, the latter is quite popular in natural language processing.
The most common degree is , since larger degrees tend to overfit on NLP problems.
Various ways of computing the polynomial kernel have been devised as alternatives to the usual non-linear SVM training algorithms, including:
One problem with the polynomial kernel is that it may suffer from numerical instability: when, tends to zero with increasing, whereas when, tends to infinity.