Künstliche Intelligenz mit Java
Maschinelles Lernen mit Neuronalen Netzwerken

Der Algorithmus für die Neujustierung der Gewichte des Output-Layers lässt sich wie folgt formulieren:

für alle Neuronen i des Output-Layers, tue

  für alle Gewichte j des einzelnen Neurons, tue

    berechne den Fehler

    berechne den gewünschten Delta-Wert (in Abhängigkeit, ob es ein reguläres Gewicht
                                                            oder ein Bias-Gewicht ist)

    neuer Gewichtswert := altes Gewicht plus Delta-Wert

    wenn Gewicht j ein reguläres Gewicht ist

      Gewicht := neuer Gewichtswert

    wenn Gewicht j ein Bias-Gewicht ist

      addiere den neuen Gewichtswert zum "Bias-Feld"

wenn Backpropagation für das Bias-Gewicht erwünscht ist

  setze bei allen Neuronen des Output-Layers das Bias-Gewicht auf den Mittelwert des
                                                                         Bias-Feldes


Man sieht, dass einiger Aufwand für das Managen des Bias-Gewichtes betrieben wird.
Angenommen, der Bias-Wert beträgt vor dem Training 0.5 und der Output-Layer besitzt zwei Neuronen. Dann könnte es bei dem ersten Neuron im Output-Layer zu dem folgenden Bias-Wunsch kommen:

bias calculation 1: 0.5307507191857215

Bei dem zweiten Neuron im Output-Layer wird folgender Bias-Kandidat ermittelt:

bias calculation 2: 0.6190491182582781

Ist Bias-Backpropagation erwünscht, dann lautet der neue Bias-Wert für alle Neuronen des Output-Layers:

bias: 0.5748999187219998

Wenn nicht, dann bleibt es bei dem Wert von 0.5.


- 45 -