Im Folgenden wird der Lernalgorithmus für das einfache Perzeptron beschrieben. Um das Prinzip zu verstehen, werden lediglich zwei Eingangsneuronen und ein Ausgangsneuron verwendet. Mithilfe des Lernalgorithmus kann dann (z. B. in Java) gezeigt werden, dass einfache Probleme wie das UND-Problem gelernt werden können.
Die Schwelle θ wird durch ein konstantes Gewicht (in unserem Beispiel) $w_{31}=−0.1$ festgelegt. Nur 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.
Der Zusammenhang zwischen Schwelle und Bias kann mathematisch gezeigt werden, was an anderer Stelle erfolgt.
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 $net$ berechnet. Anschließend wird darauf die Aktivierungsfunktion $f(net)$ angewandt.
Allgemein gilt für die Netzeingabe des Neuron $j$: \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_{i=1}^3 w_{i1} \cdot x_i = w_{11} \cdot x_1 + w_{21} \cdot x_2+ w_{31} \cdot 1\end{equation} Dabei wird verwendet, dass $x_3=1$ gesetzt worden ist.
Die Aktivierungsfunktion für das Perzeptron lautet:
\begin{equation} f(x)=\left\{\begin{array}{ll}0 : & x < 0 \\ 1 : & x\geq 0 \end{array}\right. \end{equation}
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 Trainingsmuster:
Input | Output t |
---|---|
$(0,0)$ | 0 |
$(0,1)$ | 0 |
$(1,0)$ | 0 |
$(1,1)$ | 1 |
Perzeptron Lernalgorithmus
Passen Sie gegebenenfalls die Lernrate oder die Anzahl der Iterationen an, damit das Problem erfolgreich gelernt werden kann.