Ich habe ein künstliches neuronales Netzwerk in Python mit der Optimierungsfunktion scipy.optimize.minimize (Gradient konjugieren) aufgebaut.
Ich habe die Gradientenprüfung implementiert, alles doppelt überprüft usw. und bin mir ziemlich sicher, dass es richtig funktioniert.
Ich habe es einige Male ausgeführt und es erreicht "Optimierung erfolgreich beendet". Wenn ich jedoch die Anzahl der ausgeblendeten Ebenen erhöhe, steigen die Kosten der Hypothese (alles andere bleibt gleich), nachdem sie erfolgreich beendet wurde.
Intuitiv scheint es, als sollten die Kosten sinken, wenn die Anzahl der verborgenen Schichten erhöht wird, da eine komplexere Hypothese generiert werden kann, die besser zu den Daten passt. Dies scheint jedoch nicht der Fall zu sein.
Es würde mich interessieren, was hier vor sich geht oder ob ich das neuronale Netz falsch implementiert habe.