Creo que la pregunta tiene dos partes:
- ¿Por qué no se usa simplemente [math] \ nabla F (x) = 0 [/ math] para encontrar el mínimo de funciones convexas?
Yo diría que, por el contrario, establecer derivadas a cero es en realidad una técnica de uso frecuente para encontrar el mínimo de funciones convexas en problemas sin restricciones. Los ejemplos abundan en el campo de la estadística y el control. Considere la fórmula de los mínimos cuadrados ordinarios (MCO):
[matemáticas] \ hat \ beta = (X ^ TX) ^ {- 1} X ^ T y [/ matemáticas]Lo anterior es en realidad el derivado al establecer [math] \ nabla F (\ hat \ beta) = 0 [/ math] en el siguiente problema de minimización de mínimos cuadrados.
[matemáticas] \ min _ {\ hat \ beta} F (\ hat \ beta) = (y – X \ hat \ beta) ^ {T} (y – X \ hat \ beta) [/ math]- ¿Cómo es el curso de aprendizaje automático NPTEL?
- ¿Qué son las redes amplias?
- ¿Son los métodos de aprendizaje automático una especie de interpolación, mientras que los métodos de series temporales actúan como métodos de extrapolación?
- ¿Debo aprender R o Spark para computación de alto rendimiento?
- Cómo lidiar con una matriz escasa de pares de elementos de usuario mientras se construye un sistema de recomendación de filtrado colaborativo basado en perceptrón
Se pueden encontrar problemas de minimización implícitos similares en derivaciones para el filtro de Kalman, PCA, etc. Esta técnica proporciona soluciones de forma cerrada al problema de optimización. Esto significa que obtiene soluciones de optimización con tiempos de solución limitados, que es una propiedad muy atractiva, especialmente en aplicaciones en tiempo real como el control.
Con respecto a las inversiones de matriz y tal, típicamente la matriz inversa nunca se calcula. En el caso OLS anterior, el sistema se plantea de esta forma:
[matemáticas] (X ^ TX) \ hat \ beta = X ^ T y [/ matemáticas]
y resuelto usando un solucionador lineal. El esfuerzo computacional para resolver un sistema lineal es más bajo que calcular el inverso, además uno puede explotar más fácilmente la estructura especial en la matriz de coeficientes como bandas, simetría, escasez, etc. y usar técnicas como preacondicionamiento, regularización de Tikhonov, etc.Sin embargo, establecer derivadas a 0 solo es útil cuando el sistema [matemática] \ nabla F (x) = 0 [/ matemática] es lineal (o al menos, un sistema explícito de ecuaciones en el que [matemática] x [ / math] puede ser aislado). De lo contrario, uno puede tener que resolver un sistema de ecuaciones no lineales, lo que implica el uso de algún método de descenso de gradiente o de tipo Newton.
El resultado final : cuando su sistema derivado de primer orden es un sistema lineal de ecuaciones, resolver este sistema directamente suele ser mucho más atractivo desde el punto de vista computacional que usar el descenso de gradiente (cuya convergencia puede ser lenta). Cuando su sistema derivado de primer orden no es un sistema lineal, entonces las estrategias alternativas (que incluyen, entre otras, el descenso de gradiente) pueden ser más atractivas.
- ¿Por qué las personas usan el descenso de gradiente para las funciones convexas?
Creo que la razón más convincente para usar el descenso de gradiente es que es extremadamente fácil de implementar. También es relativamente barato computacionalmente, lo cual es un factor importante al resolver problemas de optimización con conjuntos de datos muy grandes (y cuando los derivados de primer orden están disponibles a bajo precio). Y como se mencionó anteriormente, puede ser útil cuando establecer las derivadas a 0 no da como resultado un sistema lineal que se pueda resolver fácilmente.
En lo que respecta a los algoritmos de optimización, el descenso del gradiente es, en el mejor de los casos, aceptable (el hecho es que tiene una tasa de convergencia relativamente pobre y puede zigzaguear cerca del óptimo, aunque las búsquedas de líneas y otras técnicas pueden ayudar a aliviar tales problemas).
Sin embargo, en muchas aplicaciones de big data, el cuello de botella tiende a ser el tamaño del problema en lugar del algoritmo utilizado para la optimización, por lo que, cuando se observa con esta luz, el descenso de gradiente puede ser una opción decente (especialmente el descenso de gradiente estocástico).