Benutzer-Werkzeuge

Webseiten-Werkzeuge


lernalgorithmus

Dies ist eine alte Version des Dokuments!


Perzeptron Lernalgorithmus

Topologie

* Gegeben:

  • Eingangsneurone $x_1$ und $x_2$
    • $x_3$ dieses Neuron hat immer den Wert 1.
  • ein Ausgabeneuron $y_1$ oder $o$ für Output.
  • Drei Gewichte $w_{11}$ , $w_{21}$, $w_3$
    • Das Gewicht $w_{31}$ hat immer den Wert $w_{31}=-0.1$ .

Die Schwelle θ wird durch ein konstantes Gewicht $w_{31}=−0.1$ festgelegt. Die Gewichte $w_{11}​$ und $w_{21}$ werden gelernt, um alle Trainingsmuster wiedergeben zu können.

Im Perzeptron kann anstelle der Schwelle ein Bias verwendet werden, da dieser als zusätzliches Gewicht modelliert wird, das mit einem konstanten Eingabewert von 1 multipliziert wird und dadurch die Schwelle direkt in die Gewichtsanpassung integriert.

Forward Pass

Unter dem „Forward Pass“ versteht man die Berechnung der Ausgabe eines neuronalen Netzes bei gegebener Eingabe und gegebenen Gewichten. Im ersten Schritt wird die Netzeingabe netnet berechnet. Anschließend wird darauf die Aktivierungsfunktion f(net)f(net) angewandt.

Forward Pass Berechnung der Netzausgabe $f(net)$ bei gegebener Eingabe.

Netzeingabe $net$

Allgemein gilt für die Netzeingabe. \begin{equation} net_j = \sum w_{ij} \cdot x_i \end{equation} Da wir nur ein Ausgabeneuron haben ist $net_j=net_1=net$ also folgt für drei Eingabeneuronen: \begin{equation} net = \sum_1^3 w_{1j} \cdot x_i = w_{11} \cdot x_1 + w_{12} \cdot x_1+ w_{13} \cdot 1\end{equation}

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“:

InputOutput t
$(0,0)$ 0
$(0,1)$ 0
$(1,0)$ 0
$(1,1)$ 1

Perzeptron lernen

m Folgenden wird ein Algorithmus vorgestellt, um beispielsweise das AND-Problem zu lernen und 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.

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üfen Sie, ob das UND-Problem korrekt gelernt wurde, indem Sie für alle Inputvektoren $(x_1,x_2)$ die Ausgaben berechnen. Passen Sie gegebenenfalls die Lernrate oder die Anzahl der Iterationen an, damit das Problem erfolgreich gelernt werden kann.

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