talón ¿Qué son las máquinas de vectores de soporte? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué son las máquinas de vectores de soporte?

mm
Actualizado on

¿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 funcionan dibujando límites de decisión entre 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 cuando se utiliza 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 maximizar la distancia entre cualquier punto de datos dado y la línea límite. Esa es una explicación rápida de cómo admitir máquinas vectoriales (SVM) operar, pero tomemos un tiempo para profundizar en cómo operan las SVM y comprender la lógica detrás de su operación.

Objetivo de las máquinas de vectores de soporte

Imagine un gráfico con una cantidad de puntos de datos, según las características especificadas por los ejes X e Y. Los puntos de datos en el gráfico se pueden dividir libremente en dos grupos diferentes, y el grupo al que pertenece un punto de datos indica la clase del punto de datos. Ahora suponga 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 linea Esta línea de separación se conoce como hiperplano.

Puede pensar en una máquina de vectores de soporte como si creara "carreteras" a lo largo de una ciudad, separando la ciudad en distritos a ambos lados de la carretera. Todos los edificios (puntos de datos) que se encuentran a 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 también dibujar el hiperplano que separa los puntos de datos con el margen más grande o con el mayor espacio entre la línea divisoria y cualquier punto de datos dado. Volviendo a la metáfora de las “carreteras”, si un urbanista dibuja planos para una autopista, no quiere que la autopista esté demasiado cerca de casas u otros edificios. Cuanto más margen haya entre la autopista y los edificios a ambos lados, mejor. Cuanto mayor sea este margen, más "seguro" puede estar el clasificador sobre 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

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

Y = hacha + b

Mientras tanto, 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 lo determinado por los pesos del modelo multiplicado por el conjunto de características modificadas por un desplazamiento/sesgo específico ("d").

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

W * X – fondo

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

Foto: ZackWeinberg vía 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 las tareas de clasificación binaria. Sin embargo, los clasificadores SVM también se pueden usar para tareas de clasificación no binaria. Al realizar 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 usarán dos líneas divisorias para dividir los puntos de datos en clases y la región que comprende una sola clase se ubicará entre dos líneas divisorias en lugar de una. En lugar de solo calcular la distancia entre solo 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 los casos en los que los datos son linealmente separables. Tenga en cuenta que, en realidad, los conjuntos de datos casi nunca son completamente separables linealmente, lo que significa que cuando use un clasificador SVM, a menudo necesitará usar dos tecnicas diferentes: trucos de margen suave y kernel. Considere una situación en la que se mezclan puntos de datos de diferentes clases, con algunas instancias que pertenecen a una clase en el "grupo" de otra clase. ¿Cómo podría hacer que el clasificador maneje estas instancias?

Una táctica que se puede usar para manejar conjuntos de datos separables no linealmente es la aplicación de un clasificador SVM de "margen suave". Un clasificador de margen suave opera aceptando algunos puntos de datos mal clasificados. Intentará dibujar una línea que separe mejor los grupos 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 margen suave intenta crear una línea divisoria que equilibre las dos demandas del clasificador: precisión y margen. Intentará minimizar la clasificación errónea al mismo tiempo que maximiza el margen.

La tolerancia de error de SVM se puede ajustar mediante la manipulación de un hiperparámetro llamado "C". El valor C controla cuántos vectores de soporte considera el clasificador al dibujar los límites de decisión. El valor C es una penalización que se aplica a las clasificaciones erróneas, lo que significa que cuanto mayor sea el valor C, menos vectores de soporte tendrá en cuenta el clasificador y más estrecho será el margen.

El núcleo engaña a los datos y los transforma de forma 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)

Kernel Trick funciona aplicando transformaciones no lineales a las características del conjunto de datos. Kernel Trick toma las características existentes en el conjunto de datos y crea nuevas características mediante 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 se limita a dibujar límites de decisión lineales, puede comenzar a dibujar límites de decisión curvos que encapsulen mejor la distribución real de los vectores de soporte y reduzcan al mínimo las clasificaciones erróneas. Dos de los núcleos no lineales de SVM más populares son la función de base radial y el polinomio. La función polinómica crea combinaciones polinómicas de todas las características existentes, mientras que la función de base radial genera nuevas características al medir la distancia entre un punto central o puntos y todos los demás puntos.

Blogger y programador con especialidades en Aprendizaje automático (Machine learning & LLM) y Aprendizaje profundo temas Daniel espera ayudar a otros a usar el poder de la IA para el bien social.