Implementierung

Die taralino-Bibliothek beinhaltet zahlreiche Funktionen und Befehle, um auch neuronale Netze trainieren und testen zu können. Wie einfach das sein kann, erfährst du in diesem Abschnitt.

In den nachfolgenden Beispielen wird zunächst ein Datensatz bestehend aus 2000 Objekten bzw. Punkten erzeugt:

Zur Referenz

Die Datenstruktur der Objekte ist dabei genau so aufgebaut, dass die Daten zum Trainieren und Testen eines neuronalen Netzes unter Verwendung der taralino-Bibliothek eingesetzt werden können. Insbesondere beinhaltet jedes Objekt das Eingangssignal als Variable input und das gewünschte Ausgangssignal als Variable output.

Anschließend wird der gesamte Datensatz aufgeteilt in Trainings- und Testdaten, jeweils bestehend aus 1000 Objekten:

Zur Referenz

Beim Initialisieren des neuronalen Netzes wird das Layout definiert und sämtlich Gewichte und Schwellwerte auf einen zufälligen Wert zwischen -1 und 1 gesetzt:

Zur Referenz

Nun kann das neuronale Netz unter Verwendung der Trainingsdaten trainiert werden. Spezifiziert werden kann dabei unter anderem die Anzahl der Iterationsschritte:

Zur Referenz

Anschließend gibt es unterschiedliche Möglichkeiten, das (trainierte) neuronale Netz zu testen (unter Verwendung der Testdaten). Beispielsweise kann die Konfusionsmatrix bestimmt und ausgegeben werden:

Zur Referenz

Das war's auch schon: Mehr wird nicht benötigt, um ein neuronales Netz zu implementieren.

Beispiel
Es wird ein Datensatz erstellt sowie in Trainings- und Testdaten aufgeteilt. Anschließend wird ein neuronales Netz initialisiert, trainiert und getestet.
Aufgabe

Mache dich mit dem Quellcode zuvor vertraut. Variiere das Layout sowie die Anzahl der Iterationsschritte und beobachte, ob die Ergebnisse plausibel sind. Zum Testen des neuronalen Netzes kannst du auch folgende Funktion verwenden:

Zur Referenz

Fortschrittsanzeige

Da beim Trainieren größerer neuronaler Netze durchaus etwas Rechenzeit benötigt wird, kann die Trainingsphase samt Fortschrittsanzeige gestartet werden:

Zur Referenz

Wichtig ist dabei allerdings die Funktion on_training_done. Diese wird genau dann aufgerufen, wenn die Trainingsphase abgeschlossen ist. Innerhalb der Funktion sollten sich nun die Befehle zum Testen des neuronalen Netzes befinden.

Beispiel
Es wird ein Datensatz erstellt sowie in Trainings- und Testdaten aufgeteilt. Anschließend wird ein neuronales Netz initialisiert und trainiert (samt Fortschrittsanzeige). Wenn die Trainingsphase abgeschlossen ist, wird das neuronale Netz getestet.
Exkurs

Zusätzlich zur taralino-Bibliothek können Datenpakete eingebunden werden, die in der Regel vollständige Datensätze beinhalten. Ein Beispiel ist das IrisFlower-Datenpaket zur Klassifikation von Schwertlilien:

Zur Referenz

Das folgende Beispiel zeigt, wie auch damit ein neuronales Netz trainiert und getestet werden kann.

Beispiel
Es wird der IrisFlower-Datensatz ausgelesen sowie in Trainings- und Testdaten aufgeteilt. Anschließend wird ein neuronales Netz initialisiert, trainiert und getestet.
Quiz
Projektaufgabe