Glosario

Máquina de vectores de apoyo (SVM)

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

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La máquina de vectores de soporte (SVM) es un popular y potente algoritmo de aprendizaje automático (ML) supervisado que se utiliza principalmente para tareas de clasificación, aunque también es eficaz para la regresión (regresión de vectores de soporte - SVR) y la detección de valores atípicos. Desarrolladas en la década de 1990, las SVM funcionan encontrando un límite óptimo, llamado hiperplano, que separa mejor los puntos de datos que pertenecen a clases diferentes 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 llano (datos linealmente separables), la SVM identifica el hiperplano que crea la mayor separación posible entre las clases. Los puntos de datos más cercanos a este hiperplano, que son críticos para definir su posición y orientación, se conocen como vectores de apoyo. Este enfoque en los puntos más desafiantes 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 no linealmente), 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

  • Núcleo lineal: Se utiliza para datos linealmente separables.
  • Núcleo polinómico: Mapea los datos en un espacio polinómico de grado superior.
  • Núcleo de función de base radial (RBF): Una elección popular que puede manejar relaciones complejas, mapeando datos en un espacio de dimensión infinita.
  • Núcleo sigmoide: Similar a la función de activación utilizada en las redes neuronales.

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 Aprendizaje Profundo (AD), 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: Clasificar imágenes en categorías predefinidas, como identificar dígitos manuscritos o distinguir entre distintos tipos de objetos. Por ejemplo, se podría entrenar una SVM para clasificar imágenes médicas como si contuvieran tumores o no, basándose en las características extraídas.
  • Categorización de textos: Clasificación de documentos en temas, análisis de sentimientos (críticas positivas/negativas) y detección de spam. Por ejemplo, clasificar artículos de noticias en categorías como "deportes", "política" o "tecnología".
  • Detección de caras: Identificar rostros en imágenes, a menudo como paso previo al reconocimiento.
  • Bioinformática: Clasificación de proteínas, genes o muestras de pacientes a partir de datos biológicos complejos.
  • Reconocimiento de escritura a mano: Se utiliza en sistemas de reconocimiento de caracteres manuscritos.

Ventajas y limitaciones

Ventajas:

  • Eficaz en espacios de alta dimensión, incluso cuando el número de dimensiones supera al número de muestras.
  • Eficientes en memoria, ya que sólo utilizan un subconjunto de puntos de entrenamiento (vectores de soporte) en la función de decisión.
  • Versátil gracias a las diferentes funciones del núcleo que permiten adaptarse a varios tipos de datos.
  • Generalmente consigue una gran precisión cuando las clases están bien separadas.

Limitaciones:

  • El entrenamiento de conjuntos de datos muy grandes puede ser lento y costoso desde el punto de vista informático.
  • El rendimiento depende en gran medida de la elección de la función del núcleo y de los hiperparámetros.
  • Menos eficaz en conjuntos de datos ruidosos en los que las clases se solapan significativamente.
  • Las SVM no proporcionan directamente estimaciones de probabilidad; éstas requieren un procesamiento posterior (por ejemplo, el escalado de Platt).

Svm frente a otros algoritmos

En comparación con algoritmos más sencillos como la Regresión Logística, las SVM pretenden 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 Árboles de Decisión o los Bosques Aleatorios, las SVM construyen un único hiperplano óptimo. 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 los píxeles en visión por ordenador), las SVM a menudo requieren una cuidadosa ingeniería de características, pero pueden funcionar bien en conjuntos de datos más pequeños o en tipos específicos de datos estructurados. Algunas implementaciones populares son LibSVM y el módulo SVM de scikit-learn. El entrenamiento y la gestión de estos modelos pueden agilizarse utilizando plataformas como Ultralytics HUB.

Leer todo