Siehe https://martin-reiche.de/backpropagation/

Dieser Verzeichnisbaum enthält ein Python-Programm zur Backpropagation eines
künstlichen neuronalen Feed-Forward-Netzes.
Nähere Informationen findet man im Verzeichnis doc.
Das Programm erfordert eine Python-Version 3.10 oder höher sowie dazu passende
Versionen der Pakete tkinter, numpy und matplotlib.

Folgende Tainings- bzw. Testdaten stehen zur Verfügung:
1) Alphabet: 5x7 Buchstaben, auch in absichtlich gestörter Form
2) MNIST-Digits: Handgeschriebene Ziffern in einer 28x28 Matrix.
3) Daten des Projektes Folio, sowohl as Feature-Vektoren als auch als Bilder

Nähere Informationen finden sich in der Dokumentation im Verzeichnis doc.

Schnelltest: Gehe in das Verzeichnis program und starte main.py
1) Lade die Trainingsdaten data/MNIST-digits/mnist_train_1000.txt mit dem Knopf
   "Load Trainig Data"
2) Wähle die Einstellungen (hellblaue Felder)
   - Hidden Layer Size = 50
   - Step Width        = 0.2
   - Epochs            = 50
   - Random Seed       = 1
3) Drücke den Knopf "Run Training"
4) Nachdem das Training beendet ist (der gelbe Spruch unten "Training in progress"
   verschwindet), drücke "Load Test Data" und wähle die Datei 
   data/MNIST-digits/mnist_test_100.txt.
5) Drücke den Knopf "Run Test". Es werden 6 failing tests genannt d.h.
   Performance = 94% und Failure Rate = 6%. Failing Records sind 9,45,64,67,74,81.
6) Wähle den Tab "Inspect". Der Test Record #1 ist die Ziffer 7, die korrekt erkannt
   wird.
7) Klicke durch die anderen Test Records und siehe die Fehler bei #9, 45#, 64# ...

