Descenso de gradiente estocástico, con un tamaño de paso decreciente proporcional a t ^ (- 1/2).
Es de primer orden, por lo que cada iteración requiere memoria proporcional a la dimensión d del problema únicamente: escalable. Estocástico significa que para muchos tipos de problemas, cada iteración requiere solo d trabajo, por lo que normalmente hará algo útil muy rápidamente. Calcular un gradiente estocástico es una barrera muy baja para la entrada. Prácticamente, a SGD le está yendo muy bien incluso para problemas bastante especializados como redes neuronales y svm primal lineal (algunas veces variando el horario del tamaño del paso). Teóricamente, obtienes una prueba fácil de convergencia incluso con problemas no suaves y no muy convexos.
Saber más sobre el problema le proporciona algoritmos más especializados con tasas más rápidas, por supuesto, y alcanzar un SGD de alta precisión en sí mismo es bastante inútil, pero no conozco ningún algoritmo con una aplicabilidad tan amplia.
- ¿Puedo comenzar a aprender visión por computadora sin pasar por algoritmos de aprendizaje automático?
- ¿Qué algoritmos son más importantes para un concursante de ACM ICPC?
- ¿Hay un árbol que pueda agregar y eliminar nodos más rápido que AVL?
- Cómo verificar si una cadena es un prefijo de otra cadena en O (1)
- ¿Qué algoritmos debe saber un estudiante de informática de segundo año?