Curso
Los modelos lineales son sencillos e intuitivos, pero fallan en cuanto tus datos no son linealmente separables.
Y la mayoría de datos reales no lo son. Por mucho que ajustes los pesos, una frontera de decisión recta no encaja bien: las clases se solapan o forman patrones que ninguna recta puede separar sin errores. Si sabes que el modelo se queda corto pero no quieres saltar directamente a una red neuronal, hay un buen punto intermedio.
Las Support Vector Machines ofrecen un "truco": puedes proyectar tus datos a un espacio de mayor dimensión y, lo que parecía inseparable, a menudo pasa a ser separable. El truco del kernel es un atajo computacional que permite que los modelos basados en kernel, como las SVM, operen como si los datos se hubieran transformado, sin efectuar nunca esa transformación de forma explícita.
En este artículo verás exactamente cómo funciona el truco del kernel dentro de las SVM, qué funciones de kernel conviene conocer y cuándo merece la pena apostar por métodos con kernel.
¿Pero qué es exactamente una SVM? Lee nuestro artículo sobre Support Vector Machines con Scikit-learn para conocer el algoritmo y cómo aplicarlo.
¿Qué es el truco del kernel?
El truco del kernel es un método para calcular productos internos en un espacio de características de mayor dimensión sin mapear explícitamente los datos a ese espacio.
Es decir, no transformas realmente tus puntos de datos para después operar con ellos. Calculas cuál sería el resultado de esa operación mediante una función kernel que actúa directamente sobre las entradas originales.
Debes tener presente que el truco del kernel solo aplica a modelos que se basan en productos punto entre puntos de datos. No es una técnica general de ML. Si un modelo no usa productos punto internamente, el truco del kernel no aplica. La mayoría de modelos no lo usan.
SVM, procesos gaussianos y kernel PCA son buenos ejemplos donde este truco funciona. Pero que no te digan que es algo que "usan la mayoría de modelos de ML".
Por qué existe el truco del kernel
Los modelos lineales solo pueden aprender fronteras de decisión lineales. Es su restricción dura y lo que los hace fáciles de entender e interpretar.
Pero la mayoría de conjuntos de datos reales no son linealmente separables. No hay una línea recta (o hiperplano) que divida las clases limpiamente. Con el truco del kernel, al proyectar esos datos a un espacio de mayor dimensión, pueden volverse separables.
La forma obvia de afrontarlo es transformar explícitamente los datos creando nuevas características, mapeando cada punto al espacio de mayor dimensión y entrenando el modelo allí. Funciona, pero el coste escala. Si mapeas a un espacio de miles de dimensiones, almacenar y calcular con esos vectores transformados se vuelve caro.
Con el truco del kernel, en lugar de calcular la transformación completa φ(x) para cada punto, calculas K(x, x′): una función kernel que te da directamente el mismo resultado del producto interno.
El truco del kernel en Support Vector Machines
Una SVM encuentra la frontera de decisión que maximiza el margen entre dos clases.
Para hallar esa frontera, la SVM resuelve un problema de optimización. Y en su forma dual, la optimización depende solo de productos punto entre puntos de datos, no de los puntos en sí. El objetivo dual se ve así:

Función objetivo dual
Donde α_i son los pesos aprendidos, y_i son las etiquetas de clase y ⟨x_i, x_j⟩ es el producto punto entre dos puntos de datos. La SVM solo necesita las similitudes por pares entre los puntos.
Si la SVM solo necesita productos punto, no tienes por qué dárselos calculados en el espacio original. Puedes sustituir ⟨x_i, x_j⟩ por una función kernel K(x_i, x_j):

Fórmula con función kernel
La SVM funciona exactamente igual. Simplemente "cree" que está operando en un espacio de características más rico.
Y de eso va el truco del kernel.
Cómo funciona el truco del kernel (visión conceptual)
El enfoque estándar sería definir un mapeo φ(x) que transforma cada punto de datos a un espacio de mayor dimensión, y calcular allí los productos punto:

El mapeo
Pero calcular φ(x) explícitamente puede ser costoso, y en algunos casos el espacio mapeado tiene miles o incluso infinitas dimensiones.
El truco del kernel se salta ese paso.
En lugar de calcular φ(x) y luego el producto punto, calculas directamente K(x, x′): una función kernel que satisface:

Cálculo con función kernel
El resultado es idéntico, pero el coste es menor.
Piensa en K(x, x′) como una función de similitud. Toma dos puntos en el espacio original y devuelve un número que refleja lo parecidos que son, pero de forma coherente con compararlos en un espacio mucho más rico. El modelo actúa como si los datos se hubieran transformado. Simplemente no lo fueron.
Funciones kernel habituales
No todas las funciones kernel funcionan igual. Cada una define una noción distinta de similitud entre puntos, y por tanto induce un tipo diferente de frontera de decisión. Veamos algunas.
Kernel lineal

Kernel lineal
El kernel lineal es simplemente el producto punto estándar. El modelo permanece en el espacio de características original y aprende una frontera lineal, por lo que es equivalente a una SVM lineal estándar.
Úsalo cuando tus datos ya son linealmente separables. Es la opción más rápida y la más fácil de interpretar.
Kernel polinómico

Kernel polinómico
Donde c es una constante y d es el grado del polinomio.
El kernel polinómico captura interacciones entre características. Un kernel de grado 2, por ejemplo, considera todas las combinaciones de características por pares. Esto permite aprender fronteras curvas sin que tengas que crear manualmente esos términos de interacción.
Grados más altos implican fronteras más expresivas, pero también mayor riesgo de sobreajuste.
Kernel RBF (gaussiano)

Kernel RBF
El kernel RBF (Radial Basis Function) es el más usado en la práctica. Mide la similitud en función de la distancia: dos puntos cercanos obtienen una puntuación alta; dos puntos lejanos, una cercana a cero.
Lo interesante es que mapea implícitamente los datos a un espacio de dimensión infinita. Esto le da la flexibilidad necesaria para capturar fronteras no lineales complejas que otros kernels no pueden manejar.
Kernel sigmoide

Kernel sigmoide
El kernel sigmoide se usa menos que los kernels RBF o polinómicos y, según la elección de parámetros, no siempre satisface las condiciones matemáticas para ser un kernel válido.
Aparece de forma ocasional en literatura más antigua, pero en la práctica RBF suele ser un punto de partida mucho mejor.
Más allá de SVM
SVM es el algoritmo más común para aplicar el truco del kernel, pero no es el único.
Otros modelos que usan la misma idea:
- Kernel ridge regression aplica ridge regression en un espacio de mayor dimensión usando una función kernel en lugar de características explícitas
- Procesos gaussianos usan funciones kernel para definir la covarianza entre puntos. El kernel codifica supuestos sobre la suavidad y la forma de la función que quieres aprender
- Kernel PCA amplía el PCA estándar a estructuras no lineales encontrando componentes principales en un espacio transformado
En todos ellos, el modelo solo necesita productos punto, así que puedes sustituirlos por una función kernel y obtener comportamiento no lineal sin cambiar el resto de las matemáticas.
Aun así, SVM sigue siendo el ejemplo más claro y el mejor punto para construir tu intuición.
Truco del kernel vs. ingeniería de características
Ambos enfoques resuelven que tus características no sean lo bastante expresivas, pero lo hacen de forma distinta.
Con la ingeniería de características, creas explícitamente nuevas variables a partir de las existentes. Decides qué combinaciones importan, las calculas, las añades a tu conjunto de datos y entrenas con el conjunto ampliado. Ves exactamente qué entra en el modelo.
El truco del kernel opera de forma implícita en un espacio de mayor dimensión sin que definas ni almacenes esas variables extra. La transformación la describe la función kernel.
La disyuntiva se reduce a interpretabilidad frente a flexibilidad.
La ingeniería de características mantiene todo transparente, porque sabes qué representa cada variable. El truco del kernel te da más capacidad expresiva, pero el espacio implícito suele ser difícil de inspeccionar o explicar.
Si la interpretabilidad es importante en tu caso de uso, la ingeniería de características es la apuesta segura. Si necesitas capturar patrones complejos y no tienes que justificar cada decisión del modelo, el truco del kernel te llevará más rápido.
Ventajas del truco del kernel
La más obvia es que permite a modelos lineales aprender fronteras no lineales. Sin él, una SVM solo separa con un hiperplano recto. Con él, el mismo modelo maneja fronteras curvas y complejas.
También evita el coste de computar explícitamente en alta dimensión. Obtienes el poder expresivo de un espacio más rico sin almacenar ni calcular esas dimensiones adicionales. Cuando el espacio implícito tiene miles o infinitas dimensiones, esto es lo que hace viable el enfoque.
Los métodos con kernel también suelen funcionar bien con conjuntos de datos de tamaño medio. Cuando no tienes millones de ejemplos pero tus datos no son linealmente separables, una SVM con un buen kernel suele ser una opción sólida y fiable.
Limitaciones del truco del kernel
El mayor problema es la escala. Entrenar una SVM con kernel requiere calcular K(x_i, x_j) para cada par de puntos del conjunto de entrenamiento. Es una operación de O(n²), y si cuentas la memoria, aún peor. En conjuntos grandes, puede convertirse en un cuello de botella serio.
Elegir el kernel tampoco es trivial. RBF es un buen valor por defecto, pero no siempre es el adecuado. Elegir mal el kernel —o sus hiperparámetros— puede darte un rendimiento peor que al principio.
La interpretabilidad es otro tema. Con ingeniería de características, sabes qué significa cada variable. Con el truco del kernel, el espacio implícito no está claro. El modelo funciona, pero explicar el porqué de una decisión concreta es difícil.
Y en muchos dominios, el deep learning ha tomado la delantera. Las redes neuronales manejan grandes volúmenes de datos, aprenden sus propias representaciones y a menudo superan a los métodos con kernel sin requerir selección manual de kernel. Para visión, NLP o cualquier tarea con datos masivos, rara vez son la primera opción hoy.
Cuándo usar métodos con kernel
Los métodos con kernel no están obsoletos en 2026, pero sí se han especializado más.
Deberías optar por un método con kernel, como una SVM con kernel RBF, cuando:
- Tus datos tienen estructura no lineal que un modelo lineal no capta
- Tu conjunto es de tamaño pequeño o medio: miles de muestras, no millones
- No necesitas explicar predicciones individuales, así que una menor interpretabilidad es un compromiso aceptable
Encajan bien en problemas con datos estructurados y tabulares donde tienes pocos datos y necesitas un modelo que generalice bien sin mucho ajuste fino. En esos casos, una SVM con kernel puede superar a modelos más complejos.
Pero si tu conjunto es grande o necesitas explicabilidad, los métodos con kernel no son la mejor solución.
Ejemplo: SVM con y sin kernel
La mejor forma de ver qué hace realmente el truco del kernel es observar cómo falla una SVM lineal y después arreglarla con un kernel.
En el ejemplo de abajo, tienes un conjunto de datos con dos círculos concéntricos: una clase forma un anillo interior y la otra, uno exterior. No hay ninguna recta que los separe. Una SVM lineal fallará siempre.
Con un kernel RBF, la misma SVM trazará una frontera circular que separa las clases. Lo único que ha cambiado es la función kernel.
Aquí tienes el ejemplo completo:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.datasets import make_circles
# Generate concentric circles dataset
np.random.seed(42)
X, y = make_circles(n_samples=300, noise=0.1, factor=0.4)
# Train both SVMs
svm_linear = SVC(kernel="linear", C=1)
svm_rbf = SVC(kernel="rbf", C=1, gamma="scale")
svm_linear.fit(X, y)
svm_rbf.fit(X, y)
print(f"Linear SVM accuracy: {svm_linear.score(X, y):.0%}")
print(f"RBF SVM accuracy: {svm_rbf.score(X, y):.0%}")

Exactitud: SVM lineal vs. SVM con RBF
La SVM lineal traza una frontera recta por el medio. Parte el plano en dos mitades, lo que no refleja la estructura real del problema. El kernel RBF, en cambio, produce una frontera circular que sigue la forma de los datos.

Visualización: SVM lineal vs. SVM con RBF
En resumen, el modelo no aprendió una estructura más compleja: operó en un espacio donde esa estructura era más fácil de encontrar.
Ideas equivocadas frecuentes sobre el truco del kernel
Hay un par de malentendidos que aparecen a menudo, así que los aclaramos aquí.
"El truco del kernel funciona para todos los modelos." No. Solo aplica a modelos que dependen de productos punto entre datos en su optimización. La mayoría —árboles de decisión, random forests, redes neuronales, regresión lineal— no utilizan los productos punto de esa manera, así que el truco no aplica.
"Transforma literalmente los datos." No de forma explícita. Tus datos originales se quedan como están. La función kernel calcula cuál sería el producto punto en un espacio de mayor dimensión, pero en la práctica no se hace ninguna transformación. Los datos no se amplían ni se almacenan de otra forma.
"Siempre mejora el rendimiento." Depende. En problemas no lineales con conjuntos pequeños o medianos, un buen kernel puede marcar la diferencia. En conjuntos grandes, el coste computacional suele superar el beneficio. Y si tus datos ya son linealmente separables, añadir un kernel solo añade complejidad.
Por qué el truco del kernel sigue importando
El truco del kernel no es la idea de moda en ML ahora mismo. El deep learning encabeza la mayoría de benchmarks y los métodos con kernel rara vez aparecen.
Aun así, sigue siendo un concepto fundamental que merece la pena entender.
Las SVM y el truco del kernel fueron centrales en el ML clásico porque funcionan bien con datos estructurados y tabulares con pocas muestras, y las matemáticas detrás son limpias y bien entendidas. Si quieres comprender cómo funciona el aprendizaje basado en similitud o por qué los productos punto importan en optimización, el truco del kernel es uno de los ejemplos más claros.
Además, sigue teniendo usos reales. Conjuntos pequeños, dominios especializados como bioinformática o clasificación de texto con características artesanales, y problemas donde necesitas que el modelo generalice bien sin muchos datos: ahí los métodos con kernel siguen siendo relevantes.
El kernel fue desplazado en dominios donde la escala y el volumen bruto de datos mandan. En el contexto adecuado, sigue siendo una buena herramienta.
Conclusión
El truco del kernel resuelve un problema concreto: cómo obtener comportamiento no lineal de un modelo que solo sabe trabajar con productos punto. La respuesta es sustituir esos productos por una función kernel que calcule el mismo resultado en un espacio de características más rico, sin ir realmente allí.
Es especialmente útil entenderlo en el contexto de las SVM, donde la formulación dual hace que la sustitución sea limpia y explícita. Una vez te sientas cómodo con ello, la familia más amplia de métodos con kernel tendrá mucho más sentido.
Hoy el deep learning acapara la atención, y para problemas a gran escala es lógico. Pero el truco del kernel representa otra forma de pensar: basada en la geometría y la similitud. Merece la pena comprenderlo, aunque salvo que trabajes en un campo especializado, lo usarás poco en la práctica.
¿Y por qué exactamente el deep learning tomó la delantera? Apúntate a nuestro itinerario de aprendizaje Deep Learning in Python y descubre cómo las redes neuronales permiten construir modelos complejos a escala.
FAQs
¿Qué es el truco del kernel en palabras sencillas?
El truco del kernel es un atajo computacional que permite que ciertos modelos —como las SVM— aprendan patrones no lineales sin transformar explícitamente los datos a un espacio de mayor dimensión. En lugar de calcular esa transformación, una función kernel computa cuál sería el producto punto entre dos puntos en ese espacio. Obtienes el poder expresivo de un espacio de características más rico sin el coste de ir realmente allí.
¿Qué modelos de machine learning usan el truco del kernel?
El truco del kernel solo aplica a modelos que dependen de productos punto en su optimización. Las SVM son el ejemplo más común, pero también lo usan kernel ridge regression, procesos gaussianos y kernel PCA. La mayoría de modelos modernos no usan los productos punto de esta forma, por lo que el truco no les aplica.
¿Sigue siendo relevante el truco del kernel en 2026?
Para problemas a gran escala, el deep learning ha tomado la delantera. Pero los métodos con kernel siguen funcionando bien en conjuntos pequeños o medianos, datos tabulares estructurados y dominios especializados como bioinformática o clasificación de texto con características diseñadas a mano. Entender el truco del kernel también te da un modelo mental más claro del aprendizaje basado en similitud, útil más allá de las SVM.
¿Cuál es la diferencia entre el kernel RBF y el kernel lineal?
El kernel lineal calcula un producto punto estándar y produce una frontera de decisión lineal: equivale a entrenar una SVM sin kernel. El kernel RBF (Radial Basis Function) mide la similitud en función de la distancia entre puntos y mapea implícitamente los datos a un espacio de dimensión infinita. Esto lo hace mucho más adecuado para problemas no lineales, por eso suele ser la opción por defecto cuando no tienes claro qué kernel usar.
¿Por qué el truco del kernel escala mal con conjuntos grandes?
Entrenar una SVM con kernel requiere calcular K(x_i, x_j) para cada par de puntos del entrenamiento. Es una operación de O(n²). La memoria escala igual, ya que debes almacenar la matriz kernel completa. Por eso rara vez se usan métodos con kernel en conjuntos con cientos de miles de muestras o más.
