Cuando podemos diferenciar la función de costo y encontrar parámetros resolviendo ecuaciones obtenidas a través de la diferenciación parcial con respecto a cada parámetro y descubrir dónde la función de costo es mínima. También creo que es posible encontrar múltiples lugares donde las derivadas son cero, por lo tanto, podemos verificar todos esos lugares y podemos encontrar mínimos globales
¿Por qué se realiza el descenso de gradiente en su lugar?
machine-learning
computational-statistics
Niranjan Kotha
fuente
fuente
Respuestas:
Incluso en el caso de, por ejemplo, modelos lineales, donde tiene una solución analítica, puede ser mejor utilizar un solucionador iterativo.
Como ejemplo, si consideramos la regresión lineal, la solución explícita requiere invertir una matriz que tenga complejidad . Esto se vuelve prohibitivo en el contexto de big data.O ( N3)
Además, muchos problemas en el aprendizaje automático son convexos, por lo que el uso de gradientes garantiza que lleguemos a los extremos.
Como ya se señaló, todavía hay problemas relevantes no convexos, como las redes neuronales, donde los métodos de gradiente (retropropagación) proporcionan un solucionador eficiente. Nuevamente, esto es especialmente relevante para el caso del aprendizaje profundo.
fuente
No se requiere descenso de gradiente. ¡Resulta que el descenso de gradiente es a menudo un algoritmo de optimización terriblemente ineficiente! Para los métodos iterativos, a menudo es posible encontrar una mejor dirección para moverse que donde el gradiente es más empinado.
Sin embargo, esa es una respuesta un poco volteada. Su pregunta realmente debería ser, "¿por qué necesitamos métodos iterativos?" P.ej. ¿por qué no ir directamente a la solución si el problema es convexo, la condición de Slater se mantiene y las condiciones de primer orden son necesarias y suficientes para un óptimo? Es decir, cuando la solución puede describirse como la solución de un sistema de ecuaciones, ¿por qué no simplemente resolver el sistema? La respuesta es que:
fuente
En el cálculo 101 aprendimos sobre cómo optimizar una función usando el "método analítico": solo necesitamos obtener la derivada de la función de costo y establecer la derivada en 0 y luego resolver la ecuación. Esto es realmente un problema de juguete y casi nunca sucederá en el mundo real.
fuente
El enfoque que mencionó solo se puede usar para resolver un conjunto de ecuaciones lineales, por ejemplo, en el caso de la regresión lineal, pero digamos que para resolver un conjunto de ecuaciones no lineales, en casos como redes neuronales con activaciones sigmoideas, el enfoque de descenso de gradiente es el ir por. Por lo tanto, la pendiente de gradiente es un enfoque más genérico.
Incluso para ecuaciones lineales, el tamaño de las matrices dadas por el conjunto de ecuaciones lineales es enorme, y puede ser difícil limitar el requisito de memoria.
fuente