Del curso: Prompt Engineering: Aprende a hablar con una inteligencia artificial generativa
Modelos de máquinas de vectores de soporte (SVM)
Del curso: Prompt Engineering: Aprende a hablar con una inteligencia artificial generativa
Modelos de máquinas de vectores de soporte (SVM)
Los modelos de máquinas de vectores de soporte SVM, por sus siglas en inglés, son una poderosa técnica de aprendizaje automático, utilizada tanto para tareas y clasificación como para regresión. Son un poco difíciles de explicar sin estar educados en geometría y trigonometría, pero vamos a intentarlo. En su forma más básica, los SVM buscan encontrar un hiperplano en un espacio multidimensional que mejor divida dos clases de datos. Este hiperplano es elegido de manera que maximice la distancia entre dos puntos de datos más cercanos de ambas clases, lo que se conoce como margen máximo. Si los datos son linealmente separables, un hiperplano puede separar perfectamente a las clases. Sin embargo, en muchos casos, no son completamente separables, por lo que se introduce una tolerancia para permitir ciertos errores de clasificación. Por cierto, un hiperplano es un concepto geométrico. Se utiliza en espacios de dimensiones superiores, mayores a dos dimensiones, para describir una generalización de un plano en tres dimensiones. En términos simples, es un subconjunto de un espacio euclidiano de alta dimensión que tiene una dimensión menor en uno. No quiero darte clases de matemáticas, pero entiendo que es importante para entenderlo. En un espacio bidimensional, un hiperplano se reduce a una línea recta. En un espacio tridimensional sería un plano y en un espacio de dimensiones superiores es una generación de estas estructuras. Matemáticamente, un hiperplano de dimensión n-1 en un espacio de n dimensiones se define por la ecuación que ves en pantalla. Donde w sub 1, w sub 2, hasta w sub n son coeficientes que determinan la orientación del hiperplano. x sub 1, x sub 2, hasta x sub n son las coordenadas del punto en el espacio, y b es un término de sesgo. Pero la importancia en la práctica y en el contexto de los SVM es que se busca encontrar un hiperplano que maximice el margen entre dos clases de datos, separando de manera óptima un punto de una clase de la otra. Los puntos de datos más cercanos al hiperplano son llamados vectores de soporte. Estos son puntos de datos más cercanos al hiperplano y juegan un papel crucial en el funcionamiento porque influyen en la ubicación y orientación, y la distancia entre el hiperplano y estos vectores de soporte es lo que se busca maximizar. Bueno, aclarado esto, pero vamos a la parte que se pretende lograr. La función de decisión de la SVM toma un nuevo punto de datos y determina en qué lado del hiperplano cae. El signo de valor de la función de decisión indica qué clase se asigna al punto. Se conoce como margen a la distancia entre el hiperplano y los vectores de soporte más cercanos. Los SVM buscan maximizar este margen para lograr una mejor generalización en datos no vistos. De todas formas, los SVM pueden manejar datos que no son linealmente separables en el espacio original mediante el uso de funciones de kernel. Estas funciones transforman los datos en un espacio de mayor dimensión, donde podrían volverse linealmente separables. Algunos ejemplos de kernel son el lineal, el polinominal y el gaussiano. Los SVM originalmente se diseñaron para la clasificación binaria, pero se pueden extender a problemas de clasificación multiclase, utilizando estrategias como One-vs-All, uno contra todos, o One-vs-One, uno contra uno. Además de la clasificación, los SVM también se pueden aplicar a problemas de regresión. En lugar de encontrar un hiperplano que divida los datos, se busca un hiperplano que pase cerca de la mayoría de ellos con un margen especificado. Tiene la ventaja de que incorporan regulación, lo que significa que penalizan las soluciones complejas. Esto ayuda a prevenir sobreajuste y a mejorar la capacidad de generación del modelo. Por ello, son especialmente útiles cuando se tiene un conjunto de datos con muchas características y se busca una solución robusta que generalice bien a todos los datos nuevos. A veces, su propia generalización los hace imperfectos, pero su capacidad para manejar datos no linealmente separables y su versatilidad en términos de kernel los hacen una técnica valiosa en el aprendizaje automático.