Zbudowałem sztuczną sieć neuronową w Pythonie za pomocą funkcji optymalizacji scipy.optimize.minimize (gradient sprzężony).
Wdrożyłem sprawdzanie gradientu, podwójnie sprawdziłem wszystko itp. Jestem pewien, że działa poprawnie.
Uruchomiłem go kilka razy i osiąga on „Optymalizacja zakończona pomyślnie”, ale kiedy zwiększę liczbę ukrytych warstw, koszt hipotezy wzrasta (wszystko inne pozostaje takie samo) po pomyślnym zakończeniu.
Intuicyjnie wydaje się, że koszt powinien się zmniejszyć, gdy liczba ukrytych warstw wzrośnie, ponieważ jest w stanie wygenerować bardziej złożoną hipotezę, która lepiej pasuje do danych, jednak wydaje się, że tak nie jest.
Byłbym zainteresowany, aby zrozumieć, co się tutaj dzieje, lub jeśli nieprawidłowo zaimplementowałem sieć neuronową?