Truco del kernel: RBF, polinómico y sigmoide
Por qué funcionan los kernels, parámetro gamma del kernel RBF y elección de kernels para distintas formas de datos.
Truco del kernel: RBF, polinómico y sigmoide es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Cuando las líneas no son suficientes
Una SVM lineal solo dibuja fronteras rectas. Muchos conjuntos de datos no son separables linealmente: una clase puede estar rodeada por otra formando un círculo, que no se puede separar con una línea. El truco del kernel resuelve este problema.
Mapeo a dimensiones superiores
Si los datos no son separables en su espacio original, proyectarlos en un espacio de mayor dimensión puede hacerlos separables. Una curva en 2D puede convertirse en un plano en 3D.
El truco del kernel
El truco del kernel calcula la similitud K(x, z) entre puntos como si se hubieran mapeado a dimensiones superiores, sin realizar nunca ese costoso mapeo. Esto hace eficientes las SVM no lineales.
Qué es una función kernel
Un kernel K(x, z) es una función que devuelve el producto escalar de x y z en algún espacio de características de alta dimensión. Cada kernel implica un mapeo de características y unas formas de frontera diferentes.
El kernel RBF
El kernel RBF (gaussiano) es la opción predeterminada más popular: K(x, z) = exp(-gamma * ||x - z||^2). Mide la similitud, que disminuye con la distancia, y permite fronteras curvas y flexibles.
from sklearn.svm import SVC
model = SVC(kernel="rbf", gamma="scale", C=1.0)
model.fit(X, y)El parámetro gamma
gamma controla la amplitud del RBF. Un gamma grande significa que cada punto tiene una influencia limitada, lo que produce una frontera sinuosa que puede sufrir sobreajuste. Un gamma pequeño implica una influencia más amplia y una frontera más suave.
from sklearn.svm import SVC
wiggly = SVC(kernel="rbf", gamma=10) # tight, can overfit
smooth = SVC(kernel="rbf", gamma=0.01) # broad, may underfitgamma y C en conjunto
Las SVM con RBF dependen tanto de gamma (flexibilidad de la frontera) como de C (tolerancia a los errores). Ambos parámetros interactúan, por lo que normalmente se ajustan conjuntamente mediante una búsqueda en cuadrícula.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
param = {"C": [0.1, 1, 10], "gamma": [0.01, 0.1, 1]}
gs = GridSearchCV(SVC(kernel="rbf"), param, cv=5)
gs.fit(X, y)El kernel polinómico
El kernel polinómico K(x, z) = (gamma * x . z + r)^degree modela interacciones hasta un grado elegido. Utilícelo cuando espere interacciones entre características de un orden conocido.
from sklearn.svm import SVC
model = SVC(kernel="poly", degree=3, coef0=1, gamma="scale")
model.fit(X, y)El kernel sigmoide
El kernel sigmoide K(x, z) = tanh(gamma * x . z + r) se comporta como una función de activación de una red neuronal. Es menos común y no siempre es un kernel válido, por lo que rara vez es la primera opción.
from sklearn.svm import SVC
model = SVC(kernel="sigmoid", gamma="scale", coef0=0)Elegir un kernel
Orientaciones:
- Lineal para datos de alta dimensión o texto
- RBF como opción predeterminada sólida para datos no lineales
- Polinómico cuando son importantes las interacciones de un grado conocido
- Sigmoide en casos poco frecuentes y específicos
Escalar siempre las características
Los kernels como RBF dependen de las distancias, por lo que la escala de las características es fundamental. Estandarice siempre las características antes de utilizar una SVM con kernel; de lo contrario, las características con mayor escala dominarán la similitud.
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
pipe = make_pipeline(StandardScaler(), SVC(kernel="rbf"))
pipe.fit(X, y)Comprobación rápida
Compruebe sus conocimientos sobre los kernels.
Repaso
Repaso: el truco del kernel calcula K(x, z) como un producto escalar de alta dimensión sin el coste del mapeo, lo que permite crear fronteras no lineales. RBF utiliza exp(-gamma * ||x-z||^2), donde un gamma grande produce sobreajuste. El kernel polinómico captura interacciones de grado d. Escale siempre las características antes de utilizar SVM con kernel.
Preguntas frecuentes
¿La lección «Truco del kernel: RBF, polinómico y sigmoide» es gratis?
Sí — el texto completo de «Truco del kernel: RBF, polinómico y sigmoide» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Truco del kernel: RBF, polinómico y sigmoide»?
Por qué funcionan los kernels, parámetro gamma del kernel RBF y elección de kernels para distintas formas de datos. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Truco del kernel: RBF, polinómico y sigmoide»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Teoría de SVM: márgenes y vectores de soporte
- Truco del kernel: RBF, polinómico y sigmoide
- SVM para clasificación con sklearn
- SVM para regresión (SVR)