Ich habe versucht, ein neuronales Netzwerk ohne versteckte Schicht zu implementieren, um mit dem MNIST-Dataset zu hacken.Was ist falsch an der Implementierung meines Backpropagation-Algorithmus?
Ich verwendete Sigmoid als Aktivierungsfunktion und Cross-Entropie als Verlustfunktion.
Zur Vereinfachung habe ich im Netzwerk keine versteckte Ebene, nur Eingabe und Ausgabe.
Dies ist der Teil meiner Implementierung von Backpropagation-Algorithmus, aber es nicht wie erwartet funktionieren. Das Absenken der Verlustfunktion ist extrem langsam (ich habe versucht, die Lernrate von 0,001 auf 1 zu variieren), und die Genauigkeit wird nie größer als 0,1.
Die Ausgabe ist wie folgt aus:
# 0 loss: 279788.368245 acc: 0.0903333333333
# 1 loss: 279788.355211 acc: 0.09035
# 2 loss: 279788.350629 acc: 0.09035
# 3 loss: 279788.348228 acc: 0.09035
# 4 loss: 279788.346736 acc: 0.09035
# 5 loss: 279788.345715 acc: 0.09035
# 6 loss: 279788.344969 acc: 0.09035
# 7 loss: 279788.3444 acc: 0.09035
# 8 loss: 279788.343951 acc: 0.09035
# 9 loss: 279788.343587 acc: 0.09035
# 10 loss: 279788.343286 acc: 0.09035
# 11 loss: 279788.343033 acc: 0.09035