¿Cómo entrenar un SVM a través de la propagación inversa?


10

Me preguntaba si era posible entrenar un SVM (digamos uno lineal, para facilitar las cosas) usando la propagación hacia atrás.

Actualmente, estoy en un obstáculo, porque solo puedo pensar en escribir la salida del clasificador como

f(x;θ,b)=sgn(θx(b+1))=sgn(g(x;θ,b))

Por lo tanto, cuando intentamos calcular el "paso hacia atrás" (error propagado) obtenemos desde la derivada de es

Ex=Ef(x;θ,b)f(x;θ,b)x=Ef(x;θ,b)sgn(g(x;θ,b))g(x;θ,b)g(x;θ,b)x=δdsgn(z)dzθ=δ0θ=0
sgn(x)
dsgn(x)dx={0if x02δ(x)if x=0

Del mismo modo, encontramos que , lo que significa que no podemos transmitir ninguna información ni realizar actualizaciones de gradiente.E/θ=E/b=0

¿Lo que da?

Respuestas:


14

Tienes razón en que si intentas optimizar directamente la precisión de la SVM en los casos de entrenamiento, también llamada pérdida 0-1, el gradiente desaparece. Es por eso que la gente no hace eso. :)

Sin embargo, lo que intenta hacer no es realmente una SVM todavía; es más bien un clasificador lineal general. Un SVM en particular surge cuando reemplaza la función de pérdida 0-1 con un sustituto convexo conocido como pérdida de bisagra ; Esto equivale a la idea de maximización del margen, que es esencial para la idea de un SVM. Esta función de pérdida es (casi) diferenciable; el único problema es si alguna salida está exactamente en el punto de articulación, lo que (a) ocurre con probabilidad cero bajo las suposiciones más razonables y (b) entonces puede usar 0 o 1 como derivada (o cualquier cosa intermedia), en en cuyo caso técnicamente estás haciendo descenso de subgrado.

Como está hablando de propagación hacia atrás, supongo que está al menos un poco familiarizado con la optimización de redes neuronales. El mismo problema ocurre con los clasificadores de redes neuronales también; Es por eso que la gente usa otras funciones de pérdida allí también.


Entonces, si te entiendo correctamente, realmente estás diciendo que un SVM lineal puede pensarse en un NN de 1 capa: la capa única es solo una transformación lineal, , con la pérdida de la bisagra ¿función? Ax+b
StevieP

1
Sí, un SVM lineal es básicamente equivalente a un NN de 1 capa con activación lineal en el nodo de salida y entrenado mediante pérdida de bisagra.
Dougal

5

Si solo le interesa el caso lineal, entonces la regresión logística (LR) es una mejor opción, ya que es convexa y analítica (es posible que desee dividirla si está interesado en la regularización). Pero cuando optas por lo no lineal, ahí es donde entra en juego la parte difícil. Para los casos no lineales no hay una forma razonable de mantener las cosas convexas y analíticas, tendrá que sacrificar uno de los dos. En las redes neuronales se sacrifica la convexidad y en las svms se sacrifica el holomorfismo.

estrictamente hablando no hay diferencia entre LR y SVM, los svms solo predicen en qué lado de la línea se encuentra un punto, los LR también tienen en cuenta qué tan lejos se encuentran del límite (en la línea de margen límite, el sigmoide le da la probabilidad 0.5 en caso de LR). Los SVM se ven obligados a hacer este compromiso porque para los núcleos no lineales la intuición de la distancia desde un hiperplano curvo (la variedad algebraica es un término mejor) no es la misma que en el caso lineal, de hecho, el problema de resolver la distancia más corta desde una hiper superficie en un punto específico es muy difícil (más difícil que el SVM en sí), pero por otro lado, Vapnik se dio cuenta de que solo predecir en qué lado de la frontera se encuentra un punto es muy fácil como en el tiempo O (1). Esta es la verdadera idea detrás de SVM, por lo que es la única alternativa de optimización convexa disponible en la teoría del aprendizaje estadístico. Pero mi sensación es que sacrificas demasiado, tanto el holomorfismo como la naturaleza probabilística se pierden. Pero para casos específicos como las SVM de verificación de terreno son muy confiables y también son modelos científicos completamente falsificables a diferencia de sus alternativas no convexas.

Tldr: sí, el teorema del valor medio viene a rescatar las funciones no analíticas. En los casos convexos no analíticos, el teorema del valor medio se convierte en una desigualdad que establece algunas condiciones de contorno en los sub-gradientes que usan para hacer un subdegradado decente


1
¿Qué significa LR para ti?
Sycorax dice Reinstate Monica el

@Sycorax regresión logística
Franck Dernoncourt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.