Construí una red neuronal artificial en Python usando la función de optimización scipy.optimize.minimize (gradiente conjugado).
Implementé la verificación de gradiente, verifiqué todo, etc., y estoy bastante seguro de que funciona correctamente.
Lo he ejecutado varias veces y llega a 'Optimización finalizada con éxito', sin embargo, cuando aumento el número de capas ocultas, el costo de la hipótesis aumenta (todo lo demás se mantiene igual) después de que finalizó con éxito.
Intuitivamente, parece que el costo debería disminuir cuando se aumenta el número de capas ocultas, ya que es capaz de generar una hipótesis más compleja que puede ajustarse mejor a los datos, sin embargo, este no parece ser el caso.
Me interesaría saber qué está pasando aquí, o si he implementado la red neuronal de manera incorrecta.