8  Máquinas de soporte vectorial

Las máquinas de soporte vectorial (Support Vector Machines, SVMs) son una familia de algoritmos de aprendizaje supervisado utilizados tanto para clasificación como para regresión. Su popularidad en machine learning se debe a su capacidad para encontrar hiperplanos óptimos que separan los datos de manera eficiente, maximizando la distancia entre las clases en el espacio de características.

Desde una perspectiva geométrica, un modelo SVM busca identificar el hiperplano que mejor divide el espacio de datos en función de un criterio de margen máximo. En el caso de datos linealmente separables, el modelo encuentra un hiperplano que maximiza la distancia mínima entre los puntos de cada clase y la frontera de decisión. Cuando los datos no son linealmente separables, SVM incorpora técnicas como el uso de márgenes suaves (soft margins) y el uso de funciones núcleo (kernel trick) para proyectar los datos en espacios de mayor dimensión donde sí puedan ser separados de manera lineal.

En términos de optimización, el problema central de las SVM se formula como un problema de minimización cuadrática restringida, lo que lo hace computacionalmente eficiente en muchas aplicaciones. La flexibilidad del modelo permite ajustarlo a distintos tipos de datos mediante la selección de funciones kernel adecuadas, como el lineal, polinomial, radial y sigmoide, entre otros.

Desde la estadística, las SVM pueden interpretarse como una generalización de los modelos lineales que incorpora principios de maximización del margen y regularización para mejorar la capacidad de generalización del modelo. En el contexto de machine learning, se consideran modelos robustos frente a sobreajuste (overfitting), especialmente en espacios de alta dimensionalidad.

A lo largo de esta sección, exploraremos las bases conceptuales de las máquinas de soporte vectorial y su aplicación en diferentes contextos. Además, veremos cómo implementarlas en Python con paquetes como scikit-learn, destacando su uso en problemas de clasificación y regresión.

Cuaderno computacional:

8.1 Enlace scikit-learn