¿Qué es un método de kernel en el contexto del aprendizaje automático?

Me gusta pensar en los métodos del núcleo como un grupo de algoritmos que le permiten tener la capacidad de ‘intercambiar’ sus suposiciones subyacentes sobre los datos, mientras deja intacto el marco general.

Aquí hay una lista de los núcleos que se usan comúnmente:

Fuente: OpenStax CNX

SVM es probablemente el método de kernel más famoso, que implica la siguiente ecuación:
[matemática] f (x) = \ sum \ limites_ {i = 1} ^ n \ lambda_i K (x, x_i) [/ matemática]
Si creemos que nuestros datos son linealmente separables, entonces podemos usar un núcleo lineal, como se especifica a continuación. Si resulta que los datos se separan mejor con un polinomio, no tenemos que ir y derivar una ecuación completamente nueva, simplemente necesitamos intercambiar [matemáticas] K (x, xi) [/ matemáticas] parte de la ecuación.

Por ejemplo, el siguiente gráfico muestra puntos que claramente no pueden separarse mediante una función lineal. Sin embargo, si proyectamos en una dimensión superior utilizando una función de base radial, la separación es mucho más clara.


Fuente: Revista de Informática Patológica

Puede ver por qué los métodos de kernel son agradables, ya que permiten flexibilidad para probar diferentes tipos de supuestos de datos.