Bisher wurde der Bias-Wert nicht in die Backpropagation mit einbezogen. Dies soll nun in den Trainingsdaten geändert werden:
public static final boolean isBiasBackPropagationDesired = true;
Absolviert man das Training nun wieder mit 10000 (in Worten: zehntausend) Epochen, ergibt sich ein anderer Lern-Endstand:
Man sieht, dass die Ergebnisse (sprich: das Lernen) besser werden, wenn der Bias-Wert mit verändert wird! Der Durchschnittsfehler der beiden Ausgänge ist von 0.000035 auf 0.00000524 gesunken.
Zusammenfassung:
Ein Neuronales Feed-Forward-Netzwerk besteht aus einem Input-Layer, ein bis mehreren Hidden-Layern und einem Output-Layer. Der Input-Layer gewichtet die Eingangssignale nicht, daher sind dort keine Neuronen bzw. Perzeptronen nötig. Die Anzahl der Neuronen in den Hidden-Layern ist flexibel, die Anzahl der Neuronen im Output-Layer durch die Anzahl der Ausgänge bestimmt.
Beim überwachten Lernen durch Training werden immer wieder Trainingsdaten an das Netzwerk gelegt und dann pro Epoche in Abhängigkeit vom Fehler über bestimmte Lernregeln (Delta-Regel, Backtracking) die Gewichte neu justiert.
Bei der Linearen Regression wird (z. B. im zweidimensionalen Raum) eine Gerade gesucht, die möglichst dicht an allen vorgegebenen Punkten vorbeiführt.
Beim Gradientenabstiegsverfahren (z. B. im dreidimensionalen Raum) wird über die „Steilheit des Geländes“ um einen Punkt herum die „Lauf-Richtung“ festgelegt, um das gesuchte Minimum beim Fehler zu finden.
Der k-nächste-Nachbarn-Algorithmus ist ein sehr einfacher Algorithmus für Klassifizierungsaufgaben.
Die Implementierung des Neuronalen Feed-Forward-Netzwerkes ist nicht trivial und erfordert einigen Aufwand. Über Ausgaben auf den Bildschirm lässt sich dann aber sehr schön das Maschinelle Lernen zur Laufzeit dokumentieren.
- 56 -