Implementierung

Genau wie bei der Mustererkennung kannst du nun Erfahrungen darin sammeln, wie ein Faltungsnetzwerk zur Klassifikation von Strichzeichnungen trainiert und getestet werden kann.

Genauer besteht die Aufgabe darin, anhand einer Strichzeichnung zu erkennen, ob es sich um einen Apfel, einen Schmetterling, einen Fisch oder eine Sonne handelt. Als Grundlage dient der folgende Code, der bereits geeignete Trainings- und Testdaten einbezieht und eine erste Trainingsphase durchführt.

Hinweise

Der grundlegende Code dieser Aufgabe verwendet das Doodle-Datenpaket. Der Umfang der Trainingsdaten besteht aus 4000 Datensätzen und getestet wird das Netz an weiteren 1000 Datensätzen. Weiterführende Informationen dazu findest du hier:

Zur Referenz

Die Funktionen zum Trainieren und Testen eines Faltungsnetzwerks stellt das ConvNet-Paket bereit:

Zur Referenz

Schließlich ist zu beachten, dass (anders als bei neuronalen Netzen) die Trainings- und Testdaten nicht als eindimensionales Datenfeld (Vektor), sondern als zweidimensionales Datenfeld (Matrix bzw. Bild) benötigt werden. Um dies zu bewirken, stellt das Doodle-Paket die Option format zur Verfügung.

Trainingsphase
Das Beispiel führt eine Trainings- und eine Testphase zur Klassifikation von Strichzeichnungen durch.
Aufgabe

Aufgrund des gewählten Layouts löst die Anwendung zuvor die Klassifikationsaufgabe nicht besonders gut: Nur etwa 30 bis 40 Prozent der Testdaten werden korrekt klassifiziert.

Definiere ein Layout und finde Parameter der Trainingsphase, sodass zuverlässig über 90 Prozent der Testdaten korrekt klassifiziert werden.

Quiz
Hast du den Quellcode anpassen können, sodass 90 Prozent der Testdaten korrekt klassifiziert werden?
ja
nein
Projektaufgabe Mnist