¿Alguien ha tenido problemas con fmin_slsqp (o cualquier otra cosa en scipy.optimize) solo cuando usa números muy grandes o muy pequeños?Problema con scipy.optimize.fmin_slsqp cuando se usan números muy grandes o muy pequeños
Estoy trabajando en un código python para tomar una imagen en escala de grises y una máscara, generar un histograma y luego ajustar múltiples gaussianos al histograma. Para desarrollar el código utilicé una pequeña imagen de muestra, y después de un trabajo, el código funcionaba de manera brillante. Sin embargo, cuando normalizo el histograma primero, generando valores de contenedor < < 1, o cuando hago un histograma de imágenes enormes, generando valores de contenedor en cientos de miles, fmin_slsqp() comienza a fallar esporádicamente. Se cierra después de solo ~ 5 iteraciones, por lo general solo devuelve una versión ligeramente modificada de la suposición inicial que le di, y devuelve el modo de salida 8, que significa "derivada direccional positiva para la búsqueda de líneas". Si compruebo el tamaño de los recuentos de contenedores al principio y los escalo en la vecindad de ~ 100-1000, fmin_slsqp() funciona como siempre. Acabo de escalar cosas antes de devolver los resultados. Creo que podría dejarlo así, pero se siente como un truco.
He mirado alrededor y he encontrado gente hablando sobre el valor épsilon, que es básicamente el dx usado para aproximar derivados, pero el ajuste no ha ayudado. Aparte de eso, no he encontrado nada útil todavía. Cualquier idea sería muy apreciada. Gracias por adelantado.
James