Aprendizaje Supervisado · Machine Learning

Máquinas de soporte vectorial

Explicar el principio de separación de margen máximo de las máquinas de soporte vectorial y cómo el truco kernel las vuelve no lineales sin calcular coordenadas explícitas.

Máquinas de soporte vectorial

Separar con el máximo margen No basta con separar: hay que separar con holgura. Entre todas las fronteras que clasifican bien el entrenamiento, la support vector machine escoge la que deja el mayor margen de seguridad, porque intuye —y demuestra— que esa generaliza mejor.

El hiperplano separador

En un espacio de dos dimensiones, separar dos nubes de puntos es trazar una recta. En más dimensiones, un hiperplano. Millones de hiperplanos lo logran; el problema es cuál elegir para que resista datos nuevos. La respuesta del soporte vectorial: el del margen ancho.

El margen y su anchura

El margen es la distancia del hiperplano a los puntos más cercanos de cada clase. Maximizarlo equivale a colocar la frontera en el medio exacto de la calle entre las dos clases. Un margen ancho tolera mejor el ruido y las pequeñas perturbaciones de los datos nuevos.

Los vectores de soporte

Solo los puntos que tocan el borde del margen —los vectores de soporte— determinan la frontera. Mover o eliminar los demás no cambia nada. Esa economía es elegante: el modelo entero queda resumido en unos pocos ejemplos críticos, no en toda la base de datos.

Margen blando y el parámetro C

Con datos solapados, exigir separación perfecta es imposible o produce fronteras absurdas. Se permite cierto número de violaciones penalizándolas: C regula el intercambio entre un margen amplio y pocos errores. C grande castiga los fallos y estrecha el margen; C pequeño perdona outliers.

Cuando una recta no basta

Si las clases no se separan con ningún hiperplano —un anillo dentro de otro—, el soporte vectorial lineal fracasa. La salida es proyectar los datos a un espacio de más dimensiones donde sí sean linealmente separables, algo que a mano sería inviable.

El truco kernel

Aquí está la magia: no hace falta calcular esas coordenadas gigantes. Basta con evaluar productos esculares entre pares de puntos, y esos productos se pueden sustituir por una función kernel barata. Se opera en dimensiones altísimas pagando como si fueran las originales.

Una línea recta separa dos nubes de puntos, una teal y otra coral, flanqueada por dos líneas discontinuas que marcan el margen; unos pocos puntos tocando el margen están rodeados por anillos.
La esencia del método: la frontera se coloca en el medio de la calle más ancha posible, y solo los puntos que tocan sus bordes —los vectores de soporte— deciden su posición.

El kernel radial

El kernel de base radial gaussiano mide similitud por cercanía: dos puntos parecidos puntúan alto. Conviene casi siempre y solo tiene un parámetro de ancho. Otros kernels —polinómico, sigmoide— dibujan distintas familias de fronteras según la geometría del problema.

Escalado obligatorio

El soporte vectorial mide distancias, y una característica en miles aplasta a otra entre cero y uno. Sin escalar antes de entrenar, el margen queda dominado por la variable de mayor escala. Es el error principiante más común y más silencioso.

Coste y escalabilidad

Resolver el problema exige una optimización cuadrática y almacenar la matriz de kernels, que crece con el cuadrado del número de ejemplos. Para conjuntos muy grandes esto vuelve al soporte vectorial clásico lento; los bosques suelen ganar en velocidad.

Errores frecuentes

Ejemplo resuelto: separar dos clases entrelazadas

Dos clases forman un anillo alrededor de un núcleo; ninguna recta las separa. El camino:

  1. Diagnosticar: comprobar que ningún hiperplano lineal separa, así que el kernel lineal está descartado.
  2. Elegir kernel: base radial, que mide similitud por cercanía y dobla el espacio sin calcularlo.
  3. Escalar: tipificar características para que la distancia no la domine una variable de rango grande.
  4. Ajustar C y el ancho: validar en rejilla el equilibrio entre margen amplio y pocos errores.
  5. Vigilar el coste: si hay cientos de miles de ejemplos, valorar un método más escalable.

¿Para qué sirve en la realidad?

El soporte vectorial brilla en problemas de media escala con fronteras complejas: reconocimiento de texto, clasificación de imágenes pequeñas, bioinformática. Su garantía teórica de margen lo hace confiable donde otros se apoyan en heurísticas.

¿Qué puntos determinan la posición del hiperplano de margen máximo?

El truco kernel exige calcular explícitamente las coordenadas de los datos en el espacio de alta dimensión.

Margen y generalización

Maximizar el margen no es una estética: cotiza matemáticamente el error esperado. Fronteras con margen amplio tienen menos capacidad de adaptarse al ruido, y esa rigidez controlada es la que traduce un buen ajuste en entrenamiento en un buen ajuste en producción.

SVM

Distancia del hiperplano a los puntos más cercanos
margen
Puntos que fijan la frontera
vectores de soporte
Parámetro que tolera errores
C
Sustituye productos escalares en alta dimension
kernel
Kernel gaussiano tipico
radial

Ordena el razonamiento que lleva del problema a la solución con kernel:

Lineal
Fallo
Espacio
Kernel

An introduction to support vector machines
Tutoría intuitiva sobre márgenes, vectores de soporte y kernels.

Une cada pieza del soporte vectorial con su función.

Separar con holgura

# Soporte vectorial
## Idea
### margen máximo
### la calle más ancha
## Piezas
### hiperplano
### vectores de soporte
### C
## No lineal
### truco kernel
### base radial
## Cuidados
### escalar
### coste cuadrático

¿Qué son las máquinas de vectores de soporte?
Explicación de referencia en español sobre svm y sus kernels.

Tus clases forman un círculo concéntrico y el soporte vectorial lineal falla. ¿Qué cambiarías: el parámetro C o el tipo de kernel? Justifica la elección.