Connect with us

IA 101

¿Qué son las Máquinas de Vectores de Soporte?

mm

¿Qué son las Máquinas de Vectores de Soporte?

Las máquinas de vectores de soporte son un tipo de clasificador de aprendizaje automático, posiblemente uno de los tipos de clasificadores más populares. Las máquinas de vectores de soporte son especialmente útiles para tareas de predicción numérica, clasificación y reconocimiento de patrones.

Las máquinas de vectores de soporte operan dibujando límites de decisión entre los puntos de datos, apuntando al límite de decisión que mejor separa los puntos de datos en clases (o es el más generalizable). El objetivo al utilizar una máquina de vectores de soporte es que el límite de decisión entre los puntos sea lo más grande posible para que la distancia entre cualquier punto de datos dado y la línea de límite sea maximizada. Esa es una explicación rápida de cómo las máquinas de vectores de soporte (SVM) operan, pero tomémonos un momento para profundizar en cómo operan las SVM y entender la lógica detrás de su funcionamiento.

Objetivo de las Máquinas de Vectores de Soporte

Imagina un gráfico con una serie de puntos de datos en él, basados en características especificadas por los ejes X e Y. Los puntos de datos en el gráfico se pueden dividir aproximadamente en dos clusters diferentes, y el cluster al que pertenece un punto de datos indica la clase del punto de datos. Ahora asume que queremos dibujar una línea en el gráfico que separe las dos clases entre sí, con todos los puntos de datos de una clase en un lado de la línea y todos los puntos de datos que pertenecen a otra clase en el otro lado de la línea. Esta línea de separación se conoce como hiperplano.

Puedes pensar en una máquina de vectores de soporte como si creara “carreteras” en toda la ciudad, separando la ciudad en distritos en cada lado de la carretera. Todos los edificios (puntos de datos) que se encuentran en un lado de la carretera pertenecen a un distrito.

El objetivo de una máquina de vectores de soporte no es solo dibujar hiperplanos y dividir puntos de datos, sino dibujar el hiperplano que separa los puntos de datos con el margen más grande, o con el espacio más grande entre la línea de división y cualquier punto de datos dado. Volviendo al símil de las “carreteras”, si un planificador urbano dibuja planes para una autopista, no quiere que la autopista esté demasiado cerca de las casas u otros edificios. Cuanto mayor sea el margen entre la autopista y los edificios de cada lado, mejor. Este margen más grande hace que el clasificador sea más “confiado” en sus predicciones. En el caso de la clasificación binaria, dibujar el hiperplano correcto significa elegir un hiperplano que esté justo en el medio de las dos clases diferentes. Si el límite de decisión/hiperplano está más lejos de una clase, estará más cerca de otra. Por lo tanto, el hiperplano debe equilibrar el margen entre las dos clases diferentes.

Cálculo del Hiperplano de Separación

¿Cómo determina una máquina de vectores de soporte el mejor hiperplano de separación/límite de decisión? Esto se logra calculando hiperplanos posibles utilizando una fórmula matemática. No cubriremos la fórmula para calcular hiperplanos con extremo detalle, pero la línea se calcula con la famosa fórmula de pendiente/línea:

Y = ax + b

Mientras que las líneas están formadas por puntos, lo que significa que cualquier hiperplano se puede describir como: el conjunto de puntos que corren paralelos al hiperplano propuesto, según los pesos del modelo multiplicados por el conjunto de características modificadas por un desplazamiento/bias (“d”) especificado.

Las SVM dibujan muchos hiperplanos. Por ejemplo, la línea de límite es un hiperplano, pero los puntos de datos que el clasificador considera también están en hiperplanos. Los valores para x se determinan en función de las características en el conjunto de datos. Por ejemplo, si tuvieras un conjunto de datos con las alturas y pesos de muchas personas, las características “altura” y “peso” serían las características utilizadas para calcular el “X”. Los márgenes entre el hiperplano propuesto y los varios “vectores de soporte” (puntos de datos) que se encuentran en cada lado del hiperplano de división se calculan con la siguiente fórmula:

W * X – b

Mientras que puedes leer más sobre las matemáticas detrás de las SVM, si estás buscando una comprensión más intuitiva de ellas, solo debes saber que el objetivo es maximizar la distancia entre el hiperplano de separación propuesto/límite de decisión y los otros hiperplanos que corren paralelos a él (y en los que se encuentran los puntos de datos).

Foto: ZackWeinberg a través de Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

Clasificación Multiclase

El proceso descrito hasta ahora se aplica a tareas de clasificación binaria. Sin embargo, los clasificadores SVM también se pueden utilizar para tareas de clasificación no binaria. Cuando se realiza la clasificación SVM en un conjunto de datos con tres o más clases, se utilizan más líneas de límite. Por ejemplo, si una tarea de clasificación tiene tres clases en lugar de dos, se utilizarán dos líneas de división para dividir los puntos de datos en clases y la región que comprende una sola clase caerá entre dos líneas de división en lugar de una. En lugar de calcular solo la distancia entre dos clases y un límite de decisión, el clasificador debe considerar ahora los márgenes entre los límites de decisión y las múltiples clases dentro del conjunto de datos.

Separaciones No Lineales

El proceso descrito anteriormente se aplica a casos donde los datos son linealmente separables. Tenga en cuenta que, en la realidad, los conjuntos de datos casi nunca son completamente linealmente separables, lo que significa que al utilizar un clasificador SVM a menudo necesitarás utilizar dos técnicas diferentes: márgen suave y trucos de núcleo. Considera una situación en la que los puntos de datos de diferentes clases se mezclan, con algunas instancias que pertenecen a una clase en el “cluster” de otra clase. ¿Cómo podría el clasificador manejar estas instancias?

Una táctica que se puede utilizar para manejar conjuntos de datos no linealmente separables es la aplicación de un clasificador SVM de “márgen suave”. Un clasificador de márgen suave opera aceptando algunos puntos de datos mal clasificados. Intentará dibujar una línea que mejor separe los clusters de puntos de datos entre sí, ya que contienen la mayoría de las instancias que pertenecen a sus respectivas clases. El clasificador SVM de márgen suave intenta crear una línea de división que equilibre las dos demandas del clasificador: precisión y margen. Intentará minimizar la mala clasificación y también maximizar el margen.

La tolerancia al error de las SVM se puede ajustar a través de la manipulación de un hiperparámetro llamado “C”. El valor de C controla cuántos vectores de soporte considera el clasificador al dibujar límites de decisión. El valor de C es una penalización aplicada a las mala clasificaciones, lo que significa que cuanto mayor sea el valor de C, menos vectores de soporte considerará el clasificador y más estrecho será el margen.

El truco del núcleo transforma los datos de manera no lineal. Foto: Shiyu Ju a través de Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

El truco del núcleo opera aplicando transformaciones no lineales a las características en el conjunto de datos. El truco del núcleo toma las características existentes en el conjunto de datos y crea nuevas características a través de la aplicación de funciones matemáticas no lineales. Lo que resulta de la aplicación de estas transformaciones no lineales es un límite de decisión no lineal. Debido a que el clasificador SVM ya no está restringido a dibujar límites de decisión lineales, puede comenzar a dibujar límites de decisión curvos que mejor encapsulan la verdadera distribución de los vectores de soporte y minimizan las mala clasificaciones. Dos de los núcleos no lineales SVM más populares son la función de base radial y el polinomio. La función polinómica crea combinaciones polinomiales de todas las características existentes, mientras que la función de base radial genera nuevas características midiendo la distancia entre un punto central/puntos y todos los demás puntos.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.