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 supervisado potente y versátil que se utiliza tanto para tareas de clasificación como de regresión. En esencia, una SVM encuentra un hiperplano óptimo o límite de decisión que separa mejor los puntos de datos en diferentes clases. Lo que hace que la SVM sea especialmente eficaz es su objetivo de maximizar el margen, es decir, la distancia entre el hiperplano de separación y los puntos de datos más cercanos de cualquier clase. Este principio, detallado en el artículo fundacional de Cortes y Vapnik, ayuda a mejorar la capacidad de generalización del modelo, haciéndolo menos propenso al sobreajuste.

Cómo funcionan los Svms

El algoritmo funciona representando cada dato como un punto en un espacio n-dimensional (donde n es el número de características). A continuación, la clasificación se realiza encontrando el hiperplano que crea la mejor separación entre clases.

  • Hiperplano: Es el límite de decisión. En un conjunto de datos con dos características, es una línea; con tres, es un plano. Para más características, se convierte en un hiperplano.
  • Vectores de apoyo: Son los puntos de datos que se encuentran más cerca del hiperplano. Son críticos porque definen el margen, y eliminarlos alteraría la posición del hiperplano. Una excelente visualización de los vectores de soporte se puede encontrar en las notas de clase CS229 de Stanford.
  • Margen: El margen es la distancia entre los vectores de apoyo y el hiperplano. El objetivo de SVM es encontrar el hiperplano que maximice este margen, creando la separación más robusta posible.
  • El truco del kernel: Para los datos que no son linealmente separables, las SVM utilizan una técnica llamada el truco del kernel. Este potente método consiste en transformar los datos en un espacio de mayor dimensión en el que se puede encontrar un separador lineal sin calcular explícitamente las coordenadas de los datos en ese nuevo espacio. Los núcleos más populares, como la función de base radial (RBF), pueden manejar relaciones no lineales muy complejas. Puede explorar una guía sobre los núcleos SVM para obtener más detalles.

Aplicaciones reales

Las SVM son eficaces en muchos ámbitos, especialmente para problemas con datos de alta dimensión.

  • Bioinformática: En genómica y proteómica, las SVM se utilizan para clasificar proteínas y analizar datos de expresión génica. Por ejemplo, pueden ayudar a identificar subtipos de cáncer a partir de datos de microarrays, una tarea en la que intervienen miles de características. Esto las convierte en una herramienta vital de la IA para la atención sanitaria.
  • Clasificación de imágenes: Antes del dominio de las redes neuronales profundas, las SVM eran un modelo de alto rendimiento para la clasificación de imágenes. Se han utilizado con éxito para tareas como el reconocimiento de dígitos manuscritos en conjuntos de datos como MNIST y el reconocimiento de objetos en Caltech-101.
  • Clasificación de textos: En el Procesamiento del Lenguaje Natural (PLN), las SVM son eficaces para tareas como la detección de spam y el análisis de sentimientos. Pueden gestionar eficazmente los espacios de características de alta dimensión creados por los métodos de vectorización de texto.

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 sobresalen 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 ingeniería de características cuidadosa, pero pueden funcionar excepcionalmente bien en conjuntos de datos más pequeños o tipos específicos de datos estructurados donde las características están bien definidas. Puede encontrar muchos de estos conjuntos de datos en el repositorio de aprendizaje automático de la UCI.

Las implementaciones más populares incluyen LibSVM y el módulo SVM en scikit-learn. Aunque SVM no suele ser el núcleo de marcos de CV modernos como PyTorch o TensorFlow, puede integrarse en flujos de trabajo más amplios. La formación y gestión de estos modelos, junto con otros varios, puede racionalizarse utilizando plataformas como Ultralytics HUB, que simplifica el ciclo de vida de MLOps desde el etiquetado de datos hasta el ajuste de hiperparámetros y el despliegue final del modelo.

Ú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