Benutzer-Werkzeuge

Webseiten-Werkzeuge


lernalgorithmus

Dies ist eine alte Version des Dokuments!


Perzeptron Lernalgorithmus

Topologie

TODO IMAGE

  • Gegeben:
    • Eingangsneurone $x_1$ und $x_2$
    • ein Ausgabeneuron $y$.
    • Drei Gewichte $w_{11}$ , $w_{21}$, $w_3=-0.1$.

Forward Pass

Unter dem „forward pass“ versteht man die Berechnung der Ausgabe, bei gegebener Eingabe und Gewichten. In einem ersten Schritt wird dabei die Netzeingabe $net$ berechnet. Anschließend wird hierauf die Aktivierungsfunktion angewandt $f(net)$.

Netzeingabe $net$

Aktivierungsfunktion

Die Aktivierungsfunktion für Perzeptron lautet:

\begin{equation} f(x)=\left\{\begin{array}{ll}0 : & x < 0 \\ 1 : & x\geq 0 \end{array}\right. \end{equation}

Trainingsmuster ($x_1$,$x_2$) → $y$

Der Perzeptron-Lernalgorithmus wird auf Trainingsmuster angewendet. Ein Trainingsmuster (engl. Training Pattern) besteht aus der Eingabe zusammen mit der gewünschten Ausgabe, die es zu lernen gilt. Das neuronale Netz lernt die Gewichte so anzupassen, dass alle Trainingsmuster richtig wiedergegeben werden. Für das AND-Problem gibt es vier „Patterns“:

  • (0,0) → 0
  • (0,1) → 0
  • (1,0) → 0
  • (1,1) → 1

Perzeptron lernen

Im Folgenden wird ein einfacher Algorithmus gegeben, um z.B. das AND-Problem zu lernen. die Trainingsmuster repräsentieren zu können.

Vorbereitung

  • Wähle eine Lernrate $\eta$ zwischen 0 und 1, z.B. $\eta=0.1$.
  • Wähle zufällige Zahlen für die Gewichte $w_{ij}$ zwischen 0 und 1 für die Initialisierung.

Die Schwelle $\theta$ wird durch ein konstantes Gewicht $w_3=-0.1$ gesetzt. Gelernt werden die Gewichte $w_{11}$ und $w_{21}$, um die Trainingsmuster repräsentieren zu können.

Algorithmus

  1. forward pass Wähle ein Trainingsmuster und berechne die Ausgabe $o$
  2. Berechne den Fehler zwischen der gewünschten Ausgabe (t für Target) und der tatsächlicher o.
  3. Berechne die Gewichtsänderung $\Delta w_{ij} = \eta\cdot (o-j)\cdot x_i$
  4. Berechne das neue Gewicht mit $w_{ij} = w_{ij} + \Delta w_{ij} $
  5. Wiederhole ab Schritt 1. für eine Anzahl an Iterationen, bis das gewünschte Ergebnis erreicht ist.

Test

Überprüfe ob das UND-Problem richtig gelernt wurde, indem für alle (Inputvektoren ($x_1$,$x_2$) die Ausgaben berechnet werden. Ändere eventuell die Lernrate oder die Anzahl der Iterationen, damit das Problem richtig gelernt werden kann.

lernalgorithmus.1737555744.txt.gz · Zuletzt geändert: 2025/01/22 14:22 von torsten.roehl