Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Máquina de Vectores de Soporte (SVM)

Explora las máquinas de vectores de soporte (SVM). Aprende sobre hiperplanos óptimos, el truco del núcleo y cómo se comparan las SVM con modelos modernos como Ultralytics .

La máquina de vectores de soporte (SVM) es un algoritmo de aprendizaje supervisado robusto y versátil que se utiliza ampliamente para tareas de clasificación y regresión. A diferencia de muchos algoritmos que simplemente pretenden minimizar los errores de entrenamiento, una SVM se centra en encontrar el límite óptimo, denominado hiperplano, que mejor separa los puntos de datos en clases distintas. El objetivo principal es maximizar el margen, que es la distancia entre este límite de decisión y los puntos de datos más cercanos de cada categoría. Al dar prioridad a la separación más amplia posible, el modelo logra una mejor generalización en datos nuevos y desconocidos, lo que reduce eficazmente el riesgo de sobreajuste en comparación con métodos más simples, como la regresión lineal estándar .

Mecanismos y conceptos fundamentales

Para entender cómo funcionan las SVM, resulta útil visualizar los datos representados en un espacio multidimensional en el que cada dimensión representa una característica específica. El algoritmo navega por este espacio para descubrir la separación más efectiva entre grupos.

  • Hiperplano óptimo: El objetivo central es identificar un plano plano (o hiperplano en dimensiones superiores ) que divida el espacio de entrada. En un conjunto de datos 2D simple, esto aparece como una línea; en 3D, se convierte en una superficie plana . El hiperplano óptimo es el que mantiene la máxima distancia posible de los puntos de datos más cercanos de cualquier clase, lo que garantiza una clara distinción.
  • Vectores de soporte: Son los puntos de datos críticos más cercanos al límite de decisión. Se denominan «vectores de soporte» porque soportan o definen eficazmente la posición y la orientación del hiperplano. Modificar o eliminar otros puntos de datos a menudo no tiene ningún impacto en el modelo, pero mover un vector de soporte desplaza el límite de manera significativa. Este concepto es fundamental para la eficiencia de las SVM, como se detalla en la guía de Scikit-learn SVM.
  • El truco del núcleo: Los datos del mundo real, como los complejos conjuntos de datos de procesamiento del lenguaje natural (NLP) , rara vez son separables linealmente. Las SVM abordan esta limitación utilizando una técnica llamada «truco del kernel », que proyecta los datos en un espacio de mayor dimensión donde un separador lineal puede dividir eficazmente las clases. Los kernels comunes incluyen la función de base radial (RBF) y los kernels polinómicos, lo que permite al modelo capturar relaciones intrincadas y no lineales.

SVM frente a algoritmos relacionados

Distinguir las SVM de otras técnicas de aprendizaje automático ayuda a los profesionales a seleccionar la herramienta adecuada para sus proyectos de modelización predictiva.

  • Regresión logística: Ambos son clasificadores lineales, pero sus objetivos de optimización difieren significativamente. La regresión logística es probabilística y maximiza la probabilidad de los datos observados, mientras que la SVM es geométrica y maximiza el margen entre clases. Las SVM tienden a funcionar mejor en clases bien separadas, mientras que la regresión logística ofrece resultados de probabilidad calibrados .
  • K-Nearest Neighbors (KNN): KNN es un algoritmo de aprendizaje no paramétrico basado en instancias que clasifica un punto en función de la clase mayoritaria de sus vecinos. Por el contrario, SVM es un modelo paramétrico que aprende un límite global. Las SVM suelen ofrecer una latencia de inferencia más rápida una vez entrenadas, ya que no necesitan almacenar y buscar todo el conjunto de datos en tiempo de ejecución.
  • Árboles de decisión: un árbol de decisión divide el espacio de datos en regiones rectangulares utilizando reglas jerárquicas. Las SVM pueden crear límites de decisión complejos y curvos a través de núcleos, lo que a los árboles de decisión les puede resultar difícil aproximar sin volverse excesivamente profundos y propensos al sobreajuste.
  • Aprendizaje profundo moderno (por ejemplo, YOLO26): Las SVM suelen basarse en la ingeniería manual de características, en la que los expertos seleccionan las entradas relevantes. Los modelos avanzados como Ultralytics destacan en la extracción automática de características directamente de imágenes sin procesar, lo que los hace muy superiores para tareas perceptivas complejas como la detección de objetos en tiempo real y la segmentación de instancias.

Aplicaciones en el mundo real

Las máquinas de vectores de soporte siguen siendo muy relevantes en diversas industrias debido a su precisión y capacidad para manejar datos de alta dimensión.

  • Bioinformática: Las SVM se utilizan ampliamente para la predicción de estructuras proteicas y la clasificación de genes. Mediante el análisis de secuencias biológicas complejas, los investigadores pueden identificar patrones relacionados con enfermedades específicas, lo que contribuye al diagnóstico precoz y a la medicina personalizada.
  • Categorización de textos: En el campo de la resumen de textos y el filtrado de spam, las SVM destacan en la gestión de la alta dimensionalidad de los vectores de texto. Pueden classify eficazmente classify como «spam» o «no spam» y categorizar los artículos de noticias por temas con gran precisión.

Ejemplo de aplicación

Aunque las tareas modernas de visión por ordenador suelen utilizar modelos integrales como Ultralytics , las SVM siguen siendo muy eficaces para clasificar las características extraídas de estos modelos. Por ejemplo, se podría utilizar un YOLO para detect y extraer sus características, y luego entrenar una SVM para classify vectores de características específicos para una tarea especializada.

A continuación se muestra un ejemplo conciso utilizando el popular scikit-learn biblioteca para entrenar un clasificador simple con datos sintéticos.

from sklearn import svm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# Generate synthetic classification data
X, y = make_classification(n_features=4, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

# Initialize and train the Support Vector Classifier
clf = svm.SVC(kernel="linear", C=1.0)
clf.fit(X_train, y_train)

# Display the accuracy on the test set
print(f"Accuracy: {clf.score(X_test, y_test):.2f}")

Para los equipos que deseen gestionar conjuntos de datos más grandes o entrenar modelos de aprendizaje profundo que puedan sustituir o complementar los flujos de trabajo de SVM, la Ultralytics proporciona herramientas para la anotación de datos y la implementación de modelos sin fisuras. Aquellos interesados en los fundamentos matemáticos pueden consultar el artículo original de Cortes y Vapnik (1995), que detalla la optimización de margen suave que permite a las SVM manejar eficazmente los datos ruidosos del mundo real.

Únase a la comunidad Ultralytics

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

Únete ahora