i

Maschinelles Lernen: Delta-Regel nach Rosenblatt

Wie wir im vorhergehenden Abschnitt gesehen haben, kann es durch schrittweises Ändern von synaptischen Gewichten gelingen, eine noch fehlerhafte Zuordnung zu verbessern. Ziel ist es jetzt, Regeln für die Veränderung von Gewichten so eindeutig festzulegen, dass auch ein Computer sie ausführen kann. Wenn dies gelingt, kann man sagen: Der Computer hat die richtige Zuordnung selbstständig gelernt; man spricht dann von "Maschinellem Lernen".

Wir gehen wieder von einem Perzeptron mit 2 variablen Eingängen und einem konstanten Eingang aus. Dieses soll am Anfang irgendwelche (zufälligen) Gewichte $w_i$ haben ($i=1,2,3$).

Das Perzeptron soll nun lernen, eine bestimmte Zuordnung zu lernen. Das kann es nur, wenn es auf entsprechende Beispiele von korrekten Zuordnungen zurückgreifen kann (wie Schüler auf eine "Musterlösung").

Ein solches Trainingsbeispiel besteht immer aus den beiden Eingangswerten $x_1$ und $x_2$ sowie aus dem Ergebnis, was dabei herauskommen soll ($y_\textrm{soll}$).

Für jedes solche Trainingsbeispiel erzeugt das (noch zufällige) Perzeptron eine Ausgabe $y$. Entweder ist das bereits die gewünsche Ausgabe $y_\textrm{soll}$ oder eben noch eine falsche. Das drücken wir mathematisch aus und definieren eine Größe "Fehler" ("Error"). Wir verwenden als Formelzeichen den griechischen Buchstaben $\varepsilon$ ("epsilon"). \begin{equation} \varepsilon = y - y_\textrm{soll} \end{equation}

Obwohl wir das im Moment noch nicht bräuchten, führen wir eine weitere Größe $\delta$ ("delta") ein, und setzen Sie (zumindest noch im Moment)mit dem oben definierten Fehler gleich. Die Unterscheidung zwischen $\delta$ und $\varepsilon$ brauchen wir aber später, deshalb machen wir sie schon hier: \begin{equation} \delta=\varepsilon \end{equation} Anschaulich heißt das dann

  • $\delta > 0$: Die Ausgabe ist zu groß (größer als das Soll).
    Die Gewichte vor positiven x-Werten sind zu groß, die Gewichte vor negativen x-Werten zu klein. Man sollte die Gewichte vor positiven x-Werten also ein bisschen verkleinern, die vor negativen x-Werten ein bisschen vergrößern.
  • $\delta \lt 0$: Die Ausgabe ist zu klein (kleiner als das Soll)
    Die Gewichte vor negativen x-Werten sind zu groß, die Gewichte vor positiven x-Werten zu klein. Man sollte die Gewichte vor negativen x-Werten also ein bisschen verkleinern, die vor positiven x-Werten ein bisschen vergrößern.
Für die Änderung der synaptischen Gewichte legen wir nun die folgende Regel fest, die genau eine solche Änderung vornimmt: \begin{equation} w_i \leftarrow w_i - \alpha \cdot \delta \cdot x_i \end{equation} Dabei ist $\alpha$ ein kleiner, positiver Wert, der dafür sorgt, dass die Werte tatsächlich nur um ein "bisschen" verschoben werden. Der Wert $\alpha$ wird als so genannte "Lernrate" bezeichnet. Je größer $\alpha$ ist, desto schneller ändern sich die synaptischen Gewichte ab. Wird $\alpha$ zu groß, kann das den unerwünschten Effekt haben, dass sich keine stabile Kombination von Gewichten $w_i$ einstellt, die tatsächlich für jede Kombination von Eingangswerten $x_i$ die gewünschte Ausgabe liefert. Stattdessen springt das System beim Lernen dann ständig zwischen zu extremen Werten für die Gewichte $w_i$ hin und her.

Suche

v
13.1.4.5
dev.inf-schule.de/informatiksysteme/kuenstliche-intelligenz/ml_nn_alternativ/maschinelles_lernen_delta_regel_nach_rosenblatt
dev.inf-schule.de/13.1.4.5

Rückmeldung geben