La máquina de vectores de soporte ( SVM, support vector machine ) es un conjunto de algoritmos de aprendizaje supervisado similares que se utilizan para problemas de clasificación y análisis de regresión . Pertenece a la familia de clasificadores lineales y también puede considerarse como un caso especial de regularización de Tikhonov . Una propiedad especial de la máquina de vectores de soporte es que el error de clasificación empírico disminuye continuamente y la brecha aumenta, razón por la cual el método también se conoce como método clasificador de brecha máxima .
La idea principal del método es traducir los vectores originales a un espacio de mayor dimensión y buscar un hiperplano de separación con la brecha más grande en este espacio. Se construyen dos hiperplanos paralelos a ambos lados del hiperplano que separa las clases. El hiperplano de separación será el hiperplano que crea la mayor distancia a dos hiperplanos paralelos. El algoritmo se basa en la suposición de que cuanto mayor sea la diferencia o la distancia entre estos hiperplanos paralelos, menor será el error promedio del clasificador.
A menudo, en los algoritmos de aprendizaje automático, se hace necesario clasificar los datos. Cada objeto de datos se representa como un vector (punto) en un espacio dimensional (un conjunto ordenado de números). Cada uno de estos puntos pertenece a una sola de las dos clases. La pregunta es si los puntos pueden estar separados por un hiperplano de dimensión ( -1). Este es un caso típico de separabilidad lineal . Puede haber muchos hiperplanos deseados, por lo que se cree que maximizar la brecha entre clases contribuye a una clasificación más segura. Es decir, ¿es posible encontrar un hiperplano tal que la distancia desde él hasta el punto más cercano sea máxima? Esto es equivalente [1] al hecho de que la suma de las distancias al hiperplano desde dos puntos más cercanos a él, que se encuentran en lados opuestos de él, es máxima. Si tal hiperplano existe, se denomina hiperplano de separación óptimo , y su clasificador lineal correspondiente se denomina clasificador de separación óptimo .
Creemos que los puntos se ven así:
donde toma el valor 1 o −1, según la clase a la que pertenezca el punto . Cada uno es un vector real -dimensional , normalmente normalizado por o . Si los puntos no están normalizados, entonces un punto con grandes desviaciones de las coordenadas del punto promedio afectará demasiado al clasificador. Podemos pensar en esto como una muestra de entrenamiento en la que a cada elemento ya se le asigna una clase a la que pertenece. Queremos que el algoritmo de la máquina de vectores de soporte los clasifique de la misma manera. Para hacer esto, construimos un hiperplano de separación, que se parece a:
El vector es perpendicular al hiperplano de separación. El parámetro es igual en valor absoluto a la distancia del hiperplano al origen. Si el parámetro b es cero, el hiperplano pasa por el origen, lo que limita la solución.
Como estamos interesados en la separación óptima, estamos interesados en los vectores de soporte y los hiperplanos que son paralelos al óptimo y más cercanos a los vectores de soporte de las dos clases. Se puede demostrar que estos hiperplanos paralelos se pueden describir mediante las siguientes ecuaciones (hasta la normalización).
Si la muestra de entrenamiento es linealmente separable , entonces podemos elegir los hiperplanos para que ningún punto de la muestra de entrenamiento se encuentre entre ellos y luego maximizar la distancia entre los hiperplanos. El ancho de la franja entre ellos es fácil de encontrar a partir de consideraciones geométricas, es igual a [2] , por lo que nuestra tarea es minimizar . Para excluir todos los puntos de la tira, debemos asegurarnos por todo lo que
Esto también se puede escribir como:
El problema de construir un hiperplano de separación óptimo se reduce a minimizar , bajo la condición (1). Este es un problema de optimización cuadrática que se parece a:
Por el teorema de Kuhn-Tucker, este problema es equivalente al problema dual de encontrar el punto de silla de la función de Lagrange
donde es el vector de variables duales.
Reducimos este problema a un problema de programación cuadrática equivalente que contiene solo variables duales:
Supongamos que hemos resuelto este problema, entonces se puede encontrar mediante las fórmulas:
Como resultado, el algoritmo de clasificación se puede escribir como:
En este caso, la suma no se realiza sobre toda la muestra, sino solo sobre los vectores de soporte para los que .
Para que el algoritmo funcione si las clases son linealmente inseparables, permitamos que cometa errores en el conjunto de entrenamiento. Introduzcamos un conjunto de variables adicionales que caracterizan la magnitud del error en los objetos . Tomemos (2) como punto de partida, suavicemos las restricciones de desigualdad y también introduzcamos una penalización por el error total en el funcional minimizado:
El coeficiente es un parámetro de configuración del método que le permite ajustar la proporción entre maximizar el ancho de la tira de separación y minimizar el error total.
De manera similar, según el teorema de Kuhn-Tucker , reducimos el problema a encontrar el punto de silla de la función de Lagrange :
Por analogía, reducimos este problema a uno equivalente:
En la práctica, para construir una máquina de vectores de soporte, es este problema el que se resuelve, y no (3), ya que generalmente no es posible garantizar la separabilidad lineal de los puntos en dos clases. Esta variante del algoritmo se denomina algoritmo SVM de margen suave, mientras que en el caso linealmente separable se habla de margen duro (SVM de margen duro).
Para el algoritmo de clasificación, se conserva la fórmula (4), con la única diferencia de que ahora no solo los objetos de referencia, sino también los objetos violatorios tienen valores distintos de cero. En cierto sentido, esto es un inconveniente, ya que los picos de ruido son a menudo los infractores, y la regla de decisión basada en ellos, de hecho, se basa en el ruido.
La constante C suele elegirse según el criterio de un control deslizante. Este es un método laborioso, ya que el problema debe resolverse nuevamente para cada valor de C.
Si hay motivos para creer que la muestra se puede separar casi linealmente y que solo los objetos atípicos se clasifican incorrectamente, se puede aplicar el filtrado de atípicos. Primero, el problema se resuelve para algo de C y se elimina de la muestra una pequeña fracción de objetos con el mayor valor de error . Después de eso, el problema se resuelve de nuevo en una muestra truncada. Puede ser necesario hacer varias de estas iteraciones hasta que los objetos restantes sean linealmente separables.
El algoritmo para construir el hiperplano de separación óptimo, propuesto en 1963 por Vladimir Vapnik y Aleksey Chervonenkis , es un algoritmo de clasificación lineal. Sin embargo, en 1992, Bernhard Boser, Isabelle Guyon y Vapnik propusieron un método para crear un clasificador no lineal basado en la transición de productos escalares a núcleos arbitrarios, el llamado truco del núcleo (propuesto por primera vez por M. A. Aizerman , E. M. Braverman y L. I. Rozonoer por el método de las funciones potenciales), que permite construir separadores no lineales. El algoritmo resultante es muy similar al algoritmo de clasificación lineal, con la única diferencia de que cada producto escalar en las fórmulas anteriores se reemplaza por una función kernel no lineal (producto escalar en un espacio con una dimensión mayor). Es posible que ya exista un hiperplano de separación óptimo en este espacio. Dado que la dimensión del espacio resultante puede ser mayor que la dimensión del original, la transformación que iguala los productos escalares será no lineal, lo que significa que la función correspondiente al hiperplano de separación óptimo en el espacio original también será no lineal.
Si el espacio original tiene una dimensión suficientemente alta, entonces la muestra puede ser linealmente separable.
Los núcleos más comunes:
Tipos de redes neuronales artificiales | |
---|---|
|
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|