Perzeptron

Der US-amerikanische Informatiker und Psychologe Frank Rosenblatt hat 1958 nach dem Vorbild der Neuronen von Säugetieren das sogenannte Perzeptron als ein künstliches Modell zur Signalweiterleitung entwickelt. Perzeptron mit n Eingängen und Schwellenwert Theta Ein Perzeptron hat n Eingänge $x_1 , ... ,x_n \in \mathbb{R}$, die jeweils mit einer Gewichtung $w_1, ... , w_n \in \mathbb{R}$ versehen sind. Das Neuron feuert, wenn die gewichtete Summe der Eingangssignale über dem Schwellenwert (Treshhold, Bias) $\Theta \in \mathbb{R}$ liegt, wenn also für die Propagierungsfunktion $u$ gilt: \begin{eqnarray} u(\vec{x}) = \sum_{i=1}^{n} w_i x_i \ge \Theta \nonumber \end{eqnarray} Wird das Skalarprodukt verwendet und die Propagierungsfunktion mit $u$ bezeichnet, dann kann diese Gleichung elegant geschrieben werden als: \begin{eqnarray} u(\vec{x}) = \vec{w} \cdot \vec{x} - \Theta \ge 0 \nonumber \end{eqnarray} Mit der Treppenfunktion \begin{eqnarray} f_{0}(u) = \left\{\begin{array}{ll} 1 & u \ge 0 \\ 0 & u < 0\end{array}\right. \nonumber \end{eqnarray} erhält man für den Ausgang $y\in\{0,1\}$ des Perzeptrons dann: \begin{eqnarray} y(\vec{x}) = f_0 (\vec{w} \cdot \vec{x} - \Theta ) \nonumber \end{eqnarray} Das Perzeptron separiert den $n$-dimensionalen Eingangsraum mittels einer $(n-1)$-dimensionalen Hyperebene in einen Akzeptanz- und einen Ablehnungsbereich. Der Gewichtsvektor $\vec{w}$ zeigt in den Halbraum, für den das Perzeptron feuert, für den also $y=1$ gilt (Akzeptanzbereich).

Anmerkung

Alternativ (und äquivalent) wird oft das so genannte erweiterte Perzeptron verwendet. Perzeptron mit n Eingängen und Schwellenwert Theta Dabei wird der Schwellenwert in das Skalarprodukt integriert, indem der Gewichtsvektor und der Eingangsvektor wie folgt um eine Komponente erweitert werden: \begin{eqnarray} \vec{w} = \left( \begin{array}{c} -\Theta \\ w_1 \\ \vdots \\ w_n \end{array} \right) \qquad \vec{x} = \left( \begin{array}{c} 1 \\ x_1 \\ \vdots \\ x_n \end{array} \right) \label{eq:erweiterer_gewichtsvektor} \end{eqnarray} In diesem Fall erhält man für den Ausgang $y\in\{0,1\}$ des Perzeptrons dann \begin{eqnarray} y(\vec{x}) = f_0 (\vec{w} \cdot \vec{x} ) \qquad \textrm{wobei jetzt} \qquad \vec{w}, \vec{x} \in \mathbb{R}^{n+1} \nonumber \end{eqnarray} Das erweiterte Perzeptron hat den Vorteil, dass der Schwellenwert nicht gesondert betrachtet werden muss, sondern automatisch bereits in dem erweiterten Gewichtsvektor integriert ist. Wird zur Implementierung eine Programmiersprache verwendet, die das Skalarprodukt zur Verfügung stellt, so wird der Quelltext dadurch kürzer und übersichtlicher. In Python kann man dazu die Bibliothek NumPy verwenden.
X

Fehler melden

X

Suche