Kernels

Tal y como se ha comentado, los vectores correspondientes al bloque de entrenamiento son mapeados a un espacio de mayor dimensionalidad por una cierta función, y este mapeo es responsabilidad de lo que denominamos kernel. Un kernel viene determinado por una matriz cuadrada de dimensión igual al número de muestras siendo analizadas, y el contenido de esta matriz es la resultante de aplicar la función de mapeo al conjunto de entrenamiento.

Scikit-learn ofrece 4 kernels básicos. En las siguientes fórmulas xi y xj representan los valores de la matriz de coeficientes del conjunto de entrenamiento, XT la transpuesta de X, ‖X‖ representa la norma L2 de X, y el punto (.) representa el producto de dos matrices.

Linear

La función aplicada es:

Linear kernel

Polynomial

En el kernel polinómico la función aplicada es:

Polynomial kernel

...donde γ viene dada por el parámetro gamma de la función SVC, r por coef0 y d por el parámetro degree.

Radial Basis Function

La función aplicada es:

Radial basis function kernel

‖Xi-Xj‖ representa una matriz cuadrada con la distancia euclídea entre cada par de puntos de X. Esta matriz puede conseguirse con la función sklearn.metrics.pairwise.euclidean_distances. Al igual que en el caso del kernel polinómico, γ viene dado por el parámetro gamma de SVC.

Sigmoid

En este último caso la función aplicada es:

Sigmoid

...donde γ y r vienen dados por los parámetros gamma y coef0, respectivamente.