Los métodos de kernel son una clase de algoritmos en aprendizaje automático para el análisis de patrones, siendo la máquina de vectores de soporte (SVM) su miembro más conocido. Estos métodos aplican clasificadores lineales a problemas no lineales mediante una técnica matemática conocida como el truco del kernel. En lugar de transformar explícitamente los datos a un espacio de características de alta dimensión mediante un mapa de características especificado por el usuario, los métodos de kernel se basan en una función kernel, que calcula productos internos entre pares de puntos de datos en ese espacio implícito. Este enfoque suele ser computacionalmente más barato que el cálculo explícito de coordenadas, y permite que los algoritmos operen en espacios que pueden ser de dimensión infinita, requiriendo solo una matriz de dimensión finita proporcionada por el usuario, como garantiza el teorema del representante.
El término "kernel" se refiere a la función de similitud que mide la cercanía entre dos entradas cualesquiera. Se han desarrollado funciones kernel para diversos tipos de datos, incluyendo secuencias, grafos, texto, imágenes y vectores. Los algoritmos que pueden operar con kernels incluyen el perceptrón kernel, las máquinas de vectores de soporte, los procesos gaussianos, el análisis de componentes principales (PCA), el análisis de correlación canónica, la regresión ridge, la agrupación espectral y los filtros adaptativos lineales. La mayoría de los algoritmos kernel se basan en optimización convexa o problemas de autovalores y están bien fundamentados estadísticamente, con sus propiedades analizadas a menudo mediante la teoría del aprendizaje estadístico, como la complejidad de Rademacher.
Motivación y explicación informal
Los métodos de kernel pueden considerarse aprendices basados en instancias. En lugar de aprender un conjunto fijo de parámetros correspondientes a las características de entrada, "recuerdan" los ejemplos de entrenamiento y aprenden un peso para cada uno. Para una entrada no etiquetada, la predicción implica calcular una suma ponderada de similitudes entre esa entrada y todos los ejemplos de entrenamiento, utilizando la función kernel. Para un clasificador binario, la etiqueta predicha es el signo de esta suma. Este enfoque se describió ya en la década de 1960 con el perceptrón kernel, pero ganó prominencia en la década de 1990 con el auge de la SVM, que se convirtió en una herramienta estándar en la investigación y aplicaciones de inteligencia artificial.
El truco del kernel y los espacios de características
El truco del kernel es la idea central detrás de los métodos de kernel. Permite que los algoritmos operen en un espacio de características implícito de alta dimensión sin calcular nunca las coordenadas de los datos en ese espacio. En su lugar, solo se calculan los productos internos entre las imágenes de pares de datos. Esto suele ser más barato que la transformación explícita. Por ejemplo, un kernel polinómico puede mapear implícitamente los datos a un espacio de todos los monomios hasta un grado dado, permitiendo que un clasificador lineal separe datos que no son linealmente separables en el espacio de entrada original. El mapa de características en las máquinas kernel puede ser de dimensión infinita, pero el teorema del representante asegura que la solución puede expresarse como una combinación finita de evaluaciones del kernel sobre los datos de entrenamiento.
Funciones kernel comunes
Varias funciones kernel se utilizan ampliamente en la práctica. El kernel lineal es simplemente el producto interno de dos vectores. El kernel polinómico, de la forma (x·x' + c)^d, introduce no linealidad al considerar productos de características. El kernel de función de base radial (RBF), también conocido como kernel gaussiano, se define como exp(-γ||x - x'||^2) y es una opción predeterminada popular porque puede aproximar cualquier función continua con suficientes datos. Otros kernels incluyen el kernel sigmoide y kernels personalizados diseñados para estructuras de datos específicas, como kernels de cadenas para texto o kernels de grafos para datos estructurados. La elección del kernel y sus parámetros afecta significativamente el rendimiento de los algoritmos basados en kernel.
Aplicaciones y limitaciones
Los métodos de kernel se han aplicado en muchos dominios, incluyendo visión por computadora, bioinformática, procesamiento de lenguaje natural y procesamiento de señales. Por ejemplo, las SVM con kernels RBF fueron un enfoque líder para la clasificación de imágenes antes del auge del aprendizaje profundo. Sin embargo, los métodos de kernel tienen limitaciones notables. Son lentos de calcular para conjuntos de datos más grandes que unos pocos miles de ejemplos sin procesamiento paralelo, ya que la matriz kernel escala cuadráticamente con el número de muestras. Esto ha llevado al desarrollo de métodos aproximados y al cambio hacia enfoques de redes neuronales, que pueden manejar datos a gran escala de manera más eficiente. No obstante, los métodos de kernel siguen siendo valiosos por sus garantías teóricas e interpretabilidad, y continúan utilizándose en aplicaciones especializadas.
Relación con el aprendizaje automático moderno
Los métodos de kernel comparten vínculos conceptuales con el aprendizaje profundo y las arquitecturas transformers. Por ejemplo, el mecanismo de atención en los transformers puede verse como una forma de suavizado kernel, donde se calculan puntuaciones de similitud entre consultas y claves. Algunos investigadores han explorado conexiones entre redes neuronales de ancho infinito y procesos gaussianos, un método kernel. Aunque el aprendizaje profundo ha superado en gran medida a los métodos de kernel en muchas aplicaciones prácticas debido a la escalabilidad y el aprendizaje de características, los métodos de kernel aún informan la comprensión teórica y proporcionan líneas base robustas. También se utilizan en enfoques híbridos, como la regularización basada en kernel en redes neuronales.