He implementado con éxito el Descenso de gradiente estocástico y el Descenso de gradiente más pronunciado en C ++. ¿Qué puedo hacer a continuación?

* A2A *

  • Generalice su código para optimizar la función objetiva arbitraria (es una buena oportunidad para usar std :: function).
  • Use la biblioteca de diferenciación automática para proporcionar una API donde el usuario solo tiene que proporcionar la función y su código usa la biblioteca para calcular automáticamente las derivadas.
  • Busque trabajos de investigación sobre el tamaño de paso adaptativo para una convergencia rápida de los métodos de descenso de gradiente e intente incorporar algunas de esas ideas para que el usuario no tenga que proporcionarle tamaños de paso.
  • Para las funciones objetivas convexas, los puntos de partida aleatorios en el descenso de gradiente están absolutamente bien, pero si la función no es convexa, necesita mejores puntos de partida. Intente implementar el recocido simulado.
  • Actualice su pendiente de gradiente con Hesse para obtener el método de Newton en la optimización.
  • Vaya más allá e implemente el método Cuasi-Newton y, en particular, BFGS de memoria limitada.

More Interesting

¿Qué es una explicación simplificada y una prueba del lema de Johnson-Lindenstrauss?

¿Qué métricas debo usar en mi investigación de preprocesamiento de datos (no estructurada)?

Cómo entrenar un clasificador SVM a partir de ejemplos de texto

¿Cómo funciona la propagación hacia atrás en la red neuronal convolucional?

¿Cuándo harán las máquinas la física y volverán a aprender las características de los datos de observación y luego reemplazarán aquellas como masa, giro, color o carga?

¿Cuáles son algunas habilidades matemáticas altamente relevantes que se requieren si quiero comenzar a investigar en algoritmos de Machine Learning?

¿Cuál es una forma intuitiva de explicar los resultados de la PCA?

Como programador novato, ¿realmente necesito conocer toda la documentación de un lenguaje o marco de programación para comenzar, o lo aprenderé acumulativamente mientras trabajo en un proyecto pequeño?

¿Qué elementos de los sistemas operativos generales de una organización deben ser compatibles y reforzarse mutuamente?

¿Los métodos de aprendizaje profundo conducen a avances en el procesamiento del lenguaje natural?

¿Cuáles son algunos casos de mal uso de las redes neuronales?

¿Sería posible entrenar una computadora para reconocer con precisión a escritores individuales en Quora analizando muestras escritas?

¿Cuál es la diferencia entre la retropropagación y la retropropagación a través del tiempo?

¿Cuáles son las diferencias entre big data, hadoop y colmena? ¿Son solo jergas con el mismo significado? ¿Puedes resumir en detalle?

¿Cuál es la relación entre los modelos gráficos probabilísticos y las redes neuronales (aprendizaje profundo)?