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 Soportados (SVM) es un algoritmo de Aprendizaje Automático ( AM) supervisado, 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 Soportados - SVR) y la detección de valores atípicos. Desarrolladas en la década de 1990, las SVM, detalladas en Wikipedia, 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 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 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

  • Lineales: 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 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: Categorizar imágenes en función de su contenido (por ejemplo, distinguir 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 electrónico no deseado o el análisis del sentimiento de las opiniones de los clientes. Las SVM manejan bien los datos de texto de alta dimensión (como las características TF).
  • Bioinformática: Se utiliza para tareas como la clasificación de proteínas o el diagnóstico del 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 individuos basándose en rasgos faciales, a menudo como parte de un sistema más amplio.

Ventajas y limitaciones

Ventajas:

  • Eficaz en altas dimensiones: 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 apoyo) 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 suele conducir a modelos con buena precisión en datos no vistos.

Limitaciones:

  • Computacionalmente intensivo: El entrenamiento puede ser lento en conjuntos de datos muy grandes.
  • Sensibilidad del núcleo y de 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 directas de probabilidad. Se necesitan técnicas como el escalado de Platt para calibrar las salidas 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 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 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 brutos (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. El entrenamiento y la gestión de estos modelos, junto con otros varios, pueden agilizarse utilizando plataformas como Ultralytics HUB, que simplifica el ciclo de vida de los MLOps.

Leer todo