Eu construí uma rede neural artificial em python usando a função de otimização scipy.optimize.minimize (Conjugate gradient).
Eu implementei a verificação de gradiente, verifiquei tudo, etc, e tenho certeza de que está funcionando corretamente.
Eu o executei algumas vezes e ele alcança 'Otimização finalizada com êxito', no entanto, quando eu aumento o número de camadas ocultas, o custo da hipótese aumenta (todo o resto é mantido o mesmo) após a finalização com êxito.
Intuitivamente, parece que o custo deve diminuir quando o número de camadas ocultas é aumentado, pois é capaz de gerar uma hipótese mais complexa que pode ajustar melhor os dados, mas isso parece não ser o caso.
Eu estaria interessado em entender o que está acontecendo aqui, ou se eu implementei a rede neural incorretamente?