Die wesentliche Grundlage sämtlicher Verfahren beim maschinellen Lernen sind Daten. Und auch neuronale Netze machen da keine Ausnahme:
Um die Gewichte und Schwellwerte eines neuronalen Netzes zur Lösung einer Klassifikationsaufgabe bestimmen zu können, werden (möglichst viele) Eingangssignale benötigt, für die das Klassifikationsergebnis jeweils bekannt ist.
Das bedeutet: Um ein neuronales Netz zur Klassifikation von Schwertlilien trainieren zu können, werden von (vielen) Blüten jeweils die Längen und Breiten der Kron- und Kelchblätter benötigt (hier jeweils in der Einheit dm). Zudem muss eine Information darüber bekannt sein, um welche Art es sich handelt. Sämtliche Informationen werden in einem Datensatz zusammengetragen:
Kelchblattlänge | Kelchblattbreite | Kronblattlänge | Kronblattbreite | Art |
0.51 | 0.35 | 0.14 | 0.02 | Borsten-Schwertlilie |
0.70 | 0.32 | 0.47 | 0.14 | Verschiedenfarbige Schwertlilie |
0.63 | 0.33 | 0.60 | 0.25 | Virginische Schwertlilie |
0.49 | 0.30 | 0.14 | 0.02 | Borsten-Schwertlilie |
0.64 | 0.32 | 0.45 | 0.15 | Verschiedenfarbige Schwertlilie |
0.58 | 0.27 | 0.51 | 0.19 | Virginische Schwertlilie |
... | ... | ... | ... | ... |
0.47 | 0.32 | 0.13 | 0.02 | Borsten-Schwertlilie |
0.69 | 0.31 | 0.49 | 0.15 | Verschiedenfarbige Schwertlilie |
0.71 | 0.30 | 0.59 | 0.21 | Virginische Schwertlilie |
Zur Lösung einer Klassifikationsaufgabe erhalten wir bestenfalls zu jedem Eingangssignal ein zugehöriges Ausgangssignal, bei dem genau ein Ausgangsneuron einen Wert von 1 hat und alle anderen den Wert 0 haben.
Bezogen auf den Datensatz zuvor sollen die Gewichte und Schwellwerte also bestenfalls derart bestimmt werden, sodass wir die folgenden Ausgangssignale bezüglich der jeweils zugehörigen Eingangssignale erhalten:
Eingangssignal | gewünschtes Ausgangssignal | Ausgangssignal entspricht |
[ 0.51, 0.35, 0.14, 0.02 ] | [ 1, 0, 0 ] | Borsten-Schwertlilie |
[ 0.70, 0.32, 0.47, 0.14 ] | [ 0, 1, 0 ] | Verschiedenfarbige Schwertlilie |
[ 0.63, 0.33, 0.60, 0.25 ] | [ 0, 0, 1 ] | Virginische Schwertlilie |
[ 0.49, 0.30, 0.14, 0.02 ] | [ 1, 0, 0 ] | Borsten-Schwertlilie |
[ 0.64, 0.32, 0.45, 0.15 ] | [ 0, 1, 0 ] | Verschiedenfarbige Schwertlilie |
[ 0.58, 0.27, 0.51, 0.19 ] | [ 0, 0, 1 ] | Virginische Schwertlilie |
... | ... | ... |
[ 0.47, 0.32, 0.13, 0.02 ] | [ 1, 0, 0 ] | Borsten-Schwertlilie |
[ 0.69, 0.31, 0.49, 0.15 ] | [ 0, 1, 0 ] | Verschiedenfarbige Schwertlilie |
[ 0.71, 0.30, 0.59, 0.21 ] | [ 0, 0, 1 ] | Virginische Schwertlilie |
Die Tabelle zuvor ist genau das, was als Trainingsdaten verstanden wird. Und wie der Name schon sagt, sind das auch genau die Informationen, die für die Trainingsphase benötigt werden:
Während der Trainingsphase werden die Gewichte und Schwellwerte eines neuronalen Netzes derart bestimmt, sodass die Ausgangssignale der am neuronalen Netz ausgewerteten Eingangssignale möglichst dem jeweils gewünschten Ausgangssignal entsprechen.
Dabei kommen durchaus komplexe mathematische Verfahren zum Einsatz, auf die wir an dieser Stelle nicht weiter eingehen können. Es sei jedoch bemerkt, dass es sich um einen iterativen Prozess handelt, bei dem auch der Zufall eine Rolle spielt. Zudem ist wichtig, zu berücksichtigen:
Es ist weder praktisch noch theoretisch möglich, die Gewichte und Schwellwerte derart zu bestimmen, sodass die Ausgangssignale der am neuronalen Netz ausgewerteten Eingangssignale exakt dem jeweils gewünschten Ausgangssignal entsprechen.
Welche Ergebnisse wir am Beispiel der Schwertlilien erwarten können, demonstriert die folgende Anwendung.