Glosario

Máquina de vectores soporte (SVM)

Descubra la potencia de las máquinas de vectores soporte (SVM) para la clasificación, regresión y detección de valores atípicos, con aplicaciones y conocimientos del mundo real.

La máquina de vectores soporte (SVM) es un algoritmo de aprendizaje automático supervisado (ML) popular y potente que se utiliza principalmente para tareas de clasificación, aunque también es eficaz para la regresión (regresión de vectores soporte - SVR) y la detección de valores atípicos. Desarrollados en la década de 1990, los SVM, detallados en Wikipedia, funcionan encontrando un límite óptimo, llamado hiperplano, que separa mejor los puntos de datos pertenecientes a diferentes clases en un espacio de alta dimensión. La idea clave es maximizar el margen -la distancia entre el hiperplano y los puntos de datos más cercanos (vectores de soporte) de cada clase-, lo que a menudo conduce a un buen rendimiento de generalización en datos no vistos.

Cómo funciona Svm

El principio básico de la SVM es encontrar el hiperplano ideal para dividir un conjunto de datos. Para los datos que pueden separarse mediante una línea recta o un plano plano (datos linealmente separables), la SVM identifica el hiperplano que crea la mayor brecha posible entre las clases. Los puntos de los datos de entrenamiento más cercanos a este hiperplano, que son críticos para definir su posición y orientación, se conocen como vectores de soporte. Este enfoque en los puntos más difíciles cerca del límite hace que las SVM sean eficientes en memoria, ya que sólo se necesitan estos vectores de soporte para definir el modelo después del entrenamiento.

Para los conjuntos de datos en los que las clases no pueden separarse mediante una frontera lineal (datos separables de forma no lineal), las SVM emplean una técnica denominada "truco del núcleo". Este ingenioso método permite a las SVM mapear los datos originales en un espacio de mayor dimensión en el que podría ser posible una separación lineal, sin calcular explícitamente las coordenadas en este nuevo espacio. Las funciones kernel más comunes son:

  • Lineal: Para datos linealmente separables.
  • Polinomio: Mapea datos a dimensiones superiores utilizando funciones polinómicas.
  • Función de base radial (RBF): Una opción popular para relaciones complejas y no lineales.
  • Sigmoidea: Similar a la función de activación utilizada en las redes neuronales (NN).

La elección del núcleo y sus parámetros es crucial y a menudo requiere un cuidadoso ajuste de los hiperparámetros.

Relevancia y aplicaciones

Las SVM siguen siendo relevantes a pesar del auge del Deep Learning (DL), sobre todo en escenarios con datos de alta dimensión (muchas características) pero muestras de entrenamiento limitadas. Son conocidas por sus garantías teóricas y su robustez, especialmente cuando existe un claro margen de separación. Históricamente, las SVM combinadas con extractores de características como el histograma de gradientes orientados (HOG ) eran la tecnología más avanzada para tareas como la detección de objetos, como se observa en la evolución de la detección de objetos.

Las aplicaciones más comunes son:

  • Clasificación de imágenes: Categorización de imágenes en función de su contenido (por ejemplo, distinción entre distintos tipos de flores o animales). Las SVM pueden ser eficaces cuando se utilizan con características artesanales extraídas de imágenes, sobre todo en conjuntos de datos de tamaño moderado.
  • Categorización de textos: Clasificación de documentos de texto en categorías predefinidas, como la detección de correo no deseado o el análisis de opiniones de clientes. Las SVM manejan bien los datos de texto de alta dimensión (como las características TF-IDF).
  • Bioinformática: Se utiliza para tareas como la clasificación de proteínas o el diagnóstico de cáncer basado en datos de expresión génica, donde el número de características puede ser muy grande en comparación con el número de muestras.
  • Reconocimiento facial: Identificación o verificación de personas a partir de rasgos faciales, a menudo como parte de un sistema más amplio.

Ventajas y limitaciones

Ventajas:

  • Eficaz en dimensiones elevadas: Funciona bien incluso cuando el número de características es mayor que el número de muestras.
  • Memoria eficiente: Utiliza sólo un subconjunto de puntos de entrenamiento (vectores de soporte) en la función de decisión.
  • Versátil: Se pueden especificar diferentes funciones de núcleo para la función de decisión, lo que permite flexibilidad en el manejo de diversos tipos de datos.
  • Buena generalización: El objetivo de maximización del margen a menudo conduce a modelos con buena precisión en datos no vistos.

Limitaciones:

  • Alta carga computacional: El entrenamiento puede ser lento en conjuntos de datos muy grandes.
  • Sensibilidad del núcleo y los parámetros: El rendimiento depende en gran medida de la elección del núcleo y sus parámetros (por ejemplo, C, gamma), lo que requiere un ajuste cuidadoso.
  • Bajo rendimiento con clases solapadas: No es ideal si las clases de datos se solapan significativamente.
  • No hay estimaciones directas de probabilidad: Las SVM estándar producen asignaciones de clase pero no puntuaciones de probabilidad directas. Se necesitan técnicas como el escalado de Platt para calibrar los resultados de las SVM en probabilidades.

Svm frente a otros algoritmos

En comparación con algoritmos más sencillos como la regresión logística, las SVM buscan maximizar el margen en lugar de limitarse a encontrar un límite de separación, lo que puede conducir a una mejor generalización. A diferencia de los métodos basados en árboles, como los árboles de decisión o los bosques aleatorios, las SVM construyen un único hiperplano óptimo (posiblemente en un espacio de alta dimensión). Mientras que los modelos modernos de aprendizaje profundo, como Ultralytics YOLO, destacan en la extracción automática de características a partir de datos sin procesar (como píxeles en visión por ordenador (CV)), las SVM a menudo requieren una cuidadosa ingeniería de características, pero pueden funcionar excepcionalmente bien en conjuntos de datos más pequeños o en tipos específicos de datos estructurados en los que las características están bien definidas. Entre las implementaciones más populares se encuentran LibSVM y el módulo SVM de scikit-learn. La formación y gestión de este tipo de modelos, junto con otros varios, puede racionalizarse utilizando plataformas como Ultralytics HUB, que simplifica el ciclo de vida de MLOps.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles